Kazalo:
- 1. korak: Deli
- 2. korak: Sestavljanje strojne opreme
- 3. korak: Ožičenje
- 4. korak: Namestitev MicroPythona
- 5. korak: Nastavite omrežje
- 6. korak: Namestite glavni program
- 7. korak: Prihodnje izboljšave
Video: MicroPython IoT Rover na osnovi WEMOS D1 (ESP-8266EX): 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
** Posodobitev: Objavil sem nov videoposnetek za v2 s kopjem **
Gostim delavnice robotike za majhne otroke in vedno iščem ekonomične platforme za gradnjo zanimivih projektov. Medtem ko so kloni Arduino poceni, uporablja jezik C/C ++, ki ga otroci ne poznajo. Prav tako nima vgrajenega WiFi, ki je nujen za projekte IoT. Po drugi strani pa ima Raspberry Pi WIFI, otroci pa ga lahko programirajo z uporabo Pythona, vendar je še vedno draga platforma za nadzor le nekaj vrat GPIO za vklop in izklop naprav. Potrebujem nekaj vmes, ki ima tako WIFI kot Python zmogljivosti. Zdi se, da sem naš odgovor v MicroPythonu preletel na poceni ploščo na osnovi ESP8266.
Kaj je Micropython?
Glede na njegovo spletno stran je MicroPython vitka in učinkovita implementacija programskih jezikov Python 3, ki vključuje majhno podskupino standardne knjižnice Python in je optimizirana za delovanje na mikrokrmilnikih in v omejenem okolju (kot je ESP8266). V bistvu je Python IDE na čipu. Ena od glavnih prednosti je, da lahko ustvarite kodo in jo spremenite na hitro z odjemalcem spletnega brskalnika Webrepl. (Poskusite to narediti v Arduinu.) Podatke senzorjev si lahko v realnem času ogledate tudi na Webreplu, namesto da se zanašate na beleženje podatkov ali LED zaslon v Arduinu.
Kaj je ESP8266?
Skratka, pomislite na to kot na Arduino z vgrajenimi zmogljivostmi omrežja. Arduino IDE lahko uporabite za programiranje plošč ESP8266 v C/C ++ ali pa ga utripate z NodeMCU ali MicroPython. V tem projektu bom MicroPython prestavil na ploščo ESP8266.
Odločil sem se, da bom za ta preprost projekt, kjer bom krmaril z avtomobilom z dvema pogonoma s spletnim brskalnikom, kupil WEMOS D1, ki temelji na ESP8266-12EX. Obstajajo tudi druge plošče, ki so namenjene MicroPythonu, vendar sem hotel nekaj poceni, kar bi lahko zavrgel, če ne bi ustrezalo mojim kriterijem. Po pričakovanjih je izpolnil vse moje zahteve in najverjetneje bom v prihodnje projekte vključil WeMos in Micropython.
1. korak: Deli
- Wemos D1 ali katere koli druge plošče na osnovi ESP8266
- Motorni ščit (uporabljam poceni L293D iz AliExpressa)
- Držala za baterije 4 x AA in 9V (4 x AA baterije so za motorje, 9V pa za ploščo Wemos)
- Avtomobilsko podvozje 2WD
- Dupont kabli
Morda boste potrebovali spajkalnik, izvijač in pištolo za lepilo, da vse sestavite.
2. korak: Sestavljanje strojne opreme
Najprej sestavite podvozje v skladu z navodili.
Nato vroče lepite druge komponente, kot je prikazano.
Motorne žice je treba spajkati na sponke motorja in z vročim lepilom okrepiti spončne spoje.
Na držalo za baterijo 4AA je pritrjeno majhno stikalo. S tem boste vklopili/izklopili ščit motorja.
3. korak: Ožičenje
Sledite moji shemi ožičenja, kot je prikazano.
Wemos za motorni ščit:
D1 IN2
D2 IN1 D3 IN4 ** preskočite D4 D5 IN3 GND -> GND
Ščit motorja za motor/moč:
Terminal -> Levi motor
B terminal -> Desni motor VCC -> Baterija (+) GND -> Baterija (-)
4. korak: Namestitev MicroPythona
Prvič, Wemos ima serijski/USB čip, ki temelji na CH304G. To je isti čip, ki ga najdemo v poceni klonih Arduino, zato morate namestiti ustrezen gonilnik za Mac ali PC. Sledite navodilom na tem mestu za namestitev gonilnika.
Povežite Wemos z računalnikom in potrdite, da lahko vaš računalnik zazna Wemos. V Macu zaženite naslednji ukaz in videli boste napravo z imenom /dev/tty.wchusbserial640.
$ ls -lt /dev /tty* | glavo
crw-rw-rw- 1 korensko kolo 17, 4. mar 2. 23:31 /dev/tty.wchusbserial640
Če uporabljate računalnik, lahko ta priročnik uporabite kot referenco.
Nato morate v računalniku nastaviti Python 2 ali 3, saj orodje flash, esptool.py, temelji na Pythonu. Medtem ko lahko v priročniku MicroPython piše, da orodje deluje samo s Pythonom 2.7, sem to lahko zagnal v Pythonu 3 brez težav. Prenesite najnovejši Python s spletnega mesta https://www.python.org in sledite navodilom za namestitev za vaš računalnik ali Mac.
Nazadnje boste morali namestiti MicroPython na Wemos. Spletno mesto MicroPython ima odlično vadnico o nastavitvi MicroPythona na ESP8266. Samo sledite navodilom za namestitev v razdelku Prvi koraki z MicroPythonom na ESP8266.
Spodaj so ukazi, ki sem jih uporabil:
$ esptool.py --port /dev/tty.wchusbserial640 erase_flash
esptool.py v1.3 Povezovanje…. Zagon škrbljenega bliskavice Cesanta… Brisanje bliskavice (to lahko traja nekaj časa)… Brisanje je trajalo 10,5 sekunde
$ 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 Povezovanje…. Zagon Cesanta utripajočega čepa… Parametri bliskavice nastavljeni na 0x0240 Napisal je 589824 bajtov pri 0x0 v 50,8 sekunde (92,8 kbit/s)… Zapuščam…
MicroPython je zdaj nameščen na vaši plošči!
5. korak: Nastavite omrežje
Čeprav je MicroPython zdaj nameščen na vašem Wemosu, še ni povezan z vašim omrežjem. Najprej morate omogočiti omrežje. Na Macu izvedite ukaz SCREEN, da zaženete serijsko terminalsko sejo v Wemos.
$ screen /dev/tty.wchusbserial640 115200
Ko vidite prazen zaslon, pritisnite RETURN, da se prikaže poziv:
>>
(Opomba: za izhod vnesite CTRL-A CTRL- )
Zdaj pa omogočimo dostop do spletnih strank. Vnesite "import webrepl_setup", da zaženete namestitveni program. Vnesite E, da omogočite WebREPL, nato pa nastavite geslo. Znova zaženite, da aktivirate spremembe.
>> uvozite webrepl_setup
Stanje samodejnega zagona demona WebREPL: onemogočeno Ali želite (E) vključiti ali (D) uporabiti, če se izvaja ob zagonu? (Za izhod prazna vrstica)> E Če želite omogočiti WebREPL, morate zanj nastaviti geslo Novo geslo: xxxxx Potrdite geslo: xxxxx Spremembe se bodo aktivirale po ponovnem zagonu Ali bi radi zdaj znova zagnali? (y/n) y
Nazadnje prenesite odjemalca Webrepl na svoj računalnik. To ni obvezno, vendar ima odjemalec druga uporabna orodja, ki jih boste morda želeli uporabiti kasneje. Na primer, webrepl_cli.py je ukaz za kopiranje datotek v Wemos v skladnji, podobni scp. Za prenos odjemalca uporabite git. (Namestite orodje git, če ga še nimate.)
git clone
Odprite spletni brskalnik in v polje URL vnesite lokacijo prenesene datoteke odjemalca webrepl, na primer:
datoteka: ///Users/xxxxx/wemos/webrepl/webrepl.html
To bi moralo prikazati odjemalca webrepl v vašem brskalniku. Preden se lahko povežete z njim, se morate najprej povezati z dostopno točko WIFi. Če pogledate razpoložljiv WIFI za vaš računalnik, boste videli, da se omrežje začne z MicroPython-xxxx. Povežite se s tem omrežjem. (Opozorilo: Ko se povežete s tem omrežjem, izgubite dostop do interneta.)
Vrnite se v odjemalca webrepl in kliknite Poveži. Vnesti mora geslo. Vnesite geslo za Wemos in vzpostavite povezavo.
Dobrodošli v MicroPythonu!
Geslo: WebREPL povezan >>>
Vaš Wemos še vedno deluje v načinu AccessPoint. Čeprav je to v redu, najraje deluje v načinu Station, kjer se poveže z mojim domačim WIFI -jem, tako da lahko računalnik do njega dostopa prek domačega WIFI -ja in ima še vedno dostop do interneta. Če želite to narediti, morate ustvariti datoteko z imenom boot.py z omrežno konfiguracijo in jo naložiti v Wemos.
Tukaj je vzorec boot.py. Spremenite ssid in geslo v domače omrežje WIFI. Prav tako mu želim dati statični IP 192.168.0.32. Spremenite ga v domači naslov WIFI, ki je na voljo.
boot.py (lahko ga prenesete od spodaj)
uvoz gc
import webrepl def do_connect (): uvoz omrežja sta_if = network. WLAN (network. STA_IF), če ni sta_if.isconnected (): print ('povezovanje v omrežje …') 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 (' ',' '), medtem ko ni sta_if.isconnected (): pass print (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()
Uporabite obrazec »Pošlji datoteko« odjemalca Webrepl, da datoteko boot.py pošljete v svoj Wemos. Za ponovni zagon pritisnite gumb za ponastavitev. Če ste še vedno povezani prek USB -ja z ukazom SCREEN, boste videli:
povezovanje z omrežjem… omrežna konfiguracija: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') Demon WebREPL se je zagnal na ws: //192.168.4.1: 8266 Damon WebREPL se je zagnal na ws: //192.168.0.32: 8266 Zagnani webrepl v običajnem načinu ni mogel odpreti datoteke 'main.py' za branje MicroPythona v1.8.7-7-gb5a1a20a3 dne 2017-01-09; Modul ESP z ESP8266 Za več informacij vnesite "help ()". >>>
To potrjuje, da je vaš Wemos povezan z vašim domačim brezžičnim internetom prek ipaddress 192.168.0.32.
Ta naslov IP lahko potrdite za preverjanje.
$ ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 podatkovnih bajtov
64 bajtov iz 192.168.0.32: icmp_seq = 0 ttl = 255 čas = 9.334 ms 64 bajtov iz 192.168.0.32: icmp_seq = 1 ttl = 255 čas = 11.071 ms..
6. korak: Namestite glavni program
Nazadnje boste morali namestiti glavni program, ki se bo še naprej izvajal na vašem Wemosu.
Vrnite se v spletni brskalnik in zaženite odjemalski program webrepl. Spremenite naslov IP v naslov IP vašega Wemosa. V mojem primeru je zdaj 192.168.0.32. Vnesite geslo za Wemos in zdaj bi morali biti povezani z Wemosom.
Naložimo priloženi program main.py. Prenesite priloženo datoteko v računalnik. Kliknite Izberi datoteko, da izberete preneseno datoteko main.py, nato pa kliknite Poslano v napravo.
Če želite naložiti program main.py, morate pritisniti gumb Počitek. Ko pritisnete gumb Ponastavi, boste videli:
povezovanje v omrežje …
omrežna konfiguracija: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
Demon WebREPL se je začel na ws: //192.168.4.1: 8266 Demon WebREPL se je zagnal na ws: //192.168.0.32: 8266 Začel webrepl v običajnem načinu Poslušanje, povežite brskalnik z…
To pomeni, da je vaš program main.py aktiviran in se prikaže na vratih 80.
Če želite preizkusiti, odprite spletni brskalnik in vnesite
To bi moralo prikazati zaslon za upravljanje avtomobila, kot je prikazano v videoposnetku. Če so vaše žice pravilno povezane, bodo nadzorni gumbi poslali ustrezne signale v vrata GPIO za premik avtomobila.
7. korak: Prihodnje izboljšave
Na mojem seznamu v2 so naslednji opravila:
- Za nadzor hitrosti motorja uporabite PWM
- Izboljšajte spletni vmesnik. Morda uporabite okvir aREST. Ne verjamem, da je aREST lib trenutno na voljo na MicroPythonu, zato ga bom morda moral vlomiti.
Hvala, ker ste prebrali ta navodila. Sledite mi na Facebooku, Youtubeu in Instructables za več projektov v prihodnosti.
Priporočena:
Kako narediti avtomatizacijo doma na osnovi IoT s krmilnim relejem senzorjev NodeMCU: 14 korakov (s slikami)
Kako narediti domačo avtomatizacijo na osnovi IoT s krmilnim relejem senzorjev NodeMCU: V tem projektu, ki temelji na IoT, sem naredil domačo avtomatizacijo z modulom krmilnega releja Blynk in NodeMCU s povratnimi informacijami v realnem času. V ročnem načinu lahko ta relejni modul upravljate z mobilnega telefona ali pametnega telefona in z ročnim stikalom. V samodejnem načinu je ta pametnejši
Robot, ki ga nadzira gibanje na osnovi IOT: 10 korakov (s slikami)
Robot, ki ga nadzira kretnja na osnovi IOT: Ta robot je upravljan s kretnjami, ki ga je mogoče upravljati od koder koli s pomočjo interneta. V tem projektu se merilnik pospeška MPU 6050 uporablja za zbiranje podatkov o gibanju rok. Meri pospešek naše roke v treh
Brezkontaktni infrardeči termometer na osnovi Arduino - IR termometer na osnovi Arduina: 4 koraki
Brezkontaktni infrardeči termometer na osnovi Arduino | IR -termometer z uporabo Arduina: Pozdravljeni fantje, v tem navodilu bomo naredili brezkontaktni termometer z arduinom. Ker je včasih temperatura tekočine/trdne snovi previsoka ali prenizka, potem pa je težko priti v stik z njo in prebrati temperatura v tem prizorju
Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)
Nizkocenovni IoT monitor kakovosti zraka, ki temelji na RaspberryPi 4: Santiago, Čile v času zimske okoljske krize ima privilegij živeti v eni najlepših držav na svetu, vendar na žalost niso vse vrtnice. Čile v zimski sezoni zelo trpi zaradi onesnaženja zraka, mai
Kako utripati vdelano programsko opremo MicroPython na pametnem stikalu Sonoff na osnovi ESP8266: 3 koraki (s slikami)
Kako utripati vdelano programsko opremo MicroPython na pametnem stikalu Sonoff na osnovi ESP8266: Kaj je Sonoff? Sonoff je linija naprav za pametni dom, ki jo je razvil ITEAD. Eden najbolj prilagodljivih in poceni naprav te linije sta Sonoff Basic in Sonoff Dual. To so stikala, ki podpirajo Wi-Fi in temeljijo na odličnem čipu ESP8266. Medtem ko