2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Snad se mnou všichni budou souhlasit, že Arduino Serial je skvělý nástroj pro ladění vašich projektů. Je to v podstatě jediná možnost ladění Arduina. Někdy však není možné ani praktické spustit kabel USB z Arduina nebo jiného mikrokontroléru do počítače.
Vyrobil jsem tedy tuto desku UART-WiFi na základě ESP8266-01, která je v dnešní době velmi levná. Desky jsou malé, můžete je zapojit do prkénka, připojit napájení, RX, TX a uzemnění a vše, co přijme z UART, vám do počítače přenese přes WiFi a naopak.
Funkce:
- přenosová rychlost až 115200 (teoreticky dokonce až 921600, ale toto není testováno)
- přijímá/odesílá data z UART a odesílá/přijímá data přes WiFi přímo do vašeho počítače pomocí portu 23 (Telnet)
- 18 součástek, díly stojí asi 3,50 USD
- Oboustranná deska plošných spojů 20 x 45 mm, kompatibilní s deskou
- Kolík RX s tolerancí 5 V.
- napěťový vstup od 12 V do 3,3 V, odběr proudu v průměru asi 80 mA
Tyto desky používám už asi půl roku a shledal jsem je nesmírně užitečné. Dokonce je upřednostňuji před USB-UART můstky, protože s mojí deskou stačí jeden z nich zapojit do prkénka a nemusím si dělat starosti s kabely po celém stole. Rovněž nemáte žádný jiný hardware, žádné volné USB porty a tyto desky poskytují úplnou galvanickou izolaci od vašeho počítače, což je dobré bezpečnostní opatření a nemusíte si dělat starosti s různými potenciály země.
Krok 1: Jak to funguje
Jakmile je modul připojen k napájení, začne se pokoušet připojit k předdefinovanému WiFi. Během této fáze bliká žlutá LED. Jakmile se připojí, žlutá LED zůstane rozsvícená. Poté modul čeká na připojení od klienta Telnet (viz další krok) a zelená LED bliká. Po úspěšném navázání připojení vám terminál Telnet zobrazí výzvu s dotazem na požadovanou přenosovou rychlost. Vložíte přenosovou rychlost do terminálu a jste hotovi! Nyní cokoli, co zadáte do terminálu, bude odesláno přes WiFi a poté bude vyvedeno z TX pinu ESP8266. Podobně cokoli, co se objeví na pinu RX, je odesláno do terminálu. V zásadě nepoznáte rozdíl mezi sériovou a telnetovou konzolí.
LED diody:
- žlutá (úplně vlevo) - stav Wifi, bliká - pokouší se připojit, svítí - připojeno
- zelená (druhá zleva) - stav Telnetu. bliká - čeká na připojení, zelená - připojeno
- modrá (dvě úplně vpravo) - RX a TX
Krok 2: Jak to nastavit
Spojení
Jedinou mírnou komplikací je, že potřebujete jakýkoli identifikátor pro každé zařízení Telnet (podobné každému sériovému portu s číslem). V mém projektu jsem použil Static IP. Za normálních okolností, jakmile se zařízení připojí k WiFi, automaticky obdrží IP adresu ze serveru DHCP. Toto se nazývá dynamické IP adresování, ale problém je v tom, že se IP adresa může změnit. Desku jsem tedy naprogramoval tak, aby vždy přijímala předdefinovanou IP adresu, v mém případě 192.168.2.20x, kde x je číslo desky. Toto se nazývá statické IP adresování. Poté stačí připojit konzolu Telnet k 192.168.2.20x: 23 a jste připraveni jít.
Jako konzolu můžete používat celou řadu aplikací, dvě nejznámější jsou pravděpodobně PuTTY nebo YAT (Yet Another Terminal). Používám to druhé a v sekci obrázku vidíte, jak to nastavit - stačí znát dříve zmíněnou statickou IP adresu.
Firmware
Firmware je napsán v Arduino IDE a najdete ho na mém GitHubu. Pokud chcete naprogramovat svůj ESP8266, musíte se podívat do záhlaví a upravit tam některé proměnné, konkrétně:
- ssid - název WiFi, ke kterému chcete desku připojit
- pass - heslo k té WiFi
- ip - statická IP, kterou chcete, aby deska měla; vyberte něco mimo skupinu DHCP (nebo vyberte něco mezi 200 - 250, což je obvykle zdarma)
- brána - IP vašeho routeru
- podsíť
Poslední dvě informace můžete získat z příkazového řádku stisknutím kláves Win + R, zadáním „cmd“a poté zadáním „ipconfig“. Viz obrázky.
Samozřejmě potřebujete Arduino IDE, nástrojový řetězec esp8266 atd., Ale o tom existuje mnoho dalších návodů.
Prkno
Musíte také vyrobit desku plošných spojů. I když to není složité a teoreticky byste si to mohli vyrobit i doma, doporučuji použít nějakého čínského výrobce PCB. Je to levné a funguje to dobře. Použil jsem ALLPCB a byl jsem spokojen.
Napájení
Na desce musíte zajistit napájení. Můžete jej buď přímo napájet 3,3 V (propojka JP1 v poloze 3,3 V), nebo napájet napětí regulátorem 3,3 V (propojka v druhé poloze). Regulátor může přijímat napětí až 12 V. Všechny kondenzátory jsou již integrovány na desce.
Krok 3: Závěr
Jak jsem již řekl, shledal jsem tyto desky velmi užitečné pro prototypování, nejen s Arduinem, ale s jakýmkoli MCU obecně. A používám je už asi půl roku a neměl jsem s nimi problém.
Zdrojový kód, soubory Eagle a některé obrázky najdete buď na mém GitHubu, nebo v zip souboru níže. Doporučuji však GitHub, protože může existovat novější verze.
Pokud máte nějaké dotazy, komentáře nebo návrhy, neváhejte je zanechat níže.