Panowie żebyśmy się dobrze zrozumieli. Ja chcę mieć komunikację typowo UDP. Moduł Atnel-WiFi jest jak gdyby interfejsem RS232-Ethernet.
Sterownik nie chcę odpytywać po RS tylko po udp. Sterownik ma kartę ethernet i on czeka aż wleci jakiś pakiet. Jak nadejdzie to jest od razu traktowany funkcją:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jak odpowiednio zinterpretuje nagłówek to podejmuje odpowiednie czynności i jeśli np zaczyna się 21^ to odsyła również po udp odpowiedź z aktualnym czasem sterownika np 21^2016^03^08^09^25^30^. W powtarzaczu również czeka podobna funkcja parsująca, która stwierdza na podstawie początku do pierwszego tokena, że przyleciał czas a nie odczyt temperatur czy aktualne nastawy. Tylko sprawa wygląda tak, że sterownik odpowiada po udp, leci to do wifi, ale z wifi to już nie jest udp tylko RS232. W powtarzaczu nie ma już:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
tylko
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
gdzie do odbioru stringa używam void serialEvent() {...}
Problemem jest to, że co mi wypluje WiFi na RX arduino to samo pojawia się na TX i WiFi odsyła ponownie to co otrzymał. Moduł WiFi jest sprawny to dziwne zachowanie arduino i podejrzewam, że spowodowane jest funkcjonalnością szeregowego monitora, który działa tak a nie inaczej. Myślałem tylko, że jest to problem do przeskoczenia. Ewentualnie pozostanie mi przeprogramować sterownik tak by innymi tokenami odpytywać a zupełnie innymi odpowiadać, ale problem gdzieś tam jednak pozostanie.