Spisu treści:

Wireless Serial (UART) dla Arduino/STM32/etc.: 3 kroki (ze zdjęciami)
Wireless Serial (UART) dla Arduino/STM32/etc.: 3 kroki (ze zdjęciami)

Wideo: Wireless Serial (UART) dla Arduino/STM32/etc.: 3 kroki (ze zdjęciami)

Wideo: Wireless Serial (UART) dla Arduino/STM32/etc.: 3 kroki (ze zdjęciami)
Wideo: SKR PRO V1.1 TFT35 V2 2024, Lipiec
Anonim
Bezprzewodowy port szeregowy (UART) dla Arduino/STM32/itp
Bezprzewodowy port szeregowy (UART) dla Arduino/STM32/itp
Bezprzewodowy port szeregowy (UART) dla Arduino/STM32/itp
Bezprzewodowy port szeregowy (UART) dla Arduino/STM32/itp

Mam nadzieję, że wszyscy się ze mną zgodzą, że Arduino Serial to świetne narzędzie do debugowania twoich projektów. Cóż, jest to w zasadzie jedyna opcja debugowania Arduino. Ale czasami nie jest możliwe ani praktyczne podłączenie kabla USB z Arduino lub innego mikrokontrolera do komputera.

Zrobiłem więc tę płytkę UART-WiFi, opartą na ESP8266-01, która w dzisiejszych czasach jest tania jak barszcz. Płytka jest niewielka, można ją podłączyć do płytki stykowej, podłączyć zasilanie, RX, TX i masę, a wszystko, co otrzyma z UARTa, prześle do komputera przez WiFi i odwrotnie.

Cechy:

  • szybkość transmisji do 115200 (teoretycznie nawet do 921600, ale to nie jest testowane)
  • odbiera/wysyła dane z UART i wysyła/odbiera dane przez WiFi bezpośrednio do Twojego komputera za pomocą portu 23 (Telnet)
  • 18 komponentów, części kosztują około 3,50 USD
  • Dwustronna płytka drukowana 20 x 45 mm, kompatybilna z płytką stykową
  • Odporny na 5 V pin RX
  • wejście napięciowe od 12 V do 3,3 V, pobór prądu średnio ok. 80 mA

Używam tych tablic od około pół roku i uważam je za niezwykle przydatne. Wolę je nawet od mostków USB-UART, ponieważ z moją płytką po prostu podłączam jeden z nich do płytki stykowej i nie muszę się martwić o prowadzenie kabli po całym biurku. Nie masz też żadnego innego sprzętu, żadnych wolnych portów USB, a te płytki zapewniają pełną izolację galwaniczną od komputera, co jest dobrym zabezpieczeniem i nie musisz martwić się o różne potencjały uziemienia.

Krok 1: Jak to działa

Jak to działa
Jak to działa
Jak to działa
Jak to działa

Po włączeniu zasilania moduł zaczyna próbować połączyć się z predefiniowaną siecią Wi-Fi. Podczas tej fazy miga żółta dioda LED. Po podłączeniu żółta dioda LED pozostaje zapalona. Następnie moduł oczekuje na połączenie od klienta Telnet (patrz następny krok), a zielona dioda LED miga. Po pomyślnym nawiązaniu połączenia terminal Telnet wyświetla monit z pytaniem o żądaną prędkość transmisji. Wprowadzasz szybkość transmisji do terminala i gotowe! Teraz wszystko, co wpisujesz do terminala, jest wysyłane przez Wi-Fi, a następnie jest wyprowadzane z pinu TX ESP8266. Podobnie wszystko, co pojawia się na pinie RX, jest wysyłane do terminala. Zasadniczo nie można odróżnić konsoli szeregowej od telnetowej.

Diody:

  • żółty (najbardziej od lewej) - stan Wifi, miga - próba połączenia, świeci - połączono
  • zielony (drugi od lewej) - stan Telnet. miga - oczekiwanie na połączenie, zielony - połączono
  • niebieski (dwa skrajnie prawe) - RX i TX

Krok 2: Jak to skonfigurować

Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować
Jak to skonfigurować

Połączenie

Jedyną drobną komplikacją jest to, że potrzebny jest jakiś identyfikator dla każdego urządzenia Telnet (podobny do każdego portu szeregowego posiadającego numer). W moim projekcie użyłem statycznego adresu IP. Zwykle, gdy urządzenie łączy się z Wi-Fi, automatycznie otrzymuje adres IP z serwera DHCP. Nazywa się to dynamicznym adresowaniem IP, ale problem polega na tym, że adres IP może się zmienić. Zaprogramowałem więc płytkę w taki sposób, aby zawsze otrzymywała predefiniowany adres IP, w moim przypadku 192.168.2.20x, gdzie x to numer płytki. Nazywa się to statycznym adresowaniem IP. Następnie podłączasz konsolę Telnet do 192.168.2.20x:23 i jesteś gotowy do pracy.

Jako konsola możesz korzystać z różnych aplikacji, dwie najbardziej znane to prawdopodobnie PuTTY lub YAT (Yet Another Terminal). Ja korzystam z tego ostatniego i na zdjęciu widać, jak to ustawić - wystarczy znać wspomniany wcześniej Statyczny adres IP.

Oprogramowanie układowe

Oprogramowanie jest napisane w Arduino IDE i można je znaleźć na moim GitHubie. Jeśli chcesz zaprogramować swój ESP8266, musisz zajrzeć do nagłówka i zmodyfikować tam niektóre zmienne, a mianowicie:

  • ssid - nazwa sieci WiFi, z którą ma się połączyć płyta
  • pass - hasło do tego WiFi
  • ip - statyczny adres IP, który ma mieć płyta; wybierz coś spoza puli DHCP (lub po prostu wybierz coś między 200 a 250, co zwykle jest bezpłatne)
  • brama - adres IP twojego routera
  • podsieć

Możesz uzyskać dwie ostatnie informacje z wiersza poleceń, naciskając Win + R, wpisując „cmd”, a następnie wpisując „ipconfig”. Zobacz obrazki.

Oczywiście potrzebujesz Arduino IDE, toolchaina esp8266 itp., ale istnieje wiele innych samouczków na ten temat.

Deska

Musisz także wyprodukować płytkę PCB. Choć nie jest to skomplikowane i teoretycznie można by zrobić to w domu, polecam skorzystać z chińskiego producenta PCB. Jest tani i działa ładnie. Użyłem ALLPCB i byłem zadowolony.

Moc

Musisz zapewnić zasilanie tablicy. Można go zasilać bezpośrednio napięciem 3,3 V (zworka JP1 w pozycji 3,3 V) lub podawać napięcie przez regulator 3,3 V (zworka w drugiej pozycji). Regulator może przyjmować napięcia do 12 V. Wszystkie kondensatory są już zintegrowane na pokładzie.

Krok 3: Wniosek

Wniosek
Wniosek

Jak powiedziałem wcześniej, uważam, że te płyty są bardzo przydatne do prototypowania, nie tylko z Arduino, ale ogólnie z dowolnym MCU. A używam ich od około pół roku i nie miałem z nimi problemu.

Kod źródłowy, pliki Eagle i niektóre zdjęcia można znaleźć na moim GitHub lub w pliku zip poniżej. Ale polecam GitHub, ponieważ może być nowsza wersja.

Jeśli masz jakieś pytania, komentarze lub sugestie, zostaw je poniżej.

Zalecana: