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



Teraz jest 15 lut 2025, o 00:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
Autor Wiadomość
PostNapisane: 28 paź 2016, o 08:02 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Witam wszystkich forumowiczów.
Chciałbym się zabrać za moduł Ethernetu i nauczyć się go programować. Mam procek f769 na ręcznie robionej płytce i płytkę f7-Disco.

Teraz pytanie czy żeby się tego nauczyć potrzebuje coś więcej czy mogę np z Disco podłączyć do kompa i wtedy się szkolić?
Czytam RM ale za bardzo nie wiem jak się do tego zabrać. Ma ktoś jakieś pomysły? Jakieś strony z dobrymi materiałami które pomogłyby mi to zrozumieć? Chciałbym móc przesyłać coś do PC i z PC na procka i odczytywać. Tak by było najlepiej.

A chce to ogarnąć , bo później chce Ethernetem przesyłać dane z kamery na STM. ale wszystko po kolei :)

Ktoś podzieli się materiałami wiedzą itd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 16:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 39
Lokalizacja: Kraków
Pomógł: 0

Z mojej strony mogę Ci polecić książkę
"Mikrokontrolery STM32 w sieci Ethernet w przykładach", sam się z niej uczyłem i wprowadza dobrze w temat.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 16:11 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

No udało mi się skonfigurować ETH za pomocą CubeMX i LwIP i pinguje sie z prockiem.
Chciałbym teraz wysłać coś z PC na STM by pobawić się w obieranie i wysyłanie danych. ( STM jest z PC połączony bezpośrednio kabelkiem krosowym), tylko nie wiem jak to skonfigurować.. czy na PC potrzebuje jakiejś aplikacji? czy wystarczy CMD?

A książkę też znalazłem i trochę poczytałem :) chociaż jest tam opisana stara wersja LwIP.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 16:43 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

masterix napisał(a):
chociaż jest tam opisana stara wersja LwIP.

no wiesz ... trzeba by robić update ksiązki co 2 tygodnie .... żeby nadążyć :P

Pobaw się jakimś UDP Senderem / Receiverem na PC

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:02 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

No mam skonfigurowane wszytko pod TCP, wiec zobaczę czy da się to w programie na PC zmienić :) Coś poszukam :) dzięki wielkie :)

A co do książki no masz racje :) Ale i tak główne zasady działania i podstawowe rzeczy o bibliotece można się dowiedzieć :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:03 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

o to właśnie chodzi :) zmiany są zawsze , ale nie zawsze na tyle duże żeby starszy materiał nie pomagał ich okiełznać

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:06 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Powiem szczerze że na poczatku próbowałem sam to okiełznać w sensie konfiguracje STM na rejestrach + normalnie biblioteka, ale poległem bo posiadam informacji za mało na te tematy :)
a to co wygenerował mi cubemx troche mnie przeraża bo mnóstwo plików i linii kodu w której uczę się pływać ;) i pierwsze efekty są :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:10 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

wiesz trochę stary znajdziesz u mnie kursik na stronie dotyczy jeszcze spl i jest na pierwszym Discovery VL
ale powinno ci tez nieco pomóc ...

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:21 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Dzięki :) Ogarnąłem Packet Sendera :) I chce wysłać pakiet portem 7 na adres 192.168.0.15 ( takim się pinguje ) I mam "Could not Connect"..

W while mam

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdzie te piny to ledy (takie tam do testów)

Czyli jeżeli dobrze rozumiem on jest przygotowany na odbiór danych.. To dlaczego sie z nim pinguje a nie moge nic mu wysłać?

@SunRiver podałbyś link do tego kursu??



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:24 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

odpowiedź na ping nie jest równoznaczna z otwartym socketem do komunikacji :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:38 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Dobrze :) a więc co muszę przeczytać i co ruszyć żeby tą komunikacje umożliwić? :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:44 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

masterix napisał(a):
Dobrze a więc co muszę przeczytać i co ruszyć żeby tą komunikacje umożliwić?


http://www.sunduino.pl/wordpress/kurs-p ... discovery/

zerknij tu o TCPIP trochę stare , ale cię naprowadzi :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:45 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Miejmy nadzieję :) Dzięki wielkie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2016, o 17:49 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

Jak coś pytaj .. jakby było nie zrozumiałe .. i nie czytaj arta o ekranie dotykowym ..
nie mam pojęcia co za łoś tak to skomplikował ... :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 09:37 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Ok kiedy uruchomiłem ETH to postawiłem echoserver. Przy ostatnich próbach miałem wyłączoną funkcje tego echservera bo myślałem że już nie będzie mi potrzebna. Teraz odpaliłem ją na nowo i pakiety są odbierane i odsyłane "nazad" do PC i widzę to w programie.

Nie wiem tylko dlaczego czasami go jakby przytka i odsyła kilka wiadomości na raz:

Obrazek

I teraz jeżeli dobrze rozumiem muszę przerobić funkcje choservera w taki sposób żeby nie odsyłały pakietów "nazad" do PC a tylko zapisywały je w jakimś buforze zgadza się ?

----------------------------------
wygląda na to że te "czkawki" są spowodowane szybkim czasem wysyłania. Jak Resend Delay zmienię na około 1sek i wyżej to już odpowiada pojedynczo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 gru 2016, o 13:43 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

@SunRiver mam pytanie :) Mam funkcje odbierania z Echoservera. Zastanawiam się jak mogę zrobić by zamiast odsyłać to co dostał, zapisywać to w jakimś buforze.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dane przechowywane są w strukturze es->p jeżeli dobrze rozumiem.. ale nie mogę ich bezpośrednio zapisać np do inta w postaci
BUF = es->p;
bo wywala mi warningi itd.

Więc pytanie jest takie jak wyłuskać ze struktury te dane? jak je odpowiednio oddzielić? Czy może jakoś inaczej powinienem te dane odbierać i o jakoś zle to rozumuje? Proszę o pomoc..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2016, o 23:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2012
Posty: 119
Pomógł: 3

Co prawda nie uruchamiałem LwIP na STM'ach ale rozbierałem na części pierwsze przykład dostarczony ze środowiskiem, do innego, nieco mocniejszego ARMa więc wtrącę swoje 3 grosze ;)

@masterix, przede wszystkim poczytaj o podstawach sieci: budowie ramki Ethernet i kilku konkretnych protokołach: ARP, ICMP, TCP, UDP. Chociażby na wikipedii bo odnoszę wrażenie, że coś robisz ale nie do końca wiesz po co ;) Książka z polskim opisem LwIP to też dobry pomysł bo sporo wyjaśnia jeśli chodzi o zasadę działania LwIP ale tego już chyba sam doświadczyłeś. :)

Kolejna sprawa to narzędzie do podglądania pakietów latających w sieci; np. Wireshark - niezbędne jeśli chcesz robić jakąś poważniejszą komunikację.
Masz działającego pinga - podejrzyj co się dzieje na sieci, co wysyła pecet, co odsyła stm, czym to się różni, sprawdź z uzyskanymi teoretycznymi informacjami, itp.

masterix napisał(a):
Mam funkcje odbierania z Echoservera. Zastanawiam się jak mogę zrobić by zamiast odsyłać to co dostał, zapisywać to w jakimś buforze.

O ile ta wersja LWIP jest przeportowana pod STMy tak jak myślę, tzn. z wykorzystaniem DMA, deskryptorów i buforów przypisanych do deskryptorów, to w momencie kiedy gdzieś widzisz, że otrzymałeś dane (wyświetlasz je, program wszedł w jakąś pętlę / pułapkę, itp.) - masz już je zapisane w jakimś buforze.
Kwestia dobrania się do tego bufora za pomocą wskaźnika ale tu uwaga: LwIP ma zaimplementowaną funkcję dynamicznej alokacji pamięci na bufory ramek. Oznacza to, że nadlatujące ramki nie będą trafiać do jednego i tego samego bufora bo z każdą kolejną ramką, w jakimś miejscu określonego obszaru pamięci, będzie tworzony nowy bufor o nowym adresie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 gru 2016, o 23:32 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

No ok, więc jak te dane przechwytywać w takim razie?
Na razie próbuje przesyłać strukturę w funkcji odbierajacej do struktury poza tą funkcja ale i tak mi coś słabo idzie.

Pakiety z PC wysyłam posty pomocy Packet Sendera, ale w takim razie wireshark też może sie przydać.
Dziękuję za naprawdę rzeczowego posta. Od jutra zabieram się do kształcenia i pracy!

Wysłane z mojego Luna przy użyciu Tapatalka



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2016, o 11:40 
Offline
Użytkownik

Dołączył(a): 09 kwi 2015
Posty: 44
Pomógł: 0

Jeżeli dobrze rozumiem to bufor w którym znajdują się pakiety i dane wysyłane z PC ( w funkcji odbierającej którą wstawiłem ) w strukturze "es". Bo to właśnie tą strukturę wysyłamy z powrotem do PC (tcp_echoserver_send(tpcb, es);).

Wiec próbuje przechwycić ta strukturę do swojej własnej struktury, przez:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I po każdym wstrzymaniu programu mam tam jakieś dane tylko nie wiem w jaki sposób on to przechwytuje i jak wyszykać tam dane które wysyłam?


ObrazekObrazekObrazek

Tutaj zdjęcia z debugera z podglądu bufora, oraz z wiresharka. Zgodność znalazłem w rcv_nxt (debug) i sequence number (wireshark).

Gdzie szukać reszty?



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO