Anzitutto grazie per la pazienza,
In quanto ad altri prodotti , la Moxa fa' anche molta roba che sicuramente soddisferebbe le tue esigenze , ma forse con costi non adatti alla applicazione
Non ho ancora capito cosa vai ad inviare pero'
Allora in sostanza collegherei un quadro custom di una nostra macchina ad un client TCP/IP che possa essere qualsiasi applicazione (mobile, desktop, webapp ecc...).
Come test premetto che ho creato due applicazioni, una su windows moblie connesso in WiFi ed una desktop in ambiente Microsoft. Entrambe funzionano.
Il computer di controllo e', in via boncciona, stupido, e non fa altro sche scaricare diverse informazioni sulla 485, niente di piu'. L'arduino prima le interpreta ed esegue un polling su queste per, tracciare lo stato reale della macchina ed effettuare il log.
Cio' che invia sono dei bytes, che rappresenta la risposta ad una richiesta in TCP. Quindi ho costrouito un protocollino, molto ino. Per prima cosa deve connettermi alla periferica, dall'applicazione, tramite una password salvata su EEPROM.
Se tutto va bene, ottengo un id che stabilisce la comunicazione che scambiano le informazioni. A comunicazione instaurata l'arduino rifiuta tutto cio' che non sia di qiella comunicazione. A questo punto effettuo diverse richieste di ...ping che varia in base alle richiesta. L'arduino non fa altro che comunicare i dati. Oltre a tutto questo, posso scaricare un file di LOG di un giorno dell'anno.
Qua ho studiato una piccola variante per gestire il trasferimento dei dati.
Tutto funziona. E' ovvio che se chiedo il file, non pingo. E cosi' come funziona e' cio' che mi aspetto, hanno gia' visionato i risultati e hanno tutti aprezzato.
La risposta al client e' fedele e abbastanza immediata. Poi se a scaricare il file di log ci metto anche 1 ora, non importa (che comunque in un giorno di lavoro non passa il MB, e' un CSV). E va a giorno, perche' se il giorno cambia, anche il file cambia. Addirittura se spengo e riaccendo la macchina nello stesso giorno, il log prosegue. Per questo ho marcato ogni file con l'anno scritto all'inizio (se e' dello stesso anno continua a scrivere, altrimenti cancella il file e ne crea uno nuovo con l'anno attuale).
Questo a grandi linee e' cio che fa l'arduino. Dal marasma di dati che vengono dal computer, li ordina e confeziona il tutto.
Il rate per la quale si producono dati e' ben diverso da quello che il Client pinga (ogni 500 ms).
Non so se sono stato chiaro.