Arduino client/server - php - mysql

Ciao a tutti.

Avrei necessità di realizzare un sistema nel quale Arduino possa andare costantemente a leggere un valore in un db e , in base a quello fare delle azioni.

Esempio

Arduino n.1 - acquisisce dati da sensori di conducibilità suolo , temperature , irradiazione solare e le invia tramite pagina php a db mysql.

Arduino n.2 - richiama script php su webserver che verificheranno alcune condizioni ( es. Tempo dall'ultima irrigazione , stato del suolo , temperatura ecc ed effettua un calcolo per la durata dello stato "acceso")

Se lo script calcola che sia necessaria un'irrigazione , ritornerà un byte true all'arduino che azionerá delle pompe di irrigazione e una stringa per la durata stimata dell'irrigazione.

Credete sia realizzabile in questo modo? É meglio effettuare chiamate dirette ad un db?

Ben accetti consigli di ogni genere per sviluppare al meglio ciò di cui avrei bisogno.

La progettazione mi interessa più del codice al momento: un programma ben pensato richiede molto meno tempo e crea molti meno problemi

Grazie !!

Arduino è molto lento a stabilire una connessione verso un server esterno, impiega 5-6 sec circa per fare una richiesta e qualche altro per leggere la risposta, in questo tempo il micro è bloccato, inoltre la funzione client stabilisce con successo 8 connessioni su 10, due le fallisce con timeout di circa 30 sec dove il micro è in stato di paralisi totale.
Se arduino deve gestire molte cose velocemente e nello stesso tempo deve fare continue connessioni remote verso un server (appunto a un DB) per sapere se fare o non fare una cosa, è una cattiva idea.
Opzione: connessione tipo UDP senza troppi controlli di flusso e senza troppe negoziazioni.

Le funzioni DHCP e EthernetClient fanno veramente pena in questa IDE, sarebbero da rivedere e sistemare alcuni bug

**>Lugh84: ** ciao, essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

pablos:
...

Ti ringrazio per la risposta,

Il server web girerebbe su una rete locale , il problema della lentezza in realtà non si pone dato che sarebbero cicli di 2 - 3 minuti...

Per questo pensavo di usare un Arduino solo per richiamare la pagina php e leggerne la risposta per stabilire se il pin deve essere high o low...

Così la parte di elaborazione dati e controlli vari la farei con php...

Dici che sarebbe comunque meglio utilizzare protocollo udp per le connessioni da e verso il server con php?

Bhe, in questi caso può andare se si tratta di un dato ogni tanto, ma tu hai parlato di database e si suppone che un DB abbia tanti dati... Però puoi fare delle prove hai diversi esempi sia sull'ide che nel forum sia con webclient che con udp