Stabilność ESP8266

W dniu 2015-01-29 o 14:13, Marek pisze:

Hmm... W takim razie coś takiego z grubsza już kiedyś robiłem. W jednym z projektów zachodziła konieczność cyklicznego wysyłania żądania aktualizacji NTP oraz uploadowania paru danych na serwer. Układ wykorzystywał ENC28J60 wraz ze stosem Tuxgraphics, a więc nie było możliwości przeprowadzenia większości operacji automatycznie, w tle.

Trzeba było przy tym sprawdzić kilka warunków:

- Czy w konfiguracji podano numer IP celu, czy też nazwę hosta do rozwiązania przez DNS.

- Czy cel znajduje się w naszej sieci, czy gdzieś w Internecie (od tego zależało jakiego adresu MAC użyjemy w kolejnym etapie). Oznaczało to konieczność odpytywania stosu o różne rzeczy, w dodatku trzeba było pilnować, aby kolejne wywołanie nie szło przed zakończeniem poprzedniego.

Zrobiłem to właśnie przez dwie zmienne (jedna dla NTP, druga dla klienta TCP), które pilnowały na jakim etapie obecnie znajduje się operacja. W pętli głównej podejmowana była odpowiednia akcja, stosowanie do stanu zmiennej.

Reply to
Atlantis
Loading thread data ...

To jest nowa wersja softu, który był oryginalnie czy to jakaś alternatywa?

Reply to
Marek

W dniu 2015-01-30 o 13:50, Marek pisze:

Zdaniem ludzi z elektroda.pl to oficjalny soft. Niemniej trudno powiedzieć - w tej materii z tego co widzę panuje spory bałagan, a lepszej dokumentacji brak...

Reply to
Atlantis

Chciałbym sie przy okazji podczepiś do wątku o tym module i zadać pytanie.

Interesuje czy ten moduł ma takie właściwości, że może być serwerem z ustalonym IP i się łączymy się do niego po telnecie i to co on odbierze przez sieć to wypluwa na rs232 i odwrotnie, taki konwerter sieć<->rs232?

jp

Atlantis wrote:

Reply to
jacek pozniak

W dniu 2015-01-30 o 15:57, jacek pozniak pisze:

Nie do końca. To znaczy o ile mi wiadomo moduł nie ma trybu "przezroczystości", tak jak w najpopularniejszych modemach GSM - zestawiasz połączenie między urządzeniami i od tego czasu modem zachowuje się jak "kawałek kabla", po prostu przerzucając bajty z jednej strony na drugą.

Wszystkie przychodzące dane pojawiają się w terminalu wraz z komendą do sparsowania:

+IPD=<x>,<y>:<dane>

Gdzie x to numer socketa, y oznacza ilość odebranych danych, a dane to odebrany ciąg. Możesz też ustawić tryb, w którym obsługiwane jest tylko jedno połączenie w danym czasie - wówczas rezygnujesz z pierwszego parametru.

Moduł może pracować jako serwer i nawet całkiem wygodnie stawia się na nim telnet - uruchamiasz serwer, a każdy kolejny klient zajmuje sobie kolejny wolny socket. Każda wysłana linijka przylatuje do ciecie jako IPD.

Reply to
Atlantis

No i oczywiście moduł niczego nie wypluwa po RS232, ale po UART z poziomami logicznymi 3,3V. Podłączając go do RS232 bez konwertera zniszczysz go natychmiast.

Reply to
Atlantis

Dzięki, tak mogłoby być, dane to ja sobie poobieram z tych nagłówków.

Dzięki jp

Reply to
jacek pozniak

W dniu 2015-01-30 o 16:43, jacek pozniak pisze:

Jak robisz prostą komunikację w rodzaju telnetu, gdzie pojedyncze polecenie zamyka się w jednej linijce, to nie ma problemu. Możesz sobie nawet odpuścić liczenie napływających znaków i porównywanie tej liczby z parametrem po IPD. W miarę bezpiecznie można założyć, że \r\n kończy nam całą ramkę. Trochę gorzej z bardziej skomplikowanymi protokołami, jak HTTP.

Reply to
Atlantis

Nie, tylko trochę danych; zapytanie z komputera 6 bajtów i odpowiedź z urządzenia z podłączonym tym modułem, max 256 bajtów. To chyba powinien dać radę?

jp

Reply to
jacek pozniak

Tylko, że to dane binarne. jp

Reply to
jacek pozniak

W dniu 2015-01-30 o 20:53, jacek pozniak pisze:

Hmm... Pisałeś o telnecie, a telnet działa w oparciu o ASCII. W takim razie będziesz musiał pilnować liczby odczytywanych bajtów po wystąpieniu komendy "+IPD".

Reply to
Atlantis

Jak odpowiada ten moduł na polecenie inicjujące połączenie tcp/udp? Czy też ma sekwencje 2 odpowiedzi (najpierw OK a gdy połączenie zostanie wystawione id, CONNECT OK) ?

Reply to
Marek

No tak, skrót myślowy dla połaczenia typu rura.

To nie będzie problemem.

Dzieki za info jp

Reply to
jacek pozniak

W dniu 2015-02-03 o 11:15, Marek pisze:

<id>, CONNECT\r\n \r\n OK\r\n
Reply to
Atlantis

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.