Skocz do zawartości

Komunikacja z siecią STM32


rafal2366

Pomocna odpowiedź

Cześć, przygotowuję pewien projekt, w którym muszę połączyć się z siecią z poziomu STM32, a jako że moja wiedza na tematy sieciowe jest niewielka chciałbym prosić o poradę. 

Zamysł całości jest taki, aby STM32, a dokładniej płytkę Nucleo F767ZI podłączyć do sieci za pomocą wbudowanego gniazda Ethernet. STM zbiera dane z innych urządzeń po RS485 i przechowuje je lokalnie. Chciałbym połączyć się z nim poprzez sieć i odczytywać właśnie te dane, docelowo poprzez skrypt napisany w Pythonie i uruchomiony na serwerze. I tutaj pytanie jak najlepiej się za to zabrać? Z tego co czytałem i jeśli dobrze to rozumiem, STM powinien działać jako serwer, tak aby właśnie z poziomu dowolnego innego skryptu czy urządzenia można było wysłać mu jakąś komendę, na która procesor zareaguje i odeśle konkretny pakiet danych. Co ważne dostęp do danych powinien być możliwy z poziomu wielu zewnętrznych urządzeń, przykładowo na serwerze uruchomiony jest Pythonowy skrypt, ale jeśli uruchomię go na komputerze to tez powinien działać. Nie rozumiem jednak do końca samych tajników komunikacji poprzez Ethernet. Widziałem sporo poradników dla przykładowo ModBus, komunikacji UDP, TCP i innych, ale nie wiem do końca, który kiedy się wykorzystuje i, który sposób wymiany danych byłby najlepszy w tym przypadku. Znalazłem też coś takiego jak adaptery RS485/Ethernet, które wydają mi się ciekawe, bo eliminują całkowicie obsługę sieci z poziomu STM i zastanawiam się nad ich wykorzystaniem. Jesteście w stanie wyjaśnić mi w miarę prosto i przystępnie, co byłoby najlepszym wyborem do takiego rodzaju komunikacji i dlaczego?  

Link do komentarza
Share on other sites

1 godzinę temu, rafal2366 napisał:

Jesteście w stanie wyjaśnić mi w miarę prosto i przystępnie, co byłoby najlepszym wyborem do takiego rodzaju komunikacji i dlaczego?  

Dla mnie? Jakiś koprocesor ESP32 - wbudowane WiFi i zero problemów (chyba, że musi być po kablu to musisz się przemęczyć z IwIP)... Ewentualnie Wiznet W5500 😉 

1 godzinę temu, rafal2366 napisał:

Widziałem sporo poradników dla przykładowo ModBus, komunikacji UDP, TCP i innych, ale nie wiem do końca, który kiedy się wykorzystuje i, który sposób wymiany danych byłby najlepszy w tym przypadku.

  • UDP - "masz tutaj info, ale mnie nie obchodzi czy je dostałeś" (coś jak KPA w Polsce - jak nie odbierzesz poleconego to i tak uznaje się go za doręczony)
  • TCP - "jak nie dostałeś to wyślę ponownie" (coś jak sprzedawca, gdy kurier nawali, bo nie potrafi trafić pod Twój adres... true story)
  • Modbus - to akurat jest protokół wymiany danych i raczej jest używany tylko do komunikacji między modułami urządzenia/maszyny

UDP używa się tylko w miejscach, gdzie dane są wysyłane w ogromnej ilości i nie przejmujesz się tym, że coś zgubiłeś (np. jakieś odczyty z czujnika do dziennika zdarzeń)

TCP jak dane muszą dotrzeć (np. komendy do urządzenia)

Edytowano przez H1M4W4R1
Link do komentarza
Share on other sites

Dzięki za pomoc, stety/niestety STM32 i połączenie kablowe jest tutaj wymagane i nie mogę zmienić platformy. Z pierwszych prób i rozeznania wygląda na to, że TCP będzie dla mnie wystarczalne, do prostej wymiany danych. Przerobiłem też kilka tutoriali i najbardziej pomógł mi konkretnie ten, zostawię go dla potomnych. 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.