Buongiorno a tutti,
ho uno sketch che gira su di un Arduino con librerie <Ethernet.h> e <EthernetUdp.h> per inviare dati letti dalla seriale (modbus rtu) in UDP verso un altro Arduino.
Il tutto funziona correttamente.
Oltre alla comunicazione in lan, ho provato ad utilizzare la connessione wifi per testare il servizio IoT Cloud di Arduino ed inviare alcuni dei valori letti.
Premetto che ho eseguito correttamente la procedura di registrazione dell'arduino nel cloud (Devices, Dashboard, Things ecc) e creato un semplice sketch dove ad ogni giro sommo "1" ad una variabile e vedo correttamente nell'app IoT Remote di Arduino aggiornarsi i valori.
Arrivo quindi all'inghippo.
Quando passo dallo sketch di prova allo sketch completo di tutte le letture, l'Arduino NON si registra e arrivato ad un certo punto, si riavvia.
Ho isolato parti di codice per ragionare su quale poteva essere l'intoppo e ho notato che editando:
/*
Ethernet.begin(mac, ip);
Serial.print("Indirizzo di Arduino: ");
Serial.println(Ethernet.localIP());
Udp.begin(protoPort);
*/
l'arduino non si riavvia più ed esegue il codice, MA ovviamente non lavora nell'invio dei dati in lan.
Sembra quindi un problema di "coesistenza" tra la LAN e WIFI.
Forse una questione di doppio IP (fisso per la LAN e in DHCP per WIFI) non gestito correttamente?
Vostre esperienze?
Grazie