Witam,
Natknąłem się na problem, z którym nie bardzo mogę sobie poradzić (przynajmniej w rozsądnym czasie, jestem bardzo zielony w C#), stąd też proszę was o pomoc - może ktoś będzie wiedział jak to rozwiązać.
Sytuacja jest następująca:
Mam mikrokontroler (aktualnie ATmega8) wraz z różnymi czujnikami oraz moduł WiFi (ESP8266) i potrzebuję dane z tych czujników zapisać(przez wifi) do bazy danych. Wstępny pomysł był taki, że obsłużę komunikację mikrokontrolera i modułu wifi tak, by po wejściu na adres ip tego modułu w przeglądarce zostały wyświetlone dane z czujników - to zostało zrobione i działa. Później chciałem dorobić aplikację w C#, która będzie co jakiś czas "zaglądać" pod adres ip modułu i pobierać dane które prześlę. Użyłem:
using System.Net;
WebClient client;
client = new WebClient();
client.DownloadString(ip);
Tutaj pojawia się problem. W przypadku gdy postawię za pomocą xamppa stronę i w aplikacji C# wskażę adres tej strony - wszystko działa ok. Jednak gdy wskażę ip modułu wifi pojawia się wyjątek:
Treść strony jaką wysyła moduł wifi, jest identyczną z tą jaką stawiałem na xampp. Mam też pewność, że moduł ją wysyła:
Mamy tu komunikat "SEND OK" - wysyłanie danych z modułu przebiegło poprawnie. Komenda "AT+CIPCLOSE=0" wysyłana jest z ATmegi do modułu wifi, nieco poniżej widzimy "OK" sygnalizujący poprawne zamknięcie połączenia. W momencie, gdy połączenie jest zamykane, w C# pojawia się wcześniej pokazany wyjątek.
Podsumowując:
Aplikacja C# odczytuje poprawnie dane ze strony postawionej na xampp. Aplikacja C# nie odczytuje poprawnie danych ze strony(takiej samej) postawionej na module wifi. Przeglądarka www poprawnie odczytuje dane ze strony postawionej na module wifi.
Ktoś ma jakiś pomysł jak to rozwiązać, ewentualnie inaczej zrealizować zadanie?
Pozdrawiam i z góry dziękuję za pomoc.