egy termosztátor szeretnék készíteni: egy mega lenne az adatgyűjtő/kiértékelő/végrehajtó/web és ethernet server, hozzá 4 nano kapcsolódna akik adott időközönként közölnék a serverrel az általuk mért hőmérsékletet(W5100-as eth modulokkal).
A server programja egy módosított standard ChatServer mintaprogram. A kliens programjának az alapja pedig a telnetClient mintaprogram módosított változata.
A problémám a kommunikáció instabilitásával van.
A kliens oldaláról próbáltam eddig orvosolni a problémát a következő módon:
Kód: Egész kijelölése
...
if (!client.connected()) {
client.stop();
connct=false;
Serial.println("not connected");
}
if (!connct){
tcp_init();
}
void tcp_init(){
Ethernet.begin(mac, ip);
delay(1000);
if (client.connect(server, 502)) {
connct=true;
}
}
Gondolkodtam már szoftveres RESET-en, már ha egyáltalán van ilyen, de ez elég csúnya megoldás lenne.
Rossz mintát használok, rosszul közelítem meg a problémát?
mit javasoltok?
Köszi előre is!