wifi232 - wyjście z trybu transparentnego

Pozostałe układy mikrokontrolerów, układy peryferyjne i inne, nie mieszczące się w powyższych kategoriach.
Awatar użytkownika
Marcin
User
User
Posty: 162
Rejestracja: środa 09 wrz 2015, 19:30

wifi232 - wyjście z trybu transparentnego

Postautor: Marcin » sobota 07 lip 2018, 12:59

Witam

Mam na stole moduł wifi232. Napisałem do jego testowania skromną aplikację pod windows.

Moduł po uruchomieniu jest w trybie transparentnym, aby wejść do trybu at zgodnie z instrukcja wysyłam +++ i w odpowiedzi na 'a' wysyłam 'a'. I to działa, po przejściu do trybu at mogę wysyłać dowolne polecenia AT. Przejście do trybu transparentnego następuje po wysłaniu komendy AT+ENTM.

Poniżej przykład komunikacji i wysyłania danych do serwera

Przechwytywanie.PNG


Problem napotykam na pkt 9, ta sekwencja +++ jest traktowana jak poprzednia paczka danych (z pkt 7) i wysyłana do sieci.
Samo wysyłanie danych działa, po stronie serwera sprawdzałem i ciąg bajtów jest taki jak oczekiwano, czyli zgodny z tym co wyszło z wifi232.
Ale gdy pominę pkt 7 i 8 to ciąg znaków +++ powoduje przełączenie modułu to trybu at.

Dlaczego po rozpoczęciu transmisji do sieci moduł każdy nadesłany siąg znaków (w tym przypadku +++) traktuje jako paczkę przeznaczoną do wysłania danych ?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
xor
User
User
Posty: 137
Rejestracja: poniedziałek 05 wrz 2016, 21:44

Re: wifi232 - wyjście z trybu transparentnego

Postautor: xor » sobota 07 lip 2018, 14:08

"To switch from data mode to command mode, sessions sent an escape sequence string of three plus signs ("+++") followed by a pause of about a second. The pause at the end of the escape sequence was required to reduce the problem caused by in-band signaling: if any other data was received within one second of the three plus signs, it was not the escape sequence and would be sent as data."

https://en.wikipedia.org/wiki/Hayes_command_set#+++

Awatar użytkownika
Marcin
User
User
Posty: 162
Rejestracja: środa 09 wrz 2015, 19:30

Re: wifi232 - wyjście z trybu transparentnego

Postautor: Marcin » sobota 07 lip 2018, 15:06

Dodałem przed wysłaniem +++ instrukcję Thread.Sleep(1000) powodującą wstrzymanie wątku na 1000ms.
Jeszcze przed wysłaniem +++ należy odczytać zawartość bufora.

I teraz wygląda na to że działa poprawnie.

Dzięki za info, przejrzałem manual wifi232 ale nie ma tam takiej informacji.

Awatar użytkownika
GrumpyRez
Newb
Newb
Posty: 38
Rejestracja: poniedziałek 04 cze 2018, 09:19

Re: wifi232 - wyjście z trybu transparentnego

Postautor: GrumpyRez » niedziela 08 lip 2018, 09:27

Coś słabo szukałeś......

In order to exit from Data mode to AT command mode, you have to write +++(0x2B 0x2B 0x2B)
without any followed char during more than 2 seconds.


Wróć do „Inne mikroklocki, również peryferyjne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość