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
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 presentartiQUI (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.
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