Skocz do zawartości

Sterowanie robotem przez Wi-Fi z komutera


siwy31a

Pomocna odpowiedź

Witam,

Buduje robota jeżdżącego czterokołowego opartego na Raspberry PI. Jestem na etapie budowy systemu sterowania. Robot ma być sterowany z laptopa przez Wi-Fi. Potrzebuję pomocy w napisaniu aplikacji na PC, która pozwoli na odczyt stanu klawiatury (robot ma być sterowany strzałkami) i wysłanie danych sterujących do Raspberry, odbieranie i wyświetlanie obrazu z kamery.

Jeżeli chodzi o część związaną z Rasberry to nie mam z tym większych problemów. Jednak jeżeli chodzi o aplikację PC to nie za bardzo wiem od czego zacząć. Przeszukałem internet ale żadnych pomocnych mi materiałów nie znalazłem.

Pomysł jedynie mam taki, że robot będzie miał stały adres IP przypisany do Rasberry, z którym będzie się łączył komputer.

Aplikację chcę napisać w C++ w Qt.

Edytowano przez Gieneq
Link do komentarza
Share on other sites

Na początek nie pisz aplikacji na PC, tak będzie najprościej. Po prostu połącz się przez ssh z płytką. Będziesz miał zdalny terminal, w nim możesz uruchomić aplikację i obsługiwać klawisze. Jak będzie działało, zawsze możesz dodać bardziej skomplikowane sterowanie.

Link do komentarza
Share on other sites

Pomysł ciekawy i wydaje się dosyć prosty. Nie za bardzo rozumiem jednak co miałeś na myśli pisząc "uruchomić aplikację".

Jak np. będę mógł w ten sposób dobrać się do obrazu z kamery podłączonej do Maliny?

Proszę o wyrozumiałość ale jestem początkującym w komunikacji bezprzewodowej 😉

Link do komentarza
Share on other sites

Łącząc się ze zdalnym komputerem przez telnet czy ssh wykonujesz na nim polecenia, możesz też uruchamiać programy. Więc łącząc się z malinką, pracujesz niejako na niej. Możesz po prostu uruchomić program np. "jedź prosto" - na początek to może nie być tak proste jak się wydaje.

Kamerą się nie przejmuj. Zainstaluj MJPG-streamer na RPi i będziesz miał obraz widoczny przez przeglądarkę.

Więc do sterowania możesz używać ssh, a obraz widzieć w kamerze. Jak to zadziała, możesz iść dalej z projektem. Uprzedzam - to bardzo proste, ale jak już się raz zrobi.

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

Ok, udało mi się nawiązać połączenie. Jednak mogę pracować tylko w terminalu tekstowym, próba przejścia w tryb graficzny za pomocą komendy "startx" kończy się błędem: "module g2d not found". Doszedłem do tego, że jest to błąd związany z Xming. Może ktoś coś poradzić w tym temacie??

Poza tym kiedy mam juz adres IP Raspberry rozważam napisanie komunukacji po UDP.

Komputer wysyła dane sterujące napędami i odbiera obraz z kamery podłączonej do Maliny. Co o tym??

Link do komentarza
Share on other sites

Terminal tekstowy jest najlepszy 😉 Po co komu grafika. Jeśli chcesz to możesz mieć i graficzny - w sieci jest sporo tutoriali jak się połączyć przez VNC. W każdym razie tekstowy terminal ma swoje plusy. Nie obciąża sieci i procesora maliny. W sumie to po co w robocie X server?

Sterowanie po UDP albo TCP jeśli wolisz jak najbardziej może być, ale proponuję zaczynać od prostych rozwiązań. Wysyłanie obrazu z kamery może być trudniejsze niż się wydaje. To całkiem sporo danych. Proponuję (na początek) wykorzystać gotowe rozwiązanie, jak pisałem wcześniej MJPG streamer robi dokładnie to co chcesz osiągnąć - wysyła dane, które można oglądać w zwykłej przeglądarce.

Link do komentarza
Share on other sites

Nie pracowałem zbyt dużo używając terminali tekstowych stąd od razu zabrałem się za włączanie trybu graficznego 😉 ale cóż... czas najwyższy pobawić się tekstowym 😋 zabieram się za pisanie 😉

Link do komentarza
Share on other sites

Procesorek w RPi niestety nie jest demonem prędkości. Więc uruchomienie środowiska graficznego to dla niego niemałe wyzwanie. Co prawda X server działa, ale moim zdaniem jest to bardziej irytujące niż przydatne. Do robota tekstowy terminal powinien wystarczyć. A jeśli kiedyś uznasz, że np. warto dodać wyświetlacz, nadal bez sensu byłoby uruchamiać duży i zasobożerny X server. Do tego można napisać aplikację w Qt i dużo niższym kosztem mieć całkiem przyjemny interfejs użytkownika.

Link do komentarza
Share on other sites

potrzebuję jeszcze odrobinę pomocy 😉

pobrałem i zainstalowałem MJPG-streamer ale nie tworzy mi się plik input_file.so

Próbuję sobie z tym poradzić od dwóch dni lecz bezskutecznie. Jak ktoś ma działającą wersję MJPG-streamer lub wie jak rozwiązać problem to będę wdzięczny. Ja pobrałem już kilka wersji z neta i cały czas to samo

Link do komentarza
Share on other sites

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.