Obsah:

MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX): 7 kroků (s obrázky)
MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX): 7 kroků (s obrázky)

Video: MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX): 7 kroků (s obrázky)

Video: MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX): 7 kroků (s obrázky)
Video: Esp8266 2WD car 2024, Červenec
Anonim
Image
Image
MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX)

** 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

Díly
Díly
Díly
Díly
Díly
Díly
Díly
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

Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava 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í

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

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ě

Nastavení sítě
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

Nainstalujte si hlavní program
Nainstalujte si hlavní program
Nainstalujte si hlavní program
Nainstalujte si 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: