Obsah:

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

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

Video: Rover MicroPython IoT založený na WEMOS D1 (ESP-8266EX): 7 krokov (s obrázkami)
Video: Esp8266 2WD car 2024, November
Anonim
Image
Image
MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover založený na WEMOS D1 (ESP-8266EX)

** Aktualizácia: Zverejnil som nové video pre v2 s kopijou **

Organizujem workshopy robotiky pre malé deti a vždy hľadám ekonomické platformy na vytváranie zaujímavých projektov. Aj keď sú klony Arduino lacné, používa jazyk C/C ++, ktorý deti nepoznajú. Tiež nemá vstavané WiFi, čo je nevyhnutné pre projekty internetu vecí. Na druhej strane, zatiaľ čo Raspberry Pi má WIFI a deti ho môžu programovať pomocou Pythonu, je to stále drahá platforma na ovládanie niekoľkých portov GPIO na zapínanie a vypínanie zariadení. Potrebujem niečo medzi tým, čo má možnosti WIFI aj Python. Zdá sa, že som našiel svoju odpoveď v programe MicroPython, ktorá prebehla na lacnej doske založenej na ESP8266.

Čo je to Micropython?

Podľa svojej webovej stránky je MicroPython štíhlou a efektívnou implementáciou programovacích jazykov Python 3, ktorá obsahuje malú podmnožinu štandardnej knižnice Pythonu a je optimalizovaná na beh na mikrokontroléroch a v obmedzenom prostredí (napríklad ESP8266). Je to v podstate Python IDE na čipe. Jednou z veľkých výhod je, že môžete vytvárať kód a meniť ho za behu pomocou klienta webového prehliadača s názvom Webrepl. (Skúste to urobiť v Arduine.) Údaje senzora môžete tiež vidieť v reálnom čase na serveri Webrepl, namiesto toho, aby ste sa spoliehali na zaznamenávanie údajov alebo LED obrazovku v Arduine.

Čo je ESP8266?

Stručne povedané, predstavte si to ako Arduino so vstavanými schopnosťami siete. Arduino IDE môžete použiť na programovanie dosiek ESP8266 v C/C ++ alebo ich môžete flashovať pomocou NodeMCU alebo MicroPython. V tomto projekte ukážem MicroPython na dosku ESP8266.

Pre tento jednoduchý projekt, kde budem navigovať auto s pohonom 2WD pomocou webového prehliadača, som sa rozhodol získať WEMOS D1, ktorý je založený na ESP8266-12EX. Existujú aj ďalšie dosky, ktoré sú navrhnuté pre MicroPython, ale chcel som niečo lacné, čo by som mohol vyhodiť, ak by to nespĺňalo moje kritériá. Podľa očakávania splnil všetky moje požiadavky a s najväčšou pravdepodobnosťou do budúcich projektov začleniame WeMos a Micropython.

Krok 1: Diely

Časti
Časti
Časti
Časti
Časti
Časti
Časti
Časti
  • Wemos D1 alebo akékoľvek dosky na báze ESP8266
  • Štít motora (používam lacný L293D od AliExpress)
  • Držiaky batérií pre 4 x AA a 9V (4 x AA batérie sú pre motory a 9V sú pre dosku Wemos)
  • Podvozok automobilu 2WD
  • Dupont káble

Na zostavenie všetkého môže byť potrebná spájkovačka, skrutkovač a lepiaca pištoľ.

Krok 2: Zostavenie hardvéru

Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru

Najprv zostavte podvozok podľa pokynov.

Potom za horúca prilepte ostatné súčasti podľa obrázku.

Vodiče motora by mali byť spájkované na svorky motora a na spevnenie koncových spojov použite horúce lepidlo.

Na držiak batérie 4AA je pripevnený malý spínač. Tým sa zapne/vypne napájanie štítu motora.

Krok 3: Zapojenie

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

Postupujte podľa mojej schémy zapojenia podľa obrázku.

Štít Wemos na motor:

D1 IN2

D2 IN1 D3 IN4 ** preskočiť D4 D5 IN3 GND -> GND

Štít motora na motor/výkon:

Terminál -> ľavý motor

B terminál -> Pravý motor VCC -> Batéria (+) GND -> Batéria (-)

Krok 4: Inštalácia MicroPython

Po prvé, Wemos má sériový/USB čip založený na CH304G. Je to ten istý čip, ktorý sa nachádza v lacných klonoch Arduino a musíte si nainštalovať správny ovládač pre Mac alebo PC. Pri inštalácii ovládača postupujte podľa pokynov na tomto webe.

Pripojte Wemos k počítaču a potvrďte, že váš počítač dokáže detekovať Wemos. Na počítačoch Mac spustite nasledujúci príkaz a uvidíte zariadenie s názvom /dev/tty.wchusbserial640.

$ ls -lt /dev /tty* | hlava

crw-rw-rw- 1 koreňové koleso 17, 4. marca 2 23:31 /dev/tty.wchusbserial640

Ak ste na počítači, môžete tento návod použiť ako referenciu.

Ďalej budete musieť v počítači nastaviť Python 2 alebo 3, pretože nástroj flash, esptool.py, je založený na Pythone. Aj keď sprievodca MicroPython môže uvádzať, že nástroj funguje iba s jazykom Python 2.7, dokázal som ho bez problémov spustiť v jazyku Python 3. Stiahnite si najnovší Python z https://www.python.org a postupujte podľa pokynov na inštaláciu pre PC alebo Mac.

Nakoniec budete musieť na Wemos nainštalovať MicroPython. Stránka MicroPython má vynikajúci návod, ako nastaviť MicroPython na ESP8266. Postupujte podľa pokynov na inštaláciu v časti Začíname s programom MicroPython na ESP8266.

Nasledujú príkazy, ktoré som použil:

$ esptool.py --port /dev/tty.wchusbserial640 erase_flash

esptool.py v1.3 Pripojenie…. Spustený blikač Cesanta … Vymazanie blesku (môže to chvíľu trvať) … Vymazanie 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 Pripojenie…. Prebieha blikač Cesanta… Parametre blesku nastavené na 0x0240 Napísali 589824 bajtov pri 0x0 za 50,8 sekundy (92,8 kbit/s)… Odchod…

MicroPython je teraz nainštalovaný na vašej doske!

Krok 5: Nastavenie siete

Nastaviť sieť
Nastaviť sieť

Aj keď je MicroPython teraz nainštalovaný vo vašom Wemose, ešte nie je pripojený k vašej sieti. Najprv musíte povoliť sieť. Na počítačoch Mac spustite príkaz SCREEN a spustite reláciu sériového terminálu pre Wemos.

$ obrazovka /dev /tty.wchusbserial640 115200

Keď uvidíte prázdnu obrazovku, stlačením klávesu RETURN sa zobrazí výzva:

>>

(Poznámka: Ak chcete skončiť, zadajte CTRL-A CTRL- )

Teraz povoľte prístup webovému klientovi. Spustite inštalačný program zadaním príkazu „import webrepl_setup“. Zadajte E, aby ste povolili WebREPL, a potom nastavte heslo. Zmeny aktivujete reštartovaním.

>> import webrepl_setup

Stav automatického spustenia démona WebREPL: zakázaný Chcete (E) zapnúť alebo (D) povoliť spustenie pri zavádzaní? (Prázdny riadok ukončíte)> E Ak chcete povoliť WebREPL, musíte preň nastaviť heslo Nové heslo: xxxxx Potvrdiť heslo: xxxxx Po reštarte budú aktivované zmeny Chcete reštartovať teraz? (r/n) r

Nakoniec si stiahnite klienta Webrepl do svojho počítača. Toto je voliteľné, ale klient prichádza s ďalšími užitočnými nástrojmi, ktoré budete chcieť neskôr použiť. Webrepl_cli.py je napríklad príkaz na kopírovanie súborov do Wemos v syntaxi podobnej scp. Na stiahnutie klienta použite git. (Nainštalujte si nástroj git, ak ho ešte nemáte.)

klon git

Otvorte webový prehliadač a do poľa pre adresu URL zadajte umiestnenie stiahnutého umiestnenia súboru klienta webrepl, napríklad:

súbor: ///Users/xxxxx/wemos/webrepl/webrepl.html

To by malo zobrazovať klienta webrepl vo vašom prehliadači. Aby ste sa k nemu mohli pripojiť, musíte sa najskôr pripojiť k jeho prístupovému bodu WIFi. Ak sa pozriete na dostupné WIFI pre váš počítač, uvidíte, že sieť začína na MicroPython-xxxx. Pripojte sa k danej sieti. (Varovanie: Po pripojení k tejto sieti stratíte prístup na internet.)

Vráťte sa k svojmu klientovi webrepl a kliknite na Pripojiť. Malo by vás vyzvať na zadanie hesla. Zadajte svoje heslo Wemos a mali by ste sa pripojiť.

Vitajte v MicroPythone!

Heslo: WebREPL pripojený >>>

Váš Wemos stále beží v režime AccessPoint. Aj keď je to v poriadku, dávam prednosť spusteniu v režime stanice, kde sa pripája k môjmu domácemu WIFI, aby k nemu môj počítač mal prístup prostredníctvom domáceho WIFI a stále mal prístup na internet. Na to budete musieť vytvoriť súbor s názvom boot.py so sieťovou konfiguráciou a nahrať ho na server Wemos.

Tu je ukážka boot.py. Zmeňte ssid a heslo do svojej domácej siete WIFI. Tiež mu chcem dať statickú IP 192.168.0.32. Zmeňte ho na dostupnú IP adresu vášho domáceho WIFI.

boot.py (môžete si ho stiahnuť nižšie)

import gc

import webrepl def do_connect (): import siete sta_if = network. WLAN (network. STA_IF) ak nie sta_if.isconnected (): print ('pripojenie k sieti …') 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 (' ',' ') zatiaľ čo nie je sta_if.isconnected (): odovzdajte tlač (' konfigurácia siete: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

Na odoslanie súboru boot.py vášmu serveru Wemos použite formulár „Odoslať súbor“klienta Webrepl. Reštartujte stlačením resetovacieho tlačidla. Ak ste stále pripojení cez USB pomocou príkazu SCREEN, uvidíte:

pripájanie k sieti … konfigurácia siete: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') Démon WebREPL sa spustil na adrese ws: //192.168.4.1: 8266 Démon WebREPL spustený na serveri ws: //192.168.0.32: 8266 Spustený webrepl v normálnom režime nemohol otvoriť súbor „main.py“na čítanie programu MicroPython v1.8.7-7-gb5a1a20a3 dňa 2017-01-09; Modul ESP s ESP8266 Pre viac informácií zadajte „help ()“. >>>

Toto potvrdzuje, že váš Wemos je pripojený k vášmu domácemu WIFI pomocou adresy ipad 192.168.0.32.

Na overenie adresy IP môžete odoslať príkaz ping.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 dátových bajtov

64 bajtov od 192.168.0.32: icmp_seq = 0 ttl = 255 čas = 9,334 ms 64 bajtov od 192.168.0.32: icmp_seq = 1 ttl = 255 čas = 11,071 ms..

Krok 6: Nainštalujte hlavný program

Nainštalujte hlavný program
Nainštalujte hlavný program
Nainštalujte hlavný program
Nainštalujte hlavný program

Nakoniec budete musieť nainštalovať hlavný program, ktorý bude naďalej bežať na vašom Wemos.

Vráťte sa do webového prehliadača a spustite klientsky program webrepl. Zmeňte IP adresu na IP adresu vášho Wemosu. V mojom prípade je to teraz 192.168.0.32. Zadajte svoje heslo Wemos a teraz by ste mali byť spojení s Wemos.

Nahrajme priložený program main.py. Stiahnite si priložený súbor do počítača. Kliknutím na položku Vybrať súbor vyberte stiahnutý súbor main.py a potom kliknite na položku Odoslané do zariadenia.

Na načítanie programu main.py budete musieť stlačiť tlačidlo Rest. Po stlačení tlačidla Reset sa zobrazí:

pripájanie k sieti…

konfigurácia siete: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL daemon sa spustil na ws: //192.168.4.1: 8266 WebREPL daemon sa spustil na ws: //192.168.0.32: 8266 Spustený webrepl v normálnom režime Počúvanie, pripojte prehliadač k …

To znamená, že je aktivovaný váš program main.py a zaradený do portu 80.

Na otestovanie otvorte webový prehliadač a zadajte

Mala by sa zobraziť obrazovka ovládania auta, ako je znázornené na videu. Ak sú vaše káble správne pripojené, ovládacie tlačidlá budú prenášať správne signály do vašich portov GPIO na presun auta.

Krok 7: Budúce zlepšenia

V mojom zozname v2 sú tieto nasledujúce úlohy:

  • Na ovládanie otáčok motora použite PWM
  • Vylepšiť webové rozhranie. Možno použite rámec aREST. Neverím, že aREST lib je v súčasnosti k dispozícii na MicroPythone, takže ho možno budem musieť hacknúť.

Ďakujeme, že ste si prečítali tento návod. Nasledujte ma na Facebooku, Youtube a Instructables pre ďalšie projekty v budúcnosti.

Odporúča: