Spisu treści:
- Krok 1: Zainstaluj Raspbian i skonfiguruj statyczny adres IP
- Krok 2: Zainstaluj i skonfiguruj Motion
- Krok 3: Zainstaluj Apache i skonfiguruj stronę kontroli sieci
- Krok 4: Skonfiguruj i przetestuj kod
- Krok 5: Montaż
- Krok 6: Uruchamianie kodu Pythona podczas rozruchu / kończenie pracy
Wideo: Robot Roomba sterowany przez przeglądarkę z Raspberry Pi Model 3 A+: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Przegląd
Ten Instruktaż skupi się na tym, jak dać martwemu Roombie nowy mózg (Raspberry Pi), oczy (kamera internetowa) i sposób kontrolowania wszystkiego z przeglądarki internetowej.
Istnieje wiele hacków do Roomby, które umożliwiają sterowanie przez interfejs szeregowy. Nie miałem szczęścia natknąć się na Roombę z aktualnym oprogramowaniem układowym lub działającą płytą główną. Albo Roomba jest za stara, albo Roomba nie żyje. Znalazłem Roombę, której używałem do tego projektu, w lokalnym sklepie z używanymi rzeczami za 5 USD. Wciąż miał przyzwoitą baterię, ale martwą płytę główną. (Znalazłem też kamerę internetową w tym samym sklepie z używanymi rzeczami za około 5 USD). Jedyne, czego używam z oryginalnej Roomby, to silniki, podwozie i akumulator. W tym projekcie nie musisz używać robota Roomba. Możesz użyć różnych silników, kół i podwozia, jeśli chcesz. Po prostu mam ochotę zamienić kawałek śmieci w coś użytecznego.
Do tej budowy użyłem Raspberry Pi Model 3 A+ i kontrolera silnika Riorand. Używam kodu z robota kontrolowanego przez przeglądarkę Dexter Industries, który zmodyfikowałem. Wersja Dexter Industries konfiguruje Pi jako serwer websocket, który pozwala kontrolować ich robota (platformę cegły pi) z pliku html klienta działającego na innym komputerze.
Zmieniłem kod używając pinów GPIO i dodałem sposób na wyłączenie Pi po kliknięciu przycisku / po naciśnięciu klawisza Escape w przeglądarce. Wprowadziłem również pewne zmiany na stronie internetowej sterowania, aby umożliwić oglądanie strumienia ruchu przez ramkę iframe, jednocześnie kontrolując robota na jednej stronie. Ustawiłem Pi ze statycznym adresem IP, aby hostować plik klienta, abym mógł połączyć się za pomocą dowolnego komputera lub urządzenia w mojej sieci.
Dokumentuję ten proces w nadziei, że pokażę, jak stworzyć prostego, niedrogiego robota bazowego.
Używane części
Raspberry Pi 3 A+ (Adafruit Link) 30 USD
Riorand Kontroler podwójnego sterownika silnika mostek H (łącze Amazon) 22 USD
Akumulator 12 V do silników (łącze Amazon) 19 USD
Bateria 5V do Raspberry Pi (Amazon Link) 10 USD
Karta Micro SD 8 GB (łącze Amazon) 5 USD
Przewody połączeniowe (łącze Amazon) 7 USD
Roomba serii 500
. Wszystko razem prawie 100 dolarów.
Krok 1: Zainstaluj Raspbian i skonfiguruj statyczny adres IP
Użyłem Raspbian Stretch Lite. Nie widziałem potrzeby korzystania z pulpitu, ale możesz zainstalować wersję na komputer, jeśli wolisz.
Zakładam, że już wiesz, jak zainstalować Raspbian. Jeśli potrzebujesz pomocy, możesz znaleźć przewodnik po Raspberry Pi Foundation tutaj.
Po uruchomieniu Raspbian zaloguj się i uruchom program raspi-config.
pi@raspberrypi:~ $ sudo raspi-config
Skonfiguruj połączenie WiFi w raspi-config
Wybierz
2 opcje sieciowe
Wybierz
N2 Wi-Fi
Wybierz kraj, wprowadź swój identyfikator SSID i wprowadź hasło
Skonfiguruj SSH w raspi-config
Po wykonaniu wstępnej konfiguracji użyłem SSH, aby ustawić wszystko bez nagłówka. (Możesz to pominąć, jeśli używasz monitora. Łatwiej było mi wprowadzać zmiany w kodzie bez konieczności zatrzymywania robota i podłączania go do monitora.)
Powrót do głównego menu raspi-config
Wybierz
5 opcji interfejsu
Wybierz
P2 SSH
Wybierz
tak
Wróć do głównego menu raspi-config, wybierz
Sprawdź, czy masz połączenie z siecią
pi@raspberrypi:~ $ ifconfig
Powinieneś otrzymać wynik podobny do tego. (Zanotuj adres IP; możesz go później potrzebować, np. 192.168.1.18)
wlan0: flagi=4163 mtu 1500
inet 192.168.1.18 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::c74f:42ec:8cd3:2fda prefixlen 64 scopeid 0x20 ether b8:27:eb:6a:a4:95 txqueuelen 1000 (Ethernet) pakiety RX 44396 bajtów 5847726 (5,5 MiB) Błędy RX 0 porzucone 0 przekroczenia 0 ramka 0 Pakiety TX 30530 bajtów 39740576 (37,8 MiB) Błędy TX 0 porzucone 0 przekroczenia 0 nośnik 0 kolizje 0
Sprawdź, czy możesz połączyć się z internetem.
pi@raspberrypi:~ $ ping google.com
Powinieneś otrzymać wynik podobny do tego.
PING google.com (216.58.194.110) 56(84) bajtów danych.
64 bajty z dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq=1 ttl=54 time=18,2 ms 64 bajty z dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq=2 ttl =54 time=19,4 ms 64 bajty z dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq=3 ttl=54 time=23.6 ms 64 bajty z dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq=4 ttl=54 time=30.2 ms ^C --- google.com statystyki ping --- 4 pakiety wysłane, 4 odebrane, 0% utraty pakietów, czas 3004ms rtt min/avg/max/mdev = 18.209/ 22,901/30,267/4,715 ms
Skonfiguruj statyczny adres IP
Aby móc konsekwentnie łączyć się z robotem przy użyciu tego samego adresu w sieci, będziesz chciał ustawić statyczny adres IP.
Uzyskaj aktualny adres sieciowy, np. 192.168.1.18
Używam adresu, który został automatycznie przydzielony przez DHCP, gdy Pi łączył się z moją siecią. Możesz to zmienić na dowolne, o ile pasuje do Twojej sieci i nie koliduje z żadnymi innymi przypisanymi adresami.
Otwórz dhcp.conf w edytorze tekstu. (Używam nano)
pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
Przewiń w dół do #Przykładowa konfiguracja statycznego adresu IP i zmień następujące wiersze.
#interfejs eth0
#static ip_address=192.168.11.13 #static routers=192.168.11.1 #static domain_name_servers=192.168.11.1 8.8.8.8
Zmień, aby dopasować swoją sieć i usuń # na początku każdego wiersza.
Przykład:
interfejs wlan0
statyczny adres_ip=192.168.1.18 routery statyczne=192.168.1.1 statyczne serwery_nazw_domeny=192.168.1.1 8.8.8.8
Zapisz i wyjdź.
Uruchom ponownie i połącz się z Pi przez SSH
pi@raspberrypi:~ $ sudo restart
Połącz się z innego komputera za pomocą SSH. Użytkownicy systemu Windows mogą korzystać z PuTTY lub podsystemu Windows dla systemu Linux (Windows10).
ian@komputer:~$ ssh [email protected]
Wpisz swoje hasło (domyślne to malina).
hasło [email protected]:
Powinieneś być teraz w wierszu poleceń swojego Pi.
pi@raspberrypi:~$
Krok 2: Zainstaluj i skonfiguruj Motion
Motion to program używany w wielu projektach kamer bezpieczeństwa / kamer internetowych. Motion ma wiele funkcji. Jednak konfigurujemy go tak, aby po prostu przesyłać strumieniowo wideo z kamery internetowej do portu 8081.
Przetestuj swoją kamerę internetową
Podłącz kamerę internetową i wyświetl listę podłączonych urządzeń USB (po podłączeniu może być konieczne ponowne uruchomienie).
pi@raspberrypi:~ $ lsusb
Powinieneś otrzymać wynik podobny do tego. Zwróć uwagę na Logitech C210.
Magistrala 001 Urządzenie 002: ID 046d:0819 Logitech, Inc. Kamera internetowa C210
Magistrala 001 Urządzenie 001: ID 1d6b:0002 Główny koncentrator Linux Foundation 2.0
Jeśli aparat się nie wyświetla, może być niezgodny lub może być konieczne zainstalowanie dodatkowych sterowników.
Zainstaluj ruch
Zaktualizuj pakiety.
pi@raspberrypi:~ $ sudo apt-get update
Zainstaluj ruch.
pi@raspberrypi:~ $ sudo apt-get install motion -y
Po zainstalowaniu Motion edytuj plik konfiguracyjny.
pi@raspberrypi:~ $ sudo nano /etc/motion/motion.conf
Zmień następujące wiersze, aby pasowały do poniżej.
demon włączony
szerokość 640 wysokość 480 liczba klatek na sekundę 100 wyjście_zdjęcia wyłączone ffmpeg_output_movies wyłączone text_right stream_port 8081 stream_quality 100 stream_localhost wyłączone webcontrol_localhost wyłączone
Uruchom demona ruchu przy rozruchu
Otwórz plik /etc/default/motion.
pi@raspberrypi:~ $ sudo nano /etc/default/motion
Zmień na
start_motion_daemon=tak
Zapisz plik i wyjdź
Restart
pi@raspberrypi:~ $ sudo restart
Po ponownym uruchomieniu Pi otwórz przeglądarkę i sprawdź, czy przesyłasz strumieniowo wideo do przeglądarki na porcie 8081
Przykład:
192.168.1.18:8081
Rozwiązywanie problemów z demonem ruchu
Napotkałem problemy z uruchomieniem demona ruchu przy starcie, gdy próbowałem różnych opcji w pliku motion.conf.
Jeśli zaczniesz ruch przed demonem ruchu w Raspian Stretch, prawdopodobnie napotkasz problemy z uruchomieniem go później. Uruchomienie "sudo motion" bez skonfigurowania demona, aby to zrobił, najpierw tworzy katalog /var/log/motion bez przyznawania użytkownikowi uprawnień do zapisu.
Krok 3: Zainstaluj Apache i skonfiguruj stronę kontroli sieci
Apache to serwer WWW dla strony internetowej sterowania robotem. Zastąpimy domyślny plik Apache index.html plikiem pobranym z github. Zmienisz również kilka wierszy kodu, aby wyświetlić strumień wideo ruchu i przypisz, gdzie wysyłać polecenia sterujące robotem.
Zainstaluj Apache i Git
pi@raspberrypi:~ $ sudo apt-get zainstaluj apache2 git -y
Po zainstalowaniu apache i git pobierz pliki.
pi@raspberrypi:~ $ klon git
Otwórz katalog roombarobota.
pi@raspberrypi:~ $ cd roombarobot
Zastąp plik index.html w folderze /var/www/html plikiem index.html w /home/pi/roombarobot
pi@raspberrypi:~/roombarobot $ sudo cp index.html /var/www/html
Edytuj plik index.html
Otwórz plik index.html za pomocą edytora tekstu.
pi@raspberrypi:~/roombarobot $ sudo nano /var/www/html/index.html
Znajdź te dwie linie
var host = "ws://YOURIPADRES:9093/ws";
Zmień „YOURIPADDRESS” na statyczny adres IP ustawiony w kroku 1 i zapisz plik.
Przykład:
var host = "ws://192.168.1.18:9093/ws";
Na innym komputerze otwórz przeglądarkę i wprowadź adres IP swojego Pi. Powinieneś zobaczyć stronę sterowania z polem po lewej stronie, strumieniową transmisję wideo z kamery internetowej i przyciski sterowania po prawej stronie.
Krok 4: Skonfiguruj i przetestuj kod
Ten kod jest napisany w Pythonie i wymaga biblioteki tornado. Kod wykorzystuje bibliotekę do skonfigurowania serwera do nasłuchiwania poleceń ze strony internetowej sterowania za pośrednictwem gniazd sieciowych na porcie 9093.
Zainstaluj PIP i bibliotekę Tornado
Zainstaluj pip
pi@raspberrypi:~ $ sudo apt-get zainstaluj python-pip
Zainstaluj bibliotekę tornado
pi@raspberrypi:~ $ sudo pip zainstaluj tornado
Uruchom program Roombabot i przetestuj połączenie
Uruchom program roombabot.py
pi@raspberrypi:~$ sudo python /home/pi/roombarobot/roombabot.py
Po uruchomieniu w terminalu powinien pojawić się komunikat „Gotowe”. Otwórz stronę sterowania w przeglądarce i kliknij Połącz. Następnie kliknij dowolny z przycisków kierunkowych na stronie. Możesz także użyć klawiszy strzałek na klawiaturze.
Powinieneś zobaczyć wyjście w terminalu podobne do tego.
Gotowy
połączenie otwarte… połączenie otwarte… odebrane: u 8 Running Połączenie do przodu otwarte… połączenie odebrane: l 6 Obracanie w lewo połączenie otwarte… odebrane: d 2 Bieganie Połączenie wsteczne otwarte… odebrane: r 4 Obracanie w prawo
Naciśnij ctrl+c, aby zatrzymać program.
Po zakończeniu testowania wyłącz Pi.
pi@raspberrypi:~$ sudo poweroff
Robaki
Zauważyłem problem z przyciskiem wyłączania na stronie sterowania. Czasami przycisk zamykania nie robi nic po kliknięciu lub dotknięciu. Nie udało mi się ustalić, co to powoduje, ale istnieje obejście tego problemu. Jeśli chcesz wyłączyć robota, a przycisk zamykania nie działa, załaduj ponownie stronę, kliknij / naciśnij przycisk połączenia, a następnie kliknij / naciśnij przycisk zamykania. Powinien się wyłączyć.
Krok 5: Montaż
Jak wspomniano wcześniej, do tego projektu nie musisz używać Roomby. Wszystko z dwoma silnikami, dwoma kołami i ramą będzie działać. Rozebrałem Roombę i usunąłem wszystko oprócz modułów kół i akumulatora.
Moduły kół
Koła i silniki Roomby są umieszczone razem w wyjmowanym module. Każdy moduł ma niebieską obudowę zewnętrzną zawierającą silnik, skrzynię biegów, koło, sprężynę zawieszenia i płytkę interfejsu.
Płyta interfejsu
Do każdej płyty interfejsu biegnie sześć przewodów. Istnieją dwa przewody (czerwony [+], czarny [-]), które obracają silnikiem, jeden przewód danych czujnika efektu Halla, jeden przewód przełącznika spadku koła, jeden przewód 5 V i jeden przewód GND do zasilania czujnika. Będziesz musiał rozebrać moduł, aby uzyskać dostęp do płyty interfejsu. Wyjąłem wszystko z powrotem do silnika i przylutowałem nowe przewody [+] i [-] do silnika (patrz zdjęcia). Od Ciebie zależy, czy chcesz zachować czujniki, czy nie.
Sprężyny zawieszenia
Po usunięciu części próżniowej waga robota Roomba zostaje zrzucona. Jeśli nie usuniesz sprężyn, robot Roomba będzie siedział pod kątem. Pierwotnie je usunąłem, ale potem dodałem je z powrotem, gdy okazało się, że ma problem z przetaczaniem się po dywanie. Założenie sprężyny z powrotem rozwiązało problem.
Okablowanie silników do sterownika silnika
Silniki są odwrócone od siebie. Oznacza to, że aby prowadzić Roombę do przodu, jeden silnik będzie musiał obracać się do przodu, a drugi do tyłu. Nie myślałem o tym zbyt wiele, dopóki nie podłączyłem wszystkiego. Skończyło się na tym, że napisałem kod dotyczący tego, jak początkowo okablowałem silniki. To był szczęśliwy wypadek, ponieważ za każdym razem, gdy Raspberry Pi włącza się / wyłącza, na piny GPIO pojawia się napięcie. Sposób, w jaki mam wszystko podłączone, Roomba obraca się, dopóki Raspberry Pi nie uruchomi się (około trzydziestu sekund) i obraca się po wyłączeniu, aż do wyłączenia zasilania. Gdyby został podłączony inaczej, mógłby potencjalnie przetoczyć się do przodu / do tyłu, co byłoby irytujące. Planuję ostatecznie naprawić to za pomocą prostego przełącznika do sterownika silnika.
Podłączanie silników i akumulatora do sterownika silnika
Zasilanie- - - - - - - - - - - - - - - - 12V [+]- - - - - - - - - - - - -Akumulator Roomba [+]
Silnik 2- - - - - - - - - - - - - - - Czarny- - - - - - - - - - - - - -Lewy Silnik [-] Silnik 2- - - - - - - - - - - - - - - Czerwony- - - - - - - - - - - - - - -Lewy Silnik [+] Silnik 1- - - - - - - - - - - - - - - Czarny- - - - - - - - - - - - - -Prawy silnik[-] Silnik 1- - - - - - - - - - - - - - Czerwony- - - - - - - - - - - - - - -Prawy silnik[+] GND- - - - - - - - - - - - - - - - - 12V [-]- - - - - - - - - - - - -Akumulator Roomba [-]
Okablowanie sterownika silnika do Raspberry Pi
Piny sterownika silnika Kolor przewodu (patrz zdjęcia) Piny Raspberry Pi
GND- - - - - - - - - - - - - - - - - Czarny- - - - - - - - - - - - - -GND PWM 2- - - - - - - - - - - - - - - - Niebieski - - - - - - - - - - - - - -GPIO 18 DIR 2- - - - - - - - - - - - - - - - Zielony- - - - - - - - - - - - - -GPIO 23 PWM 1- - - - - - - - - - - - - - - - Żółty - - - - - - - - - - - - -GPIO 24 DIR 1- - - - - - - - - - - - - - - - Pomarańczowy - - - - - - - - - - - - -GPIO 25 5V - - - - - - - - - - - - - - - - - Czerwony- - - - - - - - - - - - - - -5V
Montaż elektroniki
Niewiele jest w składaniu wszystkiego w całość. Zdjąłem roombę z obudowy. Po zdjęciu pokrywy można łatwo odpiąć istniejące plastikowe wsporniki i wywiercić otwory do zamontowania elektroniki. Istnieją istniejące porty do prowadzenia kabli z silników. Jeśli używasz standardowego akumulatora Roomba, istnieje już wycięcie na dostęp do zacisków akumulatora.
Baterie
Użyłem osobnych baterii do Raspberry Pi i sterownika silnika. Bateria Pi to po prostu zestaw baterii 5 V służący do doładowania telefonów komórkowych. Do sterownika silnika użyłem oryginalnego akumulatora Roomba, który był z nim dołączony. Zaciski akumulatora nie są oznaczone, dlatego najlepiej sprawdzić napięcie za pomocą woltomierza przed podłączeniem go do sterownika silnika. Do podłączenia przewodów do akumulatora Roomba użyłem czterech magnesów neodymowych (patrz zdjęcia). Przylutowałem dwa magnesy do przewodów, a pozostałe dwa przykleiłem do zacisków akumulatora. Lutowanie rozmagnesowuje magnesy. Jednak powłoka na zewnątrz może nadal przyczepiać się do magnesów na zaciskach i przewodzić prąd. To sprawia, że podłączanie i odłączanie akumulatora to bułka z masłem.
Testowanie
Gdy już wszystko zbierzesz, sprawdź, czy wszystko jest prawidłowo podłączone, podeprzyj robota na czymś (aby się nie odtoczył) i włącz go.
Zaloguj się i uruchom program roombabot.py
pi@raspberrypi:~$ sudo python /home/pi/roombarobot/roombabot.py
Przejdź do strony kontroli sieci i przetestuj ją. Jeśli wszystko jest prawidłowo podłączone, koła powinny obracać się w odpowiednim kierunku po kliknięciu przycisków / wciśnięciu klawiszy strzałek (nie zapomnij kliknąć połącz).
Krok 6: Uruchamianie kodu Pythona podczas rozruchu / kończenie pracy
Ostatnią rzeczą, jaką musimy zrobić, to powiedzieć Raspbianowi, aby uruchomił program Python podczas startu. Aby to zrobić, stworzymy skrypt i zaplanujemy jego uruchomienie przy ponownym uruchomieniu za pomocą crontab.
Utwórz Skrypt
Utwórz nowy plik skryptu o nazwie startrobot.sh w katalogu użytkownika pi
pi@raspberrypi:~ $ sudo nano startrobot.sh
Skopiuj następujące wiersze do pliku
#!/kosz/sz
#startrobot.sh cd / cd /home/pi/roombarobot sudo python roombabot.py cd /
Zapisz plik i wyjdź
Uczyń plik startrobot.sh wykonywalnym
pi@raspberrypi:~$ sudo chmod 755 startrobot.sh
Przetestuj (naciśnij ctrl + c, aby zatrzymać)
pi@raspberrypi:~$ sh startrobot.sh
Edytuj plik crontab
pi@raspberrypi:~$ sudo crontab -e
Dodaj następujący wiersz na dole pliku
# m h dom mon dow polecenie
@reboot sh /home/pi/startrobot.sh
Zapisz i wyjdź
Program roombabot.py powinien się teraz uruchomić po ponownym uruchomieniu Pi lub wyłączeniu zasilania.
Kończąc
W tym momencie powinieneś mieć funkcjonalnego robota, którym możesz sterować za pomocą przeglądarki z dowolnego urządzenia w swojej sieci. Poszedłem trochę dalej od oryginalnej kompilacji i konfiguracji VPN, aby móc uzyskać dostęp do robota, gdy jestem z dala od domu. W przyszłości zamierzam wprowadzić dodatkowe zmiany. Planuję uczynić go autonomicznym i ewentualnie podążać za ruchem, jednocześnie będąc w stanie przejąć kontrolę, kiedy tylko zechcę.
Zalecana:
DIY Arduino sterowany przez Bluetooth samochód: 6 kroków (ze zdjęciami)
DIY Arduino Bluetooth Controlled Car: Cześć przyjaciele! Nazywam się Nikolas, mam 15 lat i mieszkam w Atenach w Grecji. Dzisiaj pokażę Ci, jak zrobić 2-kołowy samochód sterowany przez Bluetooth przy użyciu Arduino Nano, drukarki 3D i kilku prostych elementów elektronicznych! Koniecznie obejrzyj moje
Robot sterowany przez Wi-Fi za pomocą Wemos D1 ESP8266, Arduino IDE i aplikacji Blynk: 11 kroków (ze zdjęciami)
Robot sterowany przez Wi-Fi za pomocą Wemos D1 ESP8266, Arduino IDE i aplikacji Blynk: W tym samouczku pokażę, jak zrobić zrobotyzowany czołg sterowany przez Wi-Fi, sterowany ze smartfona za pomocą aplikacji Blynk. W tym projekcie wykorzystano płytkę ESP8266 Wemos D1, ale można również zastosować inne modele płyt (NodeMCU, Firebeetle itp.), a pr
Rolling Robot z ESP32 Thing i sterownikiem TB6612FNG, sterowany przez Androida przez BLE: 11 kroków
Rolling Robot z ESP32 Thing i sterownikiem TB6612FNG, kontrolowany przez Androida przez BLE: Witam wszystkich To jest moja pierwsza instrukcja. Toczący się robot (nazywany Raidho - od runy kojarzącej się z ruchem) oparty na ESP32 Thing, TB6612 FNG i BLE. Jedną z części, która może wydawać się osobliwa, jest to, że zdjęcia nie pochodzą z procesu tworzenia
Robot FPV Rover sterowany przez Wi-Fi (z Arduino, ESP8266 i silnikami krokowymi): 11 kroków (ze zdjęciami)
Robot łazik FPV sterowany przez Wi-Fi (z Arduino, ESP8266 i silnikami krokowymi): Ta instrukcja pokazuje, jak zaprojektować zdalnie sterowany dwukołowy robot łazik przez sieć Wi-Fi, używając Arduino Uno podłączonego do modułu Wi-Fi ESP8266 oraz dwa silniki krokowe. Robotem można sterować ze zwykłej przeglądarki internetowej
Wi-Servo: Serwomotory sterowane przez przeglądarkę Wi-Fi (z Arduino + ESP8266): 5 kroków
Wi-Servo: Serwomotory sterowane przez przeglądarkę Wi-Fi (z Arduino + ESP8266): Ta instrukcja pokazuje, jak zdalnie sterować niektórymi serwomotorami w sieci Wi-Fi za pomocą zwykłej przeglądarki internetowej (na przykład Firefox). Może to być używane w kilku zastosowaniach: zabawkach, robotach, dronach, obrocie/pochyle kamery itp. Silniki zostały