Go Down

Topic: arduino+ php ? (Read 1 time) previous topic - next topic

toti94

Ragazzi leggendo sul web ho scoperto che è possibile comandare arduino usando il php e senza usare lo shield ethernet.
Si deve usare una classe del php chiamata php_serial.
Voi l'avete mai usata? sapete se funziona a dovere?
Vorrei implementare delle funzioni sul mio sito web che possano comandare, o gestire un progetto (anche un semplice cubo led) fatto con arduino.
Avete qualche consiglio?
Grazie

lesto

sì, in pratica usi la posta seriale per comunicare con l'arduino, che poi è la porta USB che simula una seriale.

Più di una personal'ha usata con successo sia su win che linux, quindi se fai una ricerca trovi qualcosa
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

toti94

ho fatto una ricerca ma mi da mille risultati e nessuno soddisfacente xD
sapresti per caso linkarmi una buona guida?
Grazie comunque :)

lesto

https://code.google.com/p/php-serial/source/browse/trunk/example.php?r=11

la parte interessante:

Code: [Select]
<?php
include "php_serial.class.php";

// Let's start the class
$serial = new phpSerial;

// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("COM1");

// We can change the baud rate, parity, length, stop bits, flow control
$serial->confBaudRate(2400);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");

// Then we need to open it
$serial->deviceOpen();

// To write into
$serial->sendMessage("Hello !");

// Or to read from
$read $serial->readPort();

// If you want to change the configuration, the device must be closed
$serial->deviceClose();

?>


con deviceSet devi mettere la porta chescegli per programmare arduino. Occhio che solo un programma alla volta può accedervi, quindi se stai parlando via web non puoi programmare o usare il serial monitor, e viceversa.

confBaudRate è il baudrate, di solito si usa 9600, ma dipende dai tuoi scopi. 9600baud = 9600/10 = 960 Byte/s.. lentino, no? ma più che sufficiente in molti casi.

i vari conf[..] sono corretti così, si tratta della configurazione 8N1, il default della Serial (anche quì, salvo che non parli con vecchissime macchine al 99% si usa questo)

sendMessage e readPort sono molto quasi la read e la write che usi con l'arduino...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

toti94

grazie mille :D
inizierò con i vari sketch di blink per spratichirmi un po' xD

Go Up