Pages: [1] 2 3   Go Down
Author Topic: arduino+ php ?  (Read 1485 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Online Online
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Online Online
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

la parte interessante:

Code:
<?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...
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie mille smiley-grin
inizierò con i vari sketch di blink per spratichirmi un po' xD
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusa ma dove dichiaro che un pin è usato come output o come input?
Logged

0
Offline Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

scusa ma dove dichiaro che un pin è usato come output o come input?


Da nessuna parte. Dialogare con un device usb su protocollo seriale non permette di impostare i pin, per fare questo devi usare un software che fa questo lavoro, mi pare che tra gli esempi di arduino ci sia "firmata" con tanti esempi.

Che sia chiaro nessuno indifferentemente dal linguaggio usato può fare quello che cerchi tu senza un software dentro arduino.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

0
Online Online
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

in pratica tu adesso mandi messaggi ad arduino via seriale.

Ora devi fare un programma da caricare sull'arduino che legge la seriale e fa quello che deve fare  smiley-mr-green
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah quindi oltre a fare il codice in php che manda messaggi alla porta seriale, devo fare un programma per arduino che in base a quello che riceve sulla seriale fa quello che voglio che faccia ?
Cavoli sembra molto più difficile di quanto pensassi :S
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ah quindi oltre a fare il codice in php che manda messaggi alla porta seriale, devo fare un programma per arduino che in base a quello che riceve sulla seriale fa quello che voglio che faccia ?
Cavoli sembra molto più difficile di quanto pensassi :S
Logged

0
Online Online
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sì, devi fare così

non è difficile, alla fine a parte le funzioni che sono differenti, gli if, while, int, float, etc... sono sempre loro, sia in php che in C (aruino si programma in C e/o in C++)
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sisi il problema non è il php smiley-lol il problema è fare lo sketch in arduino che aspetta questi segnali, dovrò cercarmi una guida smiley-lol

Comunque GRAZIE MILLE smiley-grin
Logged

ivrea (to)
Offline Offline
Faraday Member
**
Karma: 76
Posts: 4609
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E' pieno il forum di esempi.
Ma mi permetto di consigliarti di mandare da php comandi semplici ad Arduino.
Esempio semplici comandi del tipo 'S' oppure 'A'  (lettere singole) e non comandi del tipo "stop", "accendi", etc.
In C potresti incasinarti nel cercare di gestire le stringhe. Molto più semplice invece lavorare con i singoli caratteri.

Logged

my name is IGOR, not AIGOR

Offline Offline
Sr. Member
****
Karma: 0
Posts: 423
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho trovato sul web che anche con javascript si puo comunicare con la porta seriale.
Quindi direi che è più comodo essendo un linguaggio lato client smiley-grin
Logged

0
Online Online
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

dipende, prerchè javascript si collega alla seriale del CLIENT e non del server. Quindi se il javascript gira sul pc con arduino collegato allora ok, ma se, per esempio, da cellulare o da lavoro ti colleghi al server allora il javascript non funziona (o meglio, cerca la seriale del pc di lavoro/cellulare)
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1] 2 3   Go Up
Jump to: