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



Teraz jest 29 mar 2024, o 10:13


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 30 cze 2017, o 14:49 
Offline
Nowy

Dołączył(a): 06 paź 2011
Posty: 24
Pomógł: 0

Cześć,
szukam na forum i nie mogę sobie poradzić.
Protokół UDP.

Atnel Wifi -> Serwer UDP, port 8899

Z kompa wysyłam dane (UDP Test Tool) na adres serwera UDP (Atnel Wifi -> procek) - port 8899. Dane są ładnie odbierane.

Zwrotnie chciałbym odesłać zwrotnie potwierdzenie z procka do kompa.
Ok, potwierdzenie zwrotne procek wysyła do Atnel Wifi. Oczywiście komp nic nie odbiera. Bo przecież nigdzie nie ustawiłem adresu i portu, do którego Atnel Wifi (Serwer UDP) ma wysyłać dane.

Co więcej podejrzałem WireSharkiem adres i numer portu, na który wysyła UDP serwer (Atnel Wifi) potwierdzenie.
Podczas kilkukrotnego obserwowania numer portu zmienił się!!??
Pierwszy port na jaki wysyłał UDP serwer to 58971. Jak ustawiłem taki numer portu odbioru w UDP Test Tool wszystko ładnie chodziło. Ku mojemu zdziwieniu po bliżej nieokreślonym działaniu (nie pamiętam co zrobiłem, na pewno nie odłączałem zasilania Atnel Wifi) numer portu docelowego się zmienił!!
Pamiętam, że się zaczynał na 58xxx, ale pozostałe trzy cyfry były inne.
Gdzie to ustawić/zmienić??
Pozdrawiam

_________________
smalski



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2017, o 16:05 
Offline
Moderator
Avatar użytkownika

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

smalski napisał(a):
Oczywiście komp nic nie odbiera. Bo przecież nigdzie nie ustawiłem adresu i portu, do którego Atnel Wifi (Serwer UDP) ma wysyłać dane.


I to jest typowe podejście początkujących, którzy nie rozumieją niestety jak działa UDP i client/serwer

Panie kochany ;) wysyłając datagram UDP do procka (poprzez moduł WIFI jako serwer UDP) jak sam mówisz, procek ładnie odbiera dane. I teraz zrozum ...

polecam tak nawiasem mówiąc nowy cykl poradników, który tworzę

http://mirekk36.blogspot.com/2017/06/ud ... aania.html

(w drugim odcinku który się ukaże będziesz miał garść informacji żeby to zrozumieć) ale już teraz ci podpowiem ;)

Gdy SERVER UDP nasłuchuje i odbiera pakiet UDP to bardzo dobrze wie do kogo ma odpowiedzieć i zna jego port odbiorczy ;) bo tenże port nazywa się SOURCE PORT i leci w datagramie ;) Dlatego serwer potrafi bez niczego - bez żadnych tam twoich konfiguracji (które nawiasem mówiąc byłyby niestety bez sensu bo przez to chciałbyś zrobić z serwera UDP hmmm sam nie wiem co)

To że moduł wifi może odsyłać odpowiedzi z różnym portem (Source Port) to żadne zdziwienie ;) Tak samo robi Windows gdy wysyłasz zapytanie UDP klientem UDP. Określasz TYLKO docelowy adres IP oraz docelowy port ... a powiedz mi czy zwykle wiesz jaki będzie port zwrotny czyli SOURCE PORT?

nie wiesz ;) bo windows sam go losuje z puli wolnych w danej chwili i nie wykorzystywanych portów ;)

pobierz sobie ten komponent do Delphi (nawet jeśli w ogóle nic nie robisz w Delphi)

http://atnel.pl/mkudps.html

masz tam taki fajny programik EXE o nazwie MkTerminalUDP (napisany nawiasem mówiąc w oparciu o ten komponent) i nim bez żadnego wireszarka będziesz mógł się przekonać o tym o czym mówię i testować sobie komunikację UDP

Poczekaj też na dalsze części tych poradników moich o UDP bo one są właśnie przeznaczone dla początkujących osób - które jeszcze tego nie rozumieją czy nie wiedzą ... pokażę DOKŁADNIE co i jak zobaczysz ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

Podsumowując, Server UDP ślicznie odpowiada KAŻDEMU kto do niego coś wyśle ;) o ile uznasz że tak trzeba i prockiem coś odeślesz

_________________
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 cze 2017, o 16:56 
Offline
Nowy

Dołączył(a): 06 paź 2011
Posty: 24
Pomógł: 0

Ok, zainteresuje się bardziej.

Tylko dziwi mnie, że 4 lata temu robiłem dokładnie taką samą komunikację przy pomocy ENC28j60 i komponentów INDY do Delphi i ustawiałem porty nasłuchu i docelowe bo obu stronach transmisji UDP i wszystko ładnie chodziło, a teraz jest inaczej. Cóż może to kwestia przypadku...

Dziękuję i pozdrawiam

_________________
smalski



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2017, o 17:03 
Offline
Moderator
Avatar użytkownika

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

bo jest też możliwość nawet dla klienta ustawić Source port chociaż to nie ma większego sensu, ale można, tylko trzeba zbindować adresy w Indy. Więc pewnie coś pozapominałeś i teraz troszkę może dlatego się dziwisz. Ale na pewno nic przez kilka lat się nie zmieniło w tym zakresie ... UDP ;)

_________________
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: 13 wrz 2017, o 17:25 
Offline
Nowy

Dołączył(a): 05 sty 2016
Posty: 5
Pomógł: 1

Mam takie pytanie wysyłam string z programu delphi do procesora za pomocą karty wifi atnel. String składa się z tokenów. Czy jest jakieś ograniczenie co do długości znaków?
Pomimo ustawienia w programie procesora bufora 100 bajtów, to nie mogę przesłać więcej niż około 25 znaków. Czy moduł MKUDPS ma jakieś ograniczenia, które nie mogę odszukać co do długości stringu?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2017, o 17:35 
Offline
Moderator
Avatar użytkownika

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

grodzial napisał(a):
Czy moduł MKUDPS ma jakieś ograniczenia, które nie mogę odszukać co do długości stringu?


Jak można szukać ograniczeń tak błahej rzeczy jak długość stringa na PC ??? sorki ale to niedorzeczność ;) na PC ? ... możesz sobie 2 mb stringa przesłać takim komponentem

zamiast patrzeć na babola w swoim programie na procku - po opisie problemu idę o zakład, że nie ustawiłeś odpowiednich buforów cyklicznych w procku, o ile korzystasz jak się należy z buforowania cyklicznego - chyba że sam coś zakombinowałeś i źle to zrobiłeś w procku - no ale sorki wtedy bez kodu to pytanie bardziej do wróżki

_________________
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: 13 wrz 2017, o 18:27 
Offline
Nowy

Dołączył(a): 05 sty 2016
Posty: 5
Pomógł: 1

Dziękują za podpowiedź.
Jak się siedzi od 6 rano i nie odchodzi od komputera to czasem tak bywa, że przychodzi taki moment, że na prostym błędzie można się złapać i szukać dziury w cali.
Dzięki poradnikom znowu zapowiada się kupno od pana kilku rzeczy i licencje na komponent. Wszystko ładnie śmiga i znów będzie można poszerzyć ofertę sprzedażową.
Niestety moja żona już nie może pana słuchać w poradnikach w przeciwieństwie do mnie. Niestety musi to przeboleć. Trzeba z czegoś przecież żyć, bo przez pana rzuciłem robotę i zajmuje się już głównie programowaniem i budowaniem od podstaw sterowników.
Niestety pasjonaci tak mają, że na wakacjach odpoczywają pisząc programy do procka. Nie ma to jak relaks na łonie natury z komputerem w ręku.
Pozdrawiam

------------------------ [ Dodano po: 8 minutach ]

Mam jeszcze pytanie. Czy powstanie jakiś poradnik do sterowania przez wifi prockiem za pomocą programu delphi i telefonu i odpowiedzią z procka stringiem na nasze zapytanie, ale nie wewnątrz sieci domowej, ale gdy jestem poza domem na wakacjach i chciałbym sobie pogadać z prockiem i trochę rzeczy posterować.
Mam nadzieję, że inni podzielają moją opinię, że takie cuda, przydałyby się nie jednemu.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2017, o 19:07 
Offline
Moderator
Avatar użytkownika

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

grodzial napisał(a):
Czy powstanie jakiś poradnik do sterowania przez wifi prockiem za pomocą programu delphi i telefonu i odpowiedzią z procka stringiem na nasze zapytanie, ale nie wewnątrz sieci domowej, ale gdy jestem poza domem na wakacjach i chciałbym sobie pogadać z prockiem i trochę rzeczy posterować.

ale co to za różnica czy sieć domowa czy poza domem?

z punktu widzenia programu ABSOLUTNIE żadna

jedyne co to trzeba sobie na routerze poudostępniać porty, zadbać o jakiś DYNDNS itp

_________________
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: 13 wrz 2017, o 19:15 
Offline
Nowy

Dołączył(a): 05 sty 2016
Posty: 5
Pomógł: 1

Postaram się popróbować z przekierowaniem portów w routerze zobaczymy czy dojdzie do procka i czy z procka przez kartę wifi czy da radę mi odpowiedzieć.
Popróbuję w wolnej chwili. Skoro się da.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2017, o 20:09 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Napisz w czym był problem - będzie dla potomnych



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 wrz 2017, o 07:50 
Offline
Nowy

Dołączył(a): 05 sty 2016
Posty: 5
Pomógł: 1

Trzeba było zwiększyć rozmiar bufora w pliku mkuart.h "UART_RX_BUF_SIZE 32"
Zwiększyłem rozmiar na 64 i już mógł przyjąć dłuższy string. Rozmiar ustawiamy do swoich potrzeb.



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: 11 ] 

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