Obsah:
- Krok 1: Diely
- Krok 2: Zostavenie hardvéru
- Krok 3: Zapojenie
- Krok 4: Inštalácia MicroPython
- Krok 5: Nastavenie siete
- Krok 6: Nainštalujte hlavný program
- Krok 7: Budúce zlepšenia
Video: Rover MicroPython IoT založený na WEMOS D1 (ESP-8266EX): 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
** 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
- 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
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
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
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
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:
Hlasom riadený raketomet Launcher založený na Alexe: 9 krokov (s obrázkami)
Hlasom riadený raketomet Launcher založený na Alexe: Ako sa blíži zimná sezóna; prichádza to obdobie roka, kedy sa oslavuje sviatok svetiel. Áno, hovoríme o Diwali, čo je skutočný indický festival oslavovaný po celom svete. Tento rok je Diwali už za nami a vidieť ľudí
Plotter na vajíčka založený na Arduine: 17 krokov (s obrázkami)
Vajcový ploter na báze Arduino: Vajcový ploter je umelecký robot, ktorý dokáže kresliť na guľovito tvarované predmety, ako sú vajíčka. Tento stroj by ste mohli použiť aj na kreslenie pingpongových loptičiek a golfových loptičiek. Môžete použiť svoju predstavivosť pri návrhoch, ktoré ste na ňu uviedli, napríklad by ste mohli urobiť
IoT Smart Clock Dot Matrix Použite Wemos ESP8266 - ESP Matrix: 12 krokov (s obrázkami)
IoT Smart Clock Dot Matrix Použite Wemos ESP8266-ESP Matrix: Vytvorte si vlastné inteligentné hodiny IoT, ktoré môžu: Zobrazovať hodiny s krásnou ikonou animácie Zobraziť pripomienku-1 až pripomenutie-5 Zobraziť kalendár Zobraziť časy moslimských modlitieb Zobraziť informácie o počasí Zobraziť správy Zobraziť rady Zobraziť Zobrazenie kurzu bitcoinu
Cenovo dostupný monitor kvality ovzdušia IoT založený na krokoch RaspberryPi 4: 15 (s obrázkami)
Nízkonákladový monitor kvality ovzdušia IoT založený na RaspberryPi 4: Santiago, Čile počas zimnej núdzovej situácie v oblasti životného prostredia má výsadu žiť v jednej z najkrajších krajín sveta, ale bohužiaľ to nie je všetko ružové. Čile v zimnom období veľmi trpí kontamináciou vzduchu,
10 $ kľúč založený na IoT bez ovládania bicykla: 7 krokov (s obrázkami)
10 $ kľúč založený na IoT Menej ovládania bicykla: BEZDRÁTOVÉ OVLÁDANIE BICYKLU VÁŠHO ANDROIDNÉHO TELEFÓNU. ŽIADNY KĽÚČ, ŽIADNE NAPNUTIE