Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 12 gru 2024, o 00:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 
Autor Wiadomość
PostNapisane: 29 mar 2017, o 16:36 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Witam, to mój pierwszy post na forum. Kupiłem ostatnimi czasy moduł WIFI232 i zaimplementowałem go w swój projekt. Urządzeniem steruję z aplikacji napisanej w C#. Z poziomu mikroprocka przełączam moduł pomiędzy komendami AT oraz trybem transparentnym. Moduł wykorzystuję do wysyłania danych pomiarowych do apki w C# natomiast odbieram z niej komendy sterujące urządzeniem. Dodatkowo wrzuciłem sobie zapytanie o czas z NTP, po czym parsuję go i zapisuję w RTC. Problem polega na tym, że gdy wysyłam z procka do wifi dane (zwykły string) w tym samym czasie odbieram z wifi same krzaki, typu "/T3sa f 3 " itd. Każde wysłanie danej do modułu to odebranie krzaków. Dodam, że dzieje się tak w momencie gdy tryb działa w trybie transparentnym, nie ma czegoś takiego w trybie komend AT. Generalnie logika programu działa tak, że najpierw wysyłam zapytanie o czas, parsuję go, wracam do trybu transparentnego. Po odebrainu +ok po komendzie AT+ENTM czekam w razie czego 5s aby moduł zdążył się przełączyć. Po upływie tego czasu wysyłam dane (string) po protokole UDP (255.255.255.255, port 3535). Problem nie jest nagminny...najbardizej zastanawia mnie to, że raz moduł działa prawidłowo godzinę, dwie lub 10 godzin, a potem nagle zaczyna odbierać krzakory wraz z każdym wysłanym stringiem z procka.

Sprawdzałem:
- czy dochodzi do sytuacji, że przy nadawaniu siada napięcie 3,3V - NIE
- oscyloskopem sprawdzałem te krzaki, analizatorem stanów logicznych
- sprawdzałem czy na pewno baudrate w procku ma prawidłową wartość (rozbieżności kwarcu, błąd) - jest OK
- czy wyłączenie wysyłania danych z procka do wifi powoduje przestanie odbierania krzaków - TAK
- myślałem, że problem może tkwi w wysterowaniu pinu RX procka (STM32F0), tzn. jeśli atnel wifi ma skonfigurowane w swoim sofcie, że RX jest podciągany do +vcc, to w procku ustawię jako input float, a nie podwójne podciąganie, ale to też nic nie zmieniło, generalnie przekonfigurowanie RX na PushPull, czy open drain w procku - efekt ten sam

Brak mi totalnie pomysłów dlaczego dzieje się coś takiego. Uważam, że z tym modułem przesiedziałem kilka miesięcy, początkujący nie jestem, dlatego dziwi mnie teraz takie zachowanie. Ktoś może miał coś podobnego ? Potrafi poradzić ? Z góry dzięki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 17:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

to jest ATNEL-WIFI232-T czy inny WIFI232 ? wypadałoby podać jakieś szczegóły sprzętowe

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 19:21 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Jest to moduł ATNEL-WIFI232-T, baudrate z procem 230400



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 20:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 sty 2014
Posty: 243
Pomógł: 9

A dla innych prędkości sprawdzałeś np 115200?

_________________
http://www.ate-zbaszyn.eu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 20:46 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

dokładnie o to samo chciałem zapytać

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 21:01 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Sprawdzałem dla prawie wszystkich prędkości, kończywszy na 9600. Screen z wiresharka pokazuje, jak wysyłam co sekundę prosty string po UDP, natomiast screen z putty przedstawia to, co odbieram z wifi. Zastanawia mnie, dlaczego w odbieranych krzakach pojawia się słowo "END", które w moim protokole oznacza koniec ramki. To wygląda tak jakby powstawało jakieś "echo", ale echem tego nazwać nie można. Dodam, że ilość danych przychodzących z "wifi" jest tak duża, ze nawet terminal na windowsie się wiesza.

ObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 21:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

zrezygnuj z broadcastów przynajmniej do testów bo być może właśnie wąż zjada własny ogon i masz mega śmietnik w sieci. Wysyłaj na konkretny adres IP

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 21:47 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Wpisałem na szybko adres IP swojego kompa i niestety nie ma zmian.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 21:51 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

a jak masz w ogóle skonfigurowany wifi ? pokaż zrzuty ekranu z konfiguracji

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:04 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

stm90wrocek napisał(a):
...wysyłam co sekundę prosty string po UDP

Czy po wysłaniu jednego pakietu, a nie ciągłej transmisji masz taki sam efekt?
Pewnie to naiwne pytanie, ale od tego bym zaczął diagnostykę, bo może ten śmietnik to np prośba o ponowienie transmisji z jakiegoś innego urządzenia.
Więc dla pewności możesz jeszcze spróbować zmienić port.
Ja bym jeszcze posłuchał wiresharkiem co moduł faktycznie wysyła, bo terminal windziany to diagnostyki sieci niezbyt się nadaje.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:07 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Moja sieć to zaznaczona na liście "DamianWiFi". Taki efekt mam podczas ciągłej transmisji, czyli latające dane ze sterownika w "eter" co 1s. W wiresharku właśnie sęk tkwi w tym, że dane z wifi wysyłane są prawidłowo...Czyli, wysyłam z procka pakiet do modułu wifi, ten wysyła je dalej i na wiresharku widzę, że wszystko jest ok. Na tym samym porcie nie widzę, aby cokolwiek innego szło prócz tych danych, więc moduł wifi fizycznie NIC nie odbiera, a jednak na TX wifi (RX procka) jest jakiś miszmasz

ObrazekObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:16 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

stm90wrocek napisał(a):
Wpisałem na szybko adres IP swojego kompa i niestety nie ma zmian.


no i gdzie ty ten adres wpisywałeś skoro masz moduł skonfigurowany na broadcasta ... wyłącz brodacasta, zmniejsz prędkość do 115200 i porób normalne testy najpierw

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:23 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Robiłem screeny, po przywróceniu na broadcast. Teraz ustawilem baudrate na 115200 + adres IP kompa i nie ma żadnej zmiany.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:29 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Na screenie z wiresharka jak byk widać że nasłuchujesz transmisji wychodzącej z wifi. A jest potrzebny ruch w drugą stronę.
Możesz spróbować metody na garnek, wtedy będzie wiadomo czy wogóle odbywa się jakaś transmisja eter -> wifi, czy to coś z komunikacją wifi-procek.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:32 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Harry, a po samym porcie - w moim przypadku 3535 nie będę miał jakiegokolwiek ruchu na wifi ? odbiór/nadawanie ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:44 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Jakaś transmisja może być, ale nie powinno być tego zbyt dużo, chyba że lodówka będzie się domagać napełnienia ;)
A co do metody garnkowej, to tak się resetuje gpsy - wyślij co masz wysłać i nakryj moduł garnkiem i wtedy zobacz czy coś odbierasz z modułu, bo do wifi napewno nic nie dociera.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 22:47 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

OK, zrobię z garnka klatkę Faradaya i jutro zobaczę co i jak. Póki co filtrując po adresach src, dst, adresie mac nie widzę aby cokolwiek było wysyłane do wifi, albo źle to robię. Dzięki za dzisiejszą dyskusję



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2017, o 23:12 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Może być też tak, że twoja karta wifi może nie potrafić nasłuchiwać transmisji która nie jest przeznaczona dla niej.
Normalnie używa się do tego analizatorów sieciowych, ale jak mówiłem spróbuj z klatką i wtedy będzie wiadomo czy odbierasz poprostu śmietnik z otoczenia, czy masz problem z samym połączeniem wifi-uC. Najlepiej by było jakbyś podłączył moduł bezpośrednio, tzn przez przejściówkę rs232, czyli z pominięciem procka - będzie wiadomo czy problem leży po stronie karty czy coś z kodem jest nie tak.
Dopóki nie zrobisz takiej diagnostyki, to będzie to wyglądać tak że każdy będzie miał swoje racje - Ty staniesz po stronie kodu, Mirek po stronie sprzętu ;)

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2017, o 07:32 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Wczoraj robiłem już taki test, podłączyłem sobie moduł wifi bezpośrednio przez przejściówkę FTDI do kompa, przez program terminal ustawiłem testowy ciąg znaków składający się z 250 bajtów i wysyłałem go do modułu co 1s. Efekt? Żadnych krzaków. Odtworzyłem też scenariusz taki jak w procku, czyli:

- przechodzę w tryb komend AT
- wysyłam zapytanie o czas
- po poprawnym odebraniu czasu wracam do trybu transparentnego
- czekam 5s
- wysyłam testowe bajty co 1s

Również nie zauważyłem żadnych krzaczków. Co do medium na którym nasłuchiwałem w wiresharku to karta ethernet w kompie.

EDIT:
Najprawdopodobniej są dwa błędy...Po pierwsze, wypadałoby najpierw sprawdzić, czy użyty przeze mnie port UDP nie jest używany przy jakimś protokole sieciowym. Otóż port 3535 jest używany
http://www.networksorcery.com/enp/protocol/ip/ports03000.htm
http://www.adminsub.net/tcp-udp-port-finder/3535

Aktualnie wybrałem port 59595, z tego co widziałem w necie powyżej portu 49151 nie jest nic używane, więc do zakresu 65535 będzie najbezpieczniej. Drugi błąd, który zauważyłem, prawdopodobnie po stronie apki w C# jest skopane wysyłanie po UDP oraz zamykanie portu. W przypadku gdy coś pójdzie nie tak i port nie zostanie zamknięty wraz z wyjściem z apki, nadal wisi proces i być może on sieje jakieś straszne śmieci.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2017, o 11:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

No i widzisz jak sam sobie rozwiązałeś problem ;) ... a od takich testów to się zaczyna panie kochany - gdy coś nie działa - zamiast wymyślać że coś a to z prockiem nie tak a to z modułem itp itd ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2017, o 14:29 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Niestety problem jest nadal. Zmieniłem kanał na 2, port na wspomniany 59595. Po 7 godzinach pojawiły się krzaki, przyszło kilka tysięcy bajtów, ale już dlaej nic nie ma. Może jest tak, że mieszkając w bloku, gdzie wyszukuje mi kilkadziesiąt sieci WiFi powstaje jakiś syf w kanałach ? Przesłuchy, itd. Może mam pecha i trafiłem akurat na ten port gdzie jest znów jakiś ruch ? Dziwne jest to, że takie coś dzieje się bardziej w godzinach popołudniowych...tak jakby naprawdę "setka" innych siedzi w bloku powodowała jakiś niewytłumaczalny syf. Dalej kombinować z portami ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2017, o 14:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27315
Lokalizacja: Szczecin
Pomógł: 1041

Nie no zaraz - pisałeś sam, że gdy miałeś podpięty moduł wifi na przejściówce USB/RS232 to nie było żadnych śmieci ....

więc nie ma co raczej wymyślać, że jakiś syf bo blok i nie wiadomo co się dzieje - bo taką metodą to nie za wiele dojdziesz do wniosków - poza tym, że wyjaśnisz sobie że dzieją się jakieś czary-mary

Moduł wifi jest podłączony do JEDNEGO routera i to (mam nadzieję) z szyfrowanym połączeniem (a nie do sieci otwartej) ... więc nie ma co wymyślać, że z jakichś innych sieci w bloku dostajesz jakieś tam śmieci ...

Zrób prosty test - podłącz moduł przez przejściówkę USB/RS232 żeby był skonfigurowany na konkretny IP i wysoki numer portu np powyżej 50 tys - i niech sobie to działa nawet cały dzień i noc - i zobaczysz czy coś doleci na terminal czy nie .... No prostszego testu to już być nie może ....

Jak NIC NIE DOLECI - to powiedz mi jaki jest sens wtedy wymyślać, że blok, że pełno sieci, że jakiś syf lata? Nie - jeśli to później podłączasz do procka i masz całkiem inne rezultaty to znaczy, że gdzieś ty robisz błąd i należy go tylko znaleźć.

Chyba że w wyniku tego testu o którym pisałem wyżej - po całym dniu i nocy - coś odbierzesz dziwnego na terminalu - wtedy będzie o czym dyskutować i będzie to jakaś ciekawostka nawet do rozważań dalszych.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 mar 2017, o 17:03 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Zabawa z portami niema żadnego sensu, jeżeli nie masz w sieci nic co pracuje na tym porcie. To że port jest oznaczony jako zarejestrowany to tylko dlatego że to jest pewien standard, dla innych aplikacji/usług. Ale nikt nie brobi ich używać, np ja miałem w pewnej instytucji wystawiony ftp na porcie 666, raczej bym się nie spodziewał że będą grali w dooma po sieci ;)
Zrób jak Mirek mówi, zostaw na pół dnia i zobacz, jeżeli nic nie przyjdzie to wg mnie masz problem w kodzie. Może jakiś bufor się nie opróżnia, bo np za krótki czas masz ustawiony i po kilku godzinach jak układ zmieni temperaturę zaczynają się jaja. Jak kiedyś pisałem aplikację do zdalnej obsługi serwera to żyłowałem czasy bo przecież chodziło, aż któregoś dnia przy większym obciążeniu systemu spotkała mnie podobna niespodzianka jak u Ciebie.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 08:38 
Offline
Nowy

Dołączył(a): 29 mar 2017
Posty: 11
Pomógł: 0

Dzięki za dalsze odpowiedzi, moduł podłączony bezpośrednio do kompa przez przejściówkę. Zostawię go tak nawet na kilka dni



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2017, o 22:33 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam,

Dopiero teraz dostrzegłem ten wątek. Kolego stm90wrocek, kiedyś miałem u siebie podobny efekt. Niestety już teraz dokładnie nie pamiętam, co dokładnie namieszałem, ale problem występował przy przechodzeniu z trybu komend AT na tryb transparentny- głowy bym nie dał, ale z tego co pamiętam, to tu był jakiś problem. Na Twoim miejscu przyjrzał bym się w kodzie właśnie temu - czy aby na pewno zawsze poprawnie wracasz do trybu transparentnego - może np. timingi cóś nie teges?

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 25 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO