Sisukord:

MicroPython IoT Rover WEMOS D1 (ESP-8266EX) põhjal: 7 sammu (koos piltidega)
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) põhjal: 7 sammu (koos piltidega)

Video: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) põhjal: 7 sammu (koos piltidega)

Video: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) põhjal: 7 sammu (koos piltidega)
Video: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, November
Anonim
Image
Image
MicroPython IoT Rover põhineb WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover põhineb WEMOS D1 (ESP-8266EX)

** Värskendus: postitasin v2 -le uue video koos lantsiga **

Korraldan väikestele lastele mõeldud robootika töötubasid ja otsin alati säästlikke platvorme intrigeerivate projektide loomiseks. Kuigi Arduino kloonid on odavad, kasutab see C/C ++ keelt, mida lapsed ei tunne. Samuti pole sellel sisseehitatud WiFi-d, mis on IoT-projektide jaoks hädavajalik. Teisest küljest, kuigi Raspberry Pi -l on WIFI ja lapsed saavad seda Pythoni abil programmeerida, on see siiski kallis platvorm, et juhtida vaid mõnda GPIO -porti, et seadmeid sisse ja välja lülitada. Mul on vaja midagi vahepealset, millel on nii WIFI kui ka Pythoni võimalused. Tundub, et leidsin, et minu vastus MicroPythonis vilgub odavale ESP8266-põhisele tahvlile.

Mis on Micropython?

Oma veebisaidi kohaselt on MicroPython Python 3 programmeerimiskeelte lahja ja tõhus juurutus, mis sisaldab väikest Pythoni standardraamatukogu alamhulka ning on optimeeritud töötamiseks mikrokontrolleritel ja piiratud keskkonnas (näiteks ESP8266). Sisuliselt on see kiibil Python IDE. Üks suur eelis on see, et saate koodi luua ja seda vahepeal muuta, kasutades veebibrauseri klienti Webrepl. (Proovige seda teha Arduinos.) Samuti saate Webreplis reaalajas näha andurite andmeid, selle asemel et tugineda andmete logimisele või LED-ekraanile Arduinos.

Mis on ESP8266?

Lühidalt, mõelge sellele kui Arduinole, millel on sisseehitatud võrguvõime. Arduino IDE abil saate programmeerida ESP8266 tahvleid C/C ++ programmis või välgutada seda NodeMCU või MicroPython abil. Selles projektis välgutan MicroPythoni ESP8266 tahvlile.

Otsustasin selle lihtsa projekti jaoks hankida WEMOS D1, mis põhineb ESP8266-12EX-il, kus hakkan veebibrauseri abil 2WD autos navigeerima. On ka teisi tahvleid, mis on mõeldud MicroPythoni jaoks, kuid tahtsin midagi odavat, mille saaksin ära visata, kui see ei vastaks minu kriteeriumidele. Nagu oodatud, vastas see kõigile minu nõuetele ja tõenäoliselt lisan WeMos ja Micropython tulevastesse projektidesse.

Samm: osad

Osad
Osad
Osad
Osad
Osad
Osad
Osad
Osad
  • Wemos D1 või mis tahes ESP8266 -põhised plaadid
  • Mootori kilp (kasutan AliExpressi odavat L293D)
  • Akuhoidikud 4 x AA ja 9 V jaoks (4 x AA patareid on mõeldud mootoritele ja 9 V Wemose plaadile)
  • 2WD autode šassii
  • Duponti kaablid

Võib vajada jootekolvi, kruvikeerajat ja liimipüstolit, et kõik kokku panna.

2. samm: riistvara kokkupanek

Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek

Kõigepealt pange šassii kokku vastavalt juhistele.

Seejärel liimige kuumalt teised komponendid, nagu näidatud.

Mootoritraadid tuleb joota mootori klemmide külge ja klemmliigendite tugevdamiseks kasutada kuuma liimi.

Kinnitas väikese lüliti 4AA patareipesale. See lülitab mootori kilbi toite sisse/välja.

Samm: juhtmestik

Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik

Järgige minu ühendusskeemi, nagu näidatud.

Wemos to Motor Shield:

D1 IN2

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

Mootori kilp mootorile/võimsusele:

Terminal -> vasak mootor

B -klemm -> Paremmootori VCC -> Aku (+) GND -> Aku (-)

Samm: MicroPythoni installimine

Esiteks on Wemos CH304G -l põhinev jada-/USB -kiip. See on sama kiip, mida leidub odavates Arduino-kloonides ja peate installima korraliku draiveri Maci või PC jaoks. Draiveri installimiseks järgige sellel saidil olevaid juhiseid.

Ühendage Wemos arvutiga ja veenduge, et teie arvuti tuvastab Wemosi. Macis käivitage järgmine käsk ja näete seadet nimega /dev/tty.wchusbserial640.

$ ls -lt /dev /tty* | pea

crw-rw-rw- 1 juurratas 17., 4. märts 2 23:31 /dev/tty.wchusbserial640

Kui kasutate arvutit, võite seda juhendit kasutada viitena.

Järgmisena peate oma arvutis seadistama Python 2 või 3, kuna välgutööriist esptool.py põhineb Pythonil. Kuigi MicroPythoni juhendis võib öelda, et tööriist töötab ainult Python 2.7 -ga, suutsin selle ilma probleemideta Python 3 -s käivitada. Laadige uusim Python alla aadressilt https://www.python.org ja järgige oma arvuti või Maci installimisjuhiseid.

Lõpuks peate installima Wemosesse MicroPythoni. MicroPythoni saidil on suurepärane õpetus MicroPythoni seadistamiseks ESP8266 -le. Lihtsalt järgige installimisjuhiseid jaotises ESP8266 MicroPythoni kasutamise alustamine.

Allpool on käsud, mida kasutasin:

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

esptool.py v1.3 Ühendamine…. Käivitatakse Cesanta välklamp

$ 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 Ühendamine…. Käivitab Cesanta välklambi tüübi… Välgu parameetrid on seatud 0x0240 -le

MicroPython on nüüd teie plaadile installitud!

Samm: võrgu seadistamine

Võrgu seadistamine
Võrgu seadistamine

Kuigi teie Wemosse on nüüd installitud MicroPython, pole see teie võrguga veel ühendatud. Peate esmalt võrgu lubama. Macis täitke käsk SCREEN, et alustada Wemose jadaterminali seanssi.

$ screen /dev/tty.wchusbserial640 115200

Kui näete tühja ekraani, klõpsake viipa kuvamiseks nuppu TAGASI:

>>

(Märkus. Väljumiseks tippige CTRL-A CTRL-)

Nüüd lubame juurdepääsu veebiklientidele. Seadistusprogrammi käivitamiseks tippige "import webrepl_setup". WebREPL -i lubamiseks sisestage E ja seejärel määrake parool. Muudatuste aktiveerimiseks taaskäivitage.

>> importige veebipõhine seadistus

WebREPL-deemoni automaatse käivitamise olek: keelatud (Väljumiseks tühi rida)> E WebREPL -i lubamiseks peate määrama selle jaoks parooli Uus parool: xxxxx Kinnitage parool: xxxxx Muudatused aktiveeritakse pärast taaskäivitamist. Kas soovite kohe taaskäivitada? (jah/n) a

Lõpuks laadige oma arvutisse Webrepli klient. See on valikuline, kuid kliendil on kaasas muid kasulikke tööriistu, mida võiksite hiljem kasutada. Näiteks webrepl_cli.py on käsk failide kopeerimiseks Wemosse scp-sarnases süntaksis. Kliendi allalaadimiseks kasutage git. (Installige git -tööriist, kui teil seda veel pole.)

git kloon

Avage oma veebibrauser ja sisestage URL -i väljale allalaaditud veebipõhise kliendifaili asukoht, näiteks:

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

See peaks teie brauseris kuvama veebireklaami klienti. Enne sellega ühenduse loomist peate esmalt looma ühenduse selle WIFi pääsupunktiga. Kui vaatate oma arvuti jaoks saadaolevat WIFI-d, näete, et võrk algab MicroPython-xxxx-ga. Ühendage selle võrguga. (Hoiatus: kui olete selle võrguga ühenduse loonud, kaotate juurdepääsu Internetile.)

Minge tagasi oma veebipõhise kliendi juurde ja klõpsake nuppu Ühenda. See peaks küsima parooli. Sisestage oma Wemose parool ja peaksite ühenduse looma.

Tere tulemast MicroPythonisse!

Parool: WebREPL ühendatud >>>

Teie Wemos töötab endiselt AccessPointi režiimis. Kuigi see on korras, eelistan, et see töötaks jaamarežiimis, kus see ühendub minu kodu WIFI -ga, nii et mu arvuti saaks sellele koduse WIFI kaudu juurde pääseda ja tal oleks endiselt juurdepääs Internetile. Selleks peate võrgukonfiguratsiooniga looma faili nimega boot.py ja laadima selle Wemosesse.

Siin on boot.py näidis. Muutke SSID ja parool koduseks WIFI -võrguks. Samuti tahan anda sellele staatilise IP -aadressi 192.168.0.32. Muutke see oma kodu WIFI saadaolevaks IP -aadressiks.

boot.py (saate selle alla laadida)

import gc

import webrepl def do_connect (): impordi võrk sta_if = võrk. WLAN (võrk. STA_IF) kui mitte sta_if.isconnected (): print ('võrku ühendamine …') sta_if.aktiivne (tõsi) sta_if.ifconfig (('192.168. 0.32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' '), samas kui sta_if.isconnected (): pass print (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

Kasutage Webrepli kliendi vormi "Saada fail", et saata oma boot.py fail oma Wemosesse. Taaskäivitamiseks vajutage lähtestamisnuppu. Kui olete endiselt ühendatud USB kaudu, kasutades käsku SCREEN, näete järgmist.

võrguga ühendamine… võrgukonfiguratsioon: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL -deemon käivitati saidil ws: //192.168.4.1: 8266 WebREPL -deemon käivitati ws: //192.168.0.32: 8266 Tavalises režiimis käivitatud veebireklaam ei saanud faili „main.py” MicroPython v1.8.7-7-gb5a1a20a3 lugemiseks avada 2017-01-09; ESP -moodul koos ESP8266 -ga Lisateabe saamiseks tippige "help ()". >>>

See kinnitab, et teie Wemos on teie kodu WIFI -ga ühendatud, kasutades ipaddressi 192.168.0.32.

Kinnitamiseks võite selle IP -aadressi pingutada.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 andmebaiti

64 baiti alates 192.168.0.32: icmp_seq = 0 ttl = 255 aeg = 9.334 ms 64 baiti alates 192.168.0.32: icmp_seq = 1 ttl = 255 aeg = 11.071 ms..

Samm: installige põhiprogramm

Installige põhiprogramm
Installige põhiprogramm
Installige põhiprogramm
Installige põhiprogramm

Lõpuks peate installima põhiprogrammi, mis jätkab teie Wemos töötamist.

Minge tagasi oma veebibrauserisse ja käivitage veebiprogramm. Muutke ip -aadress oma Wemose IP -aadressiks. Minu puhul on see nüüd 192.168.0.32. Sisestage oma Wemose parool ja nüüd peaksite olema Wemosega ühendatud.

Laadime üles lisatud programmi main.py. Laadige lisatud fail oma arvutisse alla. Allalaaditud main.py valimiseks klõpsake nuppu Vali fail ja seejärel nuppu Seadmesse saadetud.

Peate programmi Main.py laadimiseks vajutama puhkusenuppu. Pärast lähtestamisnupu vajutamist näete järgmist:

võrku ühendamine…

võrgu konfiguratsioon: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL -deemon käivitati saidil ws: //192.168.4.1: 8266 WebREPL -deemon käivitati saidil ws: //192.168.0.32: 8266 Käivitas veebireklaami tavarežiimis Kuulamine, ühendage oma brauser…

See tähendab, et teie programm main.py on aktiveeritud ja see kuvatakse pordis 80.

Testimiseks avage oma veebibrauser ja sisestage

See peaks kuvama auto juhtimise ekraani, nagu on näidatud videos. Kui teie juhtmed on korralikult ühendatud, saadavad juhtnupud auto teisaldamiseks teie GPIO -portidesse õiged signaalid.

7. samm: tulevased täiustused

Minu v2 loendis on järgmised ülesanded:

  • Kasutage mootori kiiruse juhtimiseks PWM -i
  • Veebiliidese täiustamine. Võib -olla kasutage aREST -i raamistikku. Ma ei usu, et aREST lib on praegu MicroPythonil saadaval, nii et pean selle häkkima.

Täname, et lugesite seda juhendit. Järgmiste projektide jaoks järgige mind Facebookis, Youtube'is ja Instructablesis.

Soovitan: