Sisukord:
- Samm: osad
- 2. samm: riistvara kokkupanek
- Samm: juhtmestik
- Samm: MicroPythoni installimine
- Samm: võrgu seadistamine
- Samm: installige põhiprogramm
- 7. samm: tulevased täiustused
Video: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) põhjal: 7 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
** 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
- 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
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
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
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
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:
Kõrgusmõõtur (kõrgusmõõtur) atmosfäärirõhu põhjal: 7 sammu (piltidega)
Kõrgusmõõtur (kõrgusmõõtur) atmosfäärirõhu põhjal: [Muuda]; Vaadake 6. versiooni 2. versiooni käsitsi baastasandi kõrguse sisestamisega. See on Arduino Nano ja Boschi BMP180 atmosfäärirõhuanduril põhineva kõrgusemõõtja (kõrgusemõõtja) hoone kirjeldus. Disain on lihtne, kuid mõõtmised
Raspberry Pi - autonoomne Mars Rover koos OpenCV objektide jälgimisega: 7 sammu (koos piltidega)
Raspberry Pi - autonoomne Mars Rover koos OpenCV objektide jälgimisega: toiteallikaks Raspberry Pi 3, avatud CV objektide tuvastamine, ultraheliandurid ja reduktoriga alalisvoolumootorid. See rover saab jälgida mis tahes objekti, mille jaoks ta on koolitatud, ja liikuda igal maastikul
Tuulejaam purjelauasõidule MQTT ja AWS -i põhjal: 3 sammu (koos piltidega)
Purjelauasõidu tuulejaam põhineb MQTT & AWS -il: Shenzhenis on palju ilusaid randu. Suvepäevadel on minu lemmik spordiala purjetamine. Purjetamisspordi jaoks olen ma alles algaja, mulle meeldib tunne, et merevesi puudutab mu nägu, ja palju muud, sain selle spordialaga palju uusi sõpru. Aga
Taskukohane nägemislahendus robotkäega Arduino põhjal: 19 sammu (piltidega)
Taskukohane nägemislahendus robotkäega Arduino põhjal: Kui me räägime masinnägemisest, tundub see meie jaoks alati nii kättesaamatu. Kuigi tegime avatud lähtekoodiga visiooni demo, mida oleks igaühele ülilihtne teha. Selles videos, OpenMV kaameraga, olenemata punase kuubi asukohast, on robot
DIY 3D -skanner struktureeritud valguse ja stereovisiooni põhjal Pythoni keeles: 6 sammu (piltidega)
DIY 3D -skanner, mis põhineb struktureeritud valgusel ja stereovisioonil Pythoni keeles: see 3D -skanner valmistati odavate tavapäraste esemete, näiteks videoprojektori ja veebikaamerate abil. Struktureeritud valgusega 3D-skanner on 3D-skaneerimisseade objekti kolmemõõtmelise kuju mõõtmiseks, kasutades projitseeritud valgusmustreid ja kaamerasüsteemi