Obsah:
- Krok 1: Díly
- Krok 2: Montáž hardwaru
- Krok 3: Zapojení
- Krok 4: Instalace MicroPythonu
- Krok 5: Nastavení sítě
- Krok 6: Nainstalujte hlavní program
- Krok 7: Budoucí vylepšení
Video: MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX): 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
** Aktualizace: Zveřejnil jsem nové video pro v2 s kopím **
Pořádám workshopy robotiky pro malé děti a vždy hledám ekonomické platformy pro vytváření zajímavých projektů. Zatímco klony Arduino jsou levné, používá jazyk C/C ++, který děti neznají. Také nemá vestavěnou WiFi, která je nezbytná pro projekty IoT. Na druhou stranu, zatímco Raspberry Pi má WIFI a děti jej mohou programovat pomocí Pythonu, je to stále drahá platforma pro ovládání několika portů GPIO pro zapnutí a vypnutí zařízení. Potřebuji něco mezi tím, co má funkce WIFI i Python. Zdá se, že jsem našel svou odpověď v MicroPythonu, která se objevila na levné desce založené na ESP8266.
Co je Micropython?
Podle svých webových stránek je MicroPython štíhlá a efektivní implementace programovacích jazyků Python 3, která zahrnuje malou podmnožinu standardní knihovny Pythonu a je optimalizována pro běh na mikrokontrolérech a v omezeném prostředí (jako je ESP8266). Je to v podstatě Python IDE na čipu. Jednou z hlavních výhod je, že můžete vytvářet kód a měnit jej za běhu pomocí klienta webového prohlížeče s názvem Webrepl. (Zkuste to udělat v Arduinu.) Data senzorů můžete také vidět v reálném čase na Webrepl, místo abyste se spoléhali na protokolování dat nebo LED obrazovku v Arduinu.
Co je ESP8266?
Stručně řečeno, představte si to jako Arduino s integrovanou schopností sítě. Arduino IDE můžete použít k programování desek ESP8266 v C/C ++ nebo můžete flashovat pomocí NodeMCU nebo MicroPython. V tomto projektu budu blikat MicroPython na desku ESP8266.
Rozhodl jsem se získat WEMOS D1, který je založen na ESP8266-12EX pro tento jednoduchý projekt, kde budu navigovat auto 2WD pomocí webového prohlížeče. Existují i jiné desky, které jsou určeny pro MicroPython, ale já jsem chtěl něco levného, co bych mohl vyhodit, pokud by to nesplňovalo moje kritéria. Jak se očekávalo, splnilo všechny mé požadavky a s největší pravděpodobností začleníme WeMos a Micropython do budoucích projektů.
Krok 1: Díly
- Wemos D1 nebo jakékoli desky na bázi ESP8266
- Štít motoru (používám levný L293D od AliExpress)
- Držáky baterií pro 4 x AA a 9V (4 x AA baterie pro motory a 9V pro desku Wemos)
- Podvozek automobilu 2WD
- Dupont kabely
Možná budete potřebovat páječku, šroubovák a lepicí pistoli, abyste dali všechno dohromady.
Krok 2: Montáž hardwaru
Nejprve sestavte podvozek podle pokynů.
Poté za horka přilepte ostatní součásti podle obrázku.
Vodiče motoru by měly být připájeny ke svorkám motoru a pomocí horkého lepidla vyztuženy spoje svorek.
Na držák baterie 4AA připevněn malý spínač. Tím se zapne/vypne napájení štítu motoru.
Krok 3: Zapojení
Postupujte podle mého schématu zapojení, jak je znázorněno.
Wemos to Motor Shield:
D1 IN2
D2 IN1 D3 IN4 ** přeskočit D4 D5 IN3 GND -> GND
Motorový štít motoru/výkon:
A terminál -> Levý motor
Svorka B -> Pravý motor VCC -> Baterie (+) GND -> Baterie (-)
Krok 4: Instalace MicroPythonu
Za prvé, Wemos má sériový/USB čip založený na CH304G. Je to stejný čip, jaký najdete v levných klonech Arduino a musíte si nainstalovat správný ovladač pro Mac nebo PC. Při instalaci ovladače postupujte podle pokynů na tomto webu.
Připojte Wemos k počítači a potvrďte, že váš počítač dokáže detekovat Wemos. Na Macu spusťte následující příkaz a uvidíte zařízení s názvem /dev/tty.wchusbserial640.
$ ls -lt /dev /tty* | hlava
crw-rw-rw- 1 kořenové kolo 17, 4. března 2 23:31 /dev /tty.wchusbserial640
Pokud jste na počítači, můžete tento návod použít jako referenci.
Dále budete muset v počítači nastavit Python 2 nebo 3, protože nástroj flash, esptool.py, je založen na Pythonu. Zatímco průvodce MicroPython může uvádět, že nástroj funguje pouze s Pythonem 2.7, dokázal jsem to spustit v Pythonu 3 bez problémů. Stáhněte si nejnovější Python z https://www.python.org a postupujte podle pokynů k instalaci pro váš PC nebo Mac.
Nakonec budete muset na Wemos nainstalovat MicroPython. Web MicroPython má vynikající návod, jak nastavit MicroPython na ESP8266. Postupujte podle pokynů k instalaci v Začínáme s MicroPython na ESP8266.
Níže jsou uvedeny příkazy, které jsem použil:
$ esptool.py --port /dev/tty.wchusbserial640 erase_flash
esptool.py v1.3 Připojování…. Spouštění stmívače Cesanta … Mazání blesku (může to chvíli trvat) … Vymazání trvalo 10,5 sekundy
$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin
esptool.py v1.3 Připojování…. Spouštění stmívače Cesanta… Parametry blesku nastaveny na 0x0240 Napsáno 589824 bajtů při 0x0 za 50,8 sekundy (92,8 kbit/s)… Opouštění…
MicroPython je nyní nainstalován na vaší desce!
Krok 5: Nastavení sítě
Zatímco MicroPython je nyní nainstalován na vašem Wemosu, ještě není připojen k vaší síti. Nejprve musíte povolit síť. Na počítačích Mac spusťte příkaz SCREEN a spusťte relaci sériového terminálu s Wemos.
$ obrazovka /dev /tty.wchusbserial640 115200
Když uvidíte prázdnou obrazovku, stisknutím RETURN se zobrazí výzva:
>>
(Poznámka: Pro ukončení zadejte CTRL-A CTRL-)
Nyní povolíme přístup webového klienta. Chcete -li spustit instalační program, zadejte „import webrepl_setup“. Chcete -li povolit WebREPL, zadejte E a poté nastavte heslo. Chcete -li aktivovat změny, restartujte počítač.
>> import webrepl_setup
Stav automatického spuštění démona WebREPL: zakázáno Chcete (E) nable nebo (D) isable it running on boot? (Prázdný řádek ukončíte)> E Chcete -li povolit WebREPL, musíte pro něj nastavit heslo Nové heslo: xxxxx Potvrdit heslo: xxxxx Změny budou aktivovány po restartu Chcete restartovat nyní? (y/n) y
Nakonec si stáhněte klienta Webrepl do počítače. Toto je volitelné, ale klient přichází s dalšími užitečnými nástroji, které budete chtít později použít. Například webrepl_cli.py je příkaz ke kopírování souborů do Wemos v syntaxi podobné scp. Ke stažení klienta použijte git. (Nainstalujte si nástroj git, pokud jej ještě nemáte.)
klon git
Otevřete webový prohlížeč a do pole URL zadejte umístění staženého umístění souboru klienta webrepl, jako například:
soubor: ///Users/xxxxx/wemos/webrepl/webrepl.html
To by mělo zobrazit klienta webrepl ve vašem prohlížeči. Než se k němu můžete připojit, musíte se nejprve připojit k jeho přístupovému bodu WIFi. Když se podíváte na dostupné WIFI pro váš počítač, uvidíte, že síť začíná na MicroPython-xxxx. Připojte se k této síti. (Varování: Jakmile se k této síti připojíte, ztratíte přístup k internetu.)
Vraťte se zpět ke svému klientovi webrepl a klikněte na Připojit. Mělo by vás vyzvat k zadání hesla. Zadejte své heslo Wemos a měli byste se připojit.
Vítejte v MicroPythonu!
Heslo: WebREPL připojen >>>
Váš Wemos stále běží v režimu AccessPoint. I když je to v pořádku, dávám přednost spuštění v režimu stanice, kde se připojuje k mému domácímu WIFI, aby k němu můj počítač měl přístup přes domácí WIFI a stále měl přístup k internetu. Chcete -li to provést, musíte vytvořit soubor s názvem boot.py se síťovou konfigurací a nahrát jej na server Wemos.
Zde je ukázka boot.py. Změňte ssid a heslo do vaší domácí WIFI sítě. Také chci dát statickou IP 192.168.0.32. Změňte ji na dostupnou IP adresu vašeho domácího WIFI.
boot.py (můžete si jej stáhnout níže)
import gc
import webrepl def do_connect (): import sítě sta_if = network. WLAN (network. STA_IF) pokud ne sta_if.isconnected (): print ('připojení k síti …') sta_if.active (True) sta_if.ifconfig (('192.168. 0,32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' ') zatímco není sta_if.isconnected (): projít tiskem (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()
Pomocí formuláře „Odeslat soubor“klienta Webrepl odešlete soubor boot.py vašemu serveru Wemos. Restartujte stisknutím tlačítka reset. Pokud jste stále připojeni přes USB pomocí příkazu SCREEN, uvidíte:
připojení k síti … konfigurace sítě: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL daemon spuštěn na ws: //192.168.4.1: 8266 WebREPL démon spuštěn na ws: //192.168.0.32: 8266 Spuštěný webrepl v normálním režimu nemohl otevřít soubor 'main.py' pro čtení MicroPython v1.8.7-7-gb5a1a20a3 na 2017-01-09; ESP modul s ESP8266 Pro více informací napište „help ()“. >>>
To potvrzuje, že je váš Wemos připojen k vaší domácí WIFI pomocí adresy ipad 192.168.0.32.
Tuto IP adresu můžete ověřit pomocí příkazu ping.
$ ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 datových bytů
64 bytů od 192.168.0.32: icmp_seq = 0 ttl = 255 čas = 9,334 ms 64 bytů od 192.168.0.32: icmp_seq = 1 ttl = 255 čas = 11,071 ms..
Krok 6: Nainstalujte hlavní program
Nakonec budete muset nainstalovat hlavní program, který bude i nadále běžet na vašem Wemosu.
Vraťte se do webového prohlížeče a spusťte klientský program webrepl. Změňte IP adresu na IP adresu vašeho Wemosu. V mém případě je to nyní 192.168.0.32. Zadejte své heslo Wemos a nyní byste měli být připojeni k Wemos.
Nahrajme připojený program main.py. Stáhněte si přiložený soubor do počítače. Kliknutím na Vybrat soubor vyberte stažený soubor main.py a poté klikněte na Odeslané do zařízení.
K načtení programu main.py budete muset stisknout tlačítko Rest. Po stisknutí tlačítka Reset uvidíte:
připojení k síti…
konfigurace sítě: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
WebREPL daemon spuštěn na ws: //192.168.4.1: 8266 WebREPL daemon spuštěn na ws: //192.168.0.32: 8266 Webrepl spuštěn v normálním režimu Poslech, připojte svůj prohlížeč k …
To znamená, že je aktivován váš program main.py a výpis na port 80.
Chcete -li otestovat, otevřete webový prohlížeč a zadejte
Měla by se zobrazit obrazovka ovládání automobilu, jak je znázorněno na videu. Pokud jsou vaše vodiče správně připojeny, ovládací tlačítka budou vysílat správné signály do vašich portů GPIO pro přesun auta.
Krok 7: Budoucí vylepšení
Na mém seznamu v2 jsou následující úkoly:
- K řízení otáček motoru použijte PWM
- Vylepšit webové rozhraní. Možná použijte aREST framework. Nevěřím, že aREST lib je v tuto chvíli k dispozici na MicroPythonu, takže ho možná budu muset hacknout.
Děkujeme, že jste si přečetli tento Instructable. Následujte mě na Facebooku, Youtube a Instructables pro další projekty v budoucnu.
Doporučuje:
Hlasově řízený raketomet Launcher založený na Alexě: 9 kroků (s obrázky)
Alexa Based Rocket Launcher: Jak se blíží zimní sezóna; přichází to období roku, kdy se slaví svátek světel. Ano, mluvíme o Diwali, což je skutečný indický festival oslavovaný po celém světě. Letos už Diwali skončil a vidět lidi
Wi-Fi odvlhčovač Apple HomeKit založený na ESP8266?: 6 kroků (s obrázky)
Wi-Fi odvlhčovač Apple HomeKit založený na ESP8266?: Bohužel existuje pouze jeden nebo dva odvlhčovače, které podporují Apple HomeKit, ale ty mají opravdu vysoké ceny (300 $+). Rozhodl jsem se tedy vytvořit vlastní odvlhčovač Apple HomeKit s podporou Wi-Fi na základě levného, který již mám? Já
IoT Smart Clock Dot Matrix Použijte Wemos ESP8266 - ESP Matrix: 12 kroků (s obrázky)
IoT Smart Clock Dot Matrix Použijte Wemos ESP8266-ESP Matrix: Vytvořte si vlastní IoT Smart Clock, který může: Zobrazit hodiny s krásnou ikonou animace Zobrazit připomenutí-1 až připomenutí-5 Zobrazit kalendář Zobrazit muslimské časy modliteb Zobrazit informace o počasí Zobrazit zprávy Zobrazit rady Zobrazit Zobrazení kurzu bitcoinu
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: 15 kroků (s obrázky)
Levný monitor kvality ovzduší IoT založený na RaspberryPi 4: Santiago, Chile během zimní ekologické nouze má výsadu žít v jedné z nejkrásnějších zemí světa, ale bohužel to nejsou všechny růže. Chile v zimní sezóně hodně trpí znečištěním vzduchu
10 $ Klíč založený na IoT Méně ovládání kola: 7 kroků (s obrázky)
10 $ Klíč založený na IoT Méně ovládání kola: OVLÁDÁTE SVÉ BIKE BEZDRÁTOVÝM TELEFONEM NA ANDROIDU. ŽÁDNÝ KLÍČ, ŽÁDNÉ NAPĚTÍ