Satura rādītājs:

MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX): 7 soļi (ar attēliem)
MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX): 7 soļi (ar attēliem)

Video: MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX): 7 soļi (ar attēliem)

Video: MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX): 7 soļi (ar attēliem)
Video: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, Jūlijs
Anonim
Image
Image
MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover, pamatojoties uz WEMOS D1 (ESP-8266EX)

** Atjauninājums: es ievietoju jaunu videoklipu v2 ar lance **

Es vadu Robotikas seminārus maziem bērniem, un es vienmēr meklēju ekonomiskas platformas, lai izveidotu intriģējošus projektus. Lai gan Arduino kloni ir lēti, tajā tiek izmantota C/C ++ valoda, kas bērniem nav pazīstama. Turklāt tajā nav iebūvēta WiFi, kas ir nepieciešams IoT projektiem. No otras puses, lai gan Raspberry Pi ir WIFI un bērni to var programmēt, izmantojot Python, tā joprojām ir dārga platforma, lai vienkārši kontrolētu dažus GPIO portus, lai ieslēgtu un izslēgtu ierīces. Man vajag kaut ko pa vidu, kam ir gan WIFI, gan Python iespējas. Šķiet, ka es atklāju, ka mana atbilde MicroPython tika uzlikta uz lētas ESP8266 bāzes plates.

Kas ir Micropython?

Saskaņā ar tās vietni, MicroPython ir vienkārša un efektīva Python 3 programmēšanas valodu ieviešana, kas ietver nelielu Python standarta bibliotēkas apakškopu un ir optimizēta darbībai ar mikrokontrolleriem un ierobežotā vidē (piemēram, ESP8266). Būtībā tas ir Python IDE mikroshēmā. Viena no galvenajām priekšrocībām ir tā, ka jūs varat izveidot kodu un mainīt to uzreiz, izmantojot tīmekļa pārlūkprogrammas klientu Webrepl. (Mēģiniet to darīt Arduino.) Jūs varat arī redzēt reālā laikā sensoru datus Webrepl, nevis paļauties uz datu reģistrēšanu vai LED ekrānu Arduino.

Kas ir ESP8266?

Īsāk sakot, domājiet par to kā par Arduino ar iebūvētu tīkla iespēju. Jūs varat izmantot Arduino IDE, lai programmētu ESP8266 plates C/C ++, vai arī varat to mirgot, izmantojot NodeMCU vai MicroPython. Šajā projektā es mirgošu MicroPython uz ESP8266 plates.

Es nolēmu šim vienkāršajam projektam iegūt WEMOS D1, kura pamatā ir ESP8266-12EX, un es, izmantojot tīmekļa pārlūkprogrammu, pārvietosim 2WD automašīnu. Ir arī citi dēļi, kas paredzēti MicroPython, bet es gribēju kaut ko lētu, ko varētu izmest, ja tas neatbilst maniem kritērijiem. Kā gaidīts, tas atbilda visām manām prasībām, un, visticamāk, turpmākos projektos es iekļaušu WeMos un Micropython.

1. darbība: detaļas

Daļas
Daļas
Daļas
Daļas
Daļas
Daļas
Daļas
Daļas
  • Wemos D1 vai jebkuras uz ESP8266 balstītas plates
  • Motora vairogs (es izmantoju lētu L293D no AliExpress)
  • Bateriju turētāji 4 x AA un 9 V (4 x AA baterijas ir paredzētas motoriem, bet 9 V - Wemos plāksnei)
  • 2WD automašīnas šasija
  • Dupont kabeļi

Lai saliktu visu, var būt nepieciešams lodāmurs, skrūvgriezis un līmes pistole.

2. solis: Aparatūras montāža

Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža

Vispirms salieciet šasiju saskaņā ar instrukcijām.

Pēc tam karsti pielīmējiet citas sastāvdaļas, kā parādīts attēlā.

Motora vadi jāpielodē pie motora spailēm un jāizmanto karsta līme, lai pastiprinātu spaiļu savienojumus.

Piestiprināja nelielu slēdzi pie 4AA baterijas turētāja. Tas ieslēgs/izslēgs motora vairoga barošanu.

3. darbība: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Sekojiet manai elektroinstalācijas shēmai, kā parādīts attēlā.

Wemos uz motora vairogu:

D1 IN2

D2 IN1 D3 IN4 ** izlaist D4 D5 IN3 GND -> GND

Motora vairogs pret motoru/jaudu:

Terminālis -> kreisais motors

B terminālis -> Labā motora VCC -> Akumulators (+) GND -> Akumulators (-)

4. solis: MicroPython instalēšana

Pirmkārt, Wemos ir sērijas/USB mikroshēma, kuras pamatā ir CH304G. Šī ir tā pati mikroshēma, kas atrodama lētajos Arduino klonos, un jums ir jāinstalē atbilstošs draiveris Mac vai PC. Lai instalētu draiveri, izpildiet šajā vietnē sniegtos norādījumus.

Pievienojiet Wemos datoram un apstipriniet, ka jūsu dators var atklāt Wemos. Operētājsistēmā Mac palaidiet šo komandu, un jūs redzēsit ierīci ar nosaukumu /dev/tty.wchusbserial640.

$ ls -lt /dev /tty* | galvu

crw-rw-rw- 1 saknes ritenis 17, 4 Mar 2 23:31 /dev/tty.wchusbserial640

Ja izmantojat datoru, šo pamācību varat izmantot kā atsauci.

Tālāk jums datorā būs jāiestata Python 2 vai 3, jo zibspuldzes rīka esptool.py pamatā ir Python. Lai gan MicroPython rokasgrāmatā var būt norādīts, ka rīks darbojas tikai ar Python 2.7, es to varēju palaist programmā Python 3 bez problēmām. Lejupielādējiet jaunāko Python no https://www.python.org un izpildiet sava datora vai Mac instalēšanas norādījumus.

Visbeidzot, jums būs jāinstalē MicroPython vietnē Wemos. Vietnē MicroPython ir lieliska apmācība par to, kā iestatīt MicroPython uz ESP8266. Vienkārši izpildiet instalēšanas norādījumus sadaļā Darba sākšana ar MicroPython ierīcē ESP8266.

Zemāk ir komandas, kuras es izmantoju:

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

esptool.py v1.3 Savienojuma izveide…. Darbojas Cesanta zibspuldzes bloks… Zibspuldzes dzēšana (tas var aizņemt kādu laiku)… Dzēšana aizņēma 10,5 sekundes

$ 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 Savienojuma izveide…. Darbojas Cesanta zibspuldzes bloks… Zibspuldzes parametri ir iestatīti uz 0x0240 Uzrakstīja 589824 baitus pie 0x0 50,8 sekundēs (92,8 kbit/s)… Iziešana …

MicroPython tagad ir instalēts jūsu panelī!

5. darbība: tīkla iestatīšana

Tīkla iestatīšana
Tīkla iestatīšana

Lai gan MicroPython tagad ir instalēts jūsu Wemos, tas vēl nav savienots ar jūsu tīklu. Vispirms jums ir jāiespējo tīkls. Operētājsistēmā Mac izpildiet komandu SCREEN, lai sāktu sērijveida termināļa sesiju Wemos.

$ screen /dev/tty.wchusbserial640 115200

Kad redzat tukšu ekrānu, nospiediet RETURN, lai redzētu uzvedni:

>>

(Piezīme: lai izietu, ierakstiet CTRL-A CTRL-)

Tagad iespējosim piekļuvi tīmekļa klientiem. Lai palaistu iestatīšanas programmu, ierakstiet “importēt webrepl_setup”. Ievadiet E, lai iespējotu WebREPL, un pēc tam iestatiet paroli. Atsāknējiet, lai aktivizētu izmaiņas.

>> importēt webrepl_setup

WebREPL dēmona automātiskās palaišanas statuss: atspējots Vai vēlaties (E) ieslēgt vai (D) atspējot, ka tas darbojas sāknēšanas laikā? (Lai izietu no tukšas rindas)> E Lai iespējotu WebREPL, jums jāiestata parole Jauna parole: xxxxx Apstipriniet paroli: xxxxx Izmaiņas tiks aktivizētas pēc pārstartēšanas. Vai vēlaties atsāknēt tūlīt? (jā/n) g

Visbeidzot, lejupielādējiet Webrepl klientu savā datorā. Tas nav obligāti, taču klientam ir citi noderīgi rīki, kurus, iespējams, vēlēsities izmantot vēlāk. Piemēram, webrepl_cli.py ir komanda failu kopēšanai uz Wemos scp līdzīgā sintakse. Lai lejupielādētu klientu, izmantojiet git. (Instalējiet git rīku, ja jums tā vēl nav.)

git klons

Atveriet tīmekļa pārlūkprogrammu un URL laukā ievadiet lejupielādētā tīmekļa atbildes klienta faila atrašanās vietu, piemēram:

fails: ///Users/xxxxx/wemos/webrepl/webrepl.html

Tam vajadzētu parādīt tīmekļa pārlūkprogrammu jūsu pārlūkprogrammā. Pirms varat izveidot savienojumu ar to, vispirms izveidojiet savienojumu ar tā WIFi piekļuves punktu. Ja paskatīsities savam datoram pieejamo WIFI, redzēsit, ka tīkls sākas ar MicroPython-xxxx. Izveidojiet savienojumu ar šo tīklu. (Brīdinājums: izveidojot savienojumu ar šo tīklu, jūs zaudēsiet piekļuvi internetam.)

Dodieties atpakaļ uz savu webrepl klientu un noklikšķiniet uz Savienot. Tam vajadzētu prasīt paroli. Ievadiet savu Wemos paroli, un jums vajadzētu izveidot savienojumu.

Laipni lūdzam MicroPython!

Parole: pievienots WebREPL >>>

Jūsu Wemos joprojām darbojas AccessPoint režīmā. Lai gan tas ir labi, es gribētu, lai tas darbotos stacijas režīmā, kur tas savienojas ar manu mājas WIFI, lai mans dators varētu tam piekļūt, izmantojot mājas WIFI, un tam joprojām būtu piekļuve internetam. Lai to izdarītu, jums ir jāizveido fails ar nosaukumu boot.py ar tīkla konfigurāciju un augšupielādējiet to vietnē Wemos.

Šeit ir boot.py paraugs. Mainiet SSID un paroli uz mājas WIFI tīklu. Tāpat es vēlos tam piešķirt statisku IP 192.168.0.32. Mainiet to uz mājas WIFI pieejamo IP adresi.

boot.py (varat to lejupielādēt no apakšas)

importēt gc

importēt Webrepl def do_connect (): importēt tīklu sta_if = network. WLAN (network. STA_IF), ja nav sta_if.isconnected (): print ('savienojums ar tīklu …') 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 (' ',' '), kamēr nav sta_if.isconnected (): izdrukāt (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

Izmantojiet Webrepl klienta veidlapu “Sūtīt failu”, lai nosūtītu savu boot.py failu uz jūsu Wemos. Lai restartētu, nospiediet atiestatīšanas pogu. Ja joprojām esat izveidojis savienojumu, izmantojot USB, izmantojot komandu SCREEN, jūs redzēsit:

tiek izveidots savienojums ar tīklu… tīkla konfigurācija: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL dēmons sākts vietnē ws: //192.168.4.1: 8266 WebREPL dēmons sākts ws: //192.168.0.32: 8266 Sākot Webrepl normālā režīmā, nevarēja atvērt failu 'main.py', lai lasītu MicroPython v1.8.7-7-gb5a1a20a3 2017-01-09; ESP modulis ar ESP8266 Lai iegūtu vairāk informācijas, ierakstiet "help ()". >>>

Tas apstiprina, ka jūsu Wemos ir savienots ar jūsu mājas WIFI, izmantojot 192.168.0.32 ipaddress.

Lai apstiprinātu, varat pingēt šo IP adresi.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 datu baiti

64 baiti no 192.168.0.32: icmp_seq = 0 ttl = 255 laiks = 9.334 ms 64 baiti no 192.168.0.32: icmp_seq = 1 ttl = 255 laiks = 11.071 ms..

6. darbība: instalējiet galveno programmu

Instalējiet galveno programmu
Instalējiet galveno programmu
Instalējiet galveno programmu
Instalējiet galveno programmu

Visbeidzot, jums būs jāinstalē galvenā programma, kas turpinās darboties jūsu Wemos.

Atgriezieties savā tīmekļa pārlūkprogrammā un palaidiet webrepl klienta programmu. Mainiet ip adresi uz sava Wemos IP adresi. Manā gadījumā tagad tas ir 192.168.0.32. Ievadiet savu Wemos paroli, un tagad jums vajadzētu izveidot savienojumu ar Wemos.

Augšupielādēsim pievienoto programmu main.py. Lejupielādējiet pievienoto failu savā datorā. Noklikšķiniet uz Izvēlēties failu, lai izvēlētos lejupielādēto main.py, un noklikšķiniet uz Nosūtīt uz ierīci.

Lai ielādētu programmu main.py, jums būs jānospiež poga Atpūta. Pēc Reset pogas nospiešanas jūs redzēsit:

tiek izveidots savienojums ar tīklu…

tīkla konfigurācija: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL dēmons sākās vietnē ws: //192.168.4.1: 8266 WebREPL dēmons sākts vietnē ws: //192.168.0.32: 8266 Tika sākta tīmekļa atbilde normālā režīmā Klausoties, pievienojiet pārlūkprogrammu…

Tas nozīmē, ka jūsu programma main.py ir aktivizēta un tiek iekļauta 80. portā.

Lai pārbaudītu, atveriet tīmekļa pārlūkprogrammu un ievadiet

Tam vajadzētu parādīt automašīnas vadības ekrānu, kā parādīts video. Ja jūsu vadi ir pareizi pievienoti, vadības pogas nosūtīs pareizus signālus uz jūsu GPIO portiem, lai pārvietotu automašīnu.

7. darbība. Turpmākie uzlabojumi

Mani v2 sarakstā ir šādi uzdevumi:

  • Izmantojiet PWM, lai kontrolētu motora ātrumu
  • Uzlabot tīmekļa saskarni. Varbūt izmantojiet aREST sistēmu. Es nedomāju, ka aREST lib šobrīd ir pieejams vietnē MicroPython, tāpēc man, iespējams, nāksies to uzlauzt.

Paldies, ka izlasījāt šo pamācību. Sekojiet man Facebook, Youtube un Instructables, lai iegūtu vairāk projektu nākotnē.

Ieteicams: