Sisällysluettelo:

MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX): 7 vaihetta (kuvien kanssa)
MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX): 7 vaihetta (kuvien kanssa)

Video: MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX): 7 vaihetta (kuvien kanssa)

Video: MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX): 7 vaihetta (kuvien kanssa)
Video: micropython firebeetle esp32 rover robot 2024, Marraskuu
Anonim
Image
Image
MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX)

** Päivitys: Lähetin uuden videon v2: lle lanssilla **

Isännöin pienille lapsille suunnattuja robotiikkapajoja ja etsin aina taloudellisia alustoja mielenkiintoisten projektien rakentamiseen. Vaikka Arduino -kloonit ovat halpoja, se käyttää C/C ++ -kieltä, jota lapset eivät tunne. Siinä ei myöskään ole sisäänrakennettua WiFi-yhteyttä, joka on välttämätöntä IoT-projekteille. Toisaalta, vaikka Raspberry Pi: llä on WIFI ja lapset voivat ohjelmoida sen Pythonin avulla, se on silti kallis alusta vain muutaman GPIO -portin ohjaamiseen laitteiden käynnistämiseksi ja sammuttamiseksi. Tarvitsen jotain siltä väliltä, jolla on sekä WIFI- että Python -ominaisuudet. Näyttää siltä, että löysin vastaukseni MicroPythonissa välähtäen halvalla ESP8266-pohjaiselle levylle.

Mikä on Micropython?

Verkkosivustonsa mukaan MicroPython on laiha ja tehokas Python 3 -ohjelmointikielten toteutus, joka sisältää pienen osajoukon Python -standardikirjastosta ja joka on optimoitu toimimaan mikro -ohjaimilla ja rajoitetussa ympäristössä (kuten ESP8266). Se on lähinnä Python IDE sirulla. Yksi merkittävä etu on, että voit luoda koodin ja muuttaa sitä lennossa käyttämällä Webrepl-nimistä verkkoselainohjelmaa. (Yritä tehdä se Arduinossa.) Voit myös nähdä anturitiedot reaaliajassa Webreplissä sen sijaan, että luottaisit tiedon kirjaamiseen tai LED-näyttöön Arduinossa.

Mikä on ESP8266?

Lyhyesti sanottuna ajattele sitä Arduinona, jossa on sisäänrakennettu verkkotoiminto. Voit ohjelmoida Arduino IDE: n avulla ESP8266 -korttien ohjelmointiin C/C ++: ssa tai salaman NodeMCU: lla tai MicroPythonilla. Tässä projektissa välitän MicroPythonin ESP8266 -levylle.

Päätin hankkia WEMOS D1: n, joka perustuu ESP8266-12EX: ään tähän yksinkertaiseen projektiin, jossa aion navigoida 2WD-autossa verkkoselaimen avulla. On muitakin MicroPythonille suunniteltuja levyjä, mutta halusin jotain halpaa, jonka voisin heittää pois, jos se ei täytä kriteereitäni. Kuten odotettiin, se täytti kaikki vaatimukset ja todennäköisesti otan WeMos ja Micropython käyttöön tulevissa projekteissani.

Vaihe 1: Osat

Osat
Osat
Osat
Osat
Osat
Osat
Osat
Osat
  • Wemos D1 tai ESP8266 -pohjaiset levyt
  • Moottorin suoja (käytän AliExpressin halpaa L293D: tä)
  • Paristopidikkeet 4 x AA ja 9 V (4 x AA -paristoa moottoreille ja 9 V Wemos -kortille)
  • 2WD -auton runko
  • Dupont -kaapelit

Saattaa tarvita juottimen, ruuvimeisselin ja liimapistoolin kaiken kasaamiseen.

Vaihe 2: Laitteiston kokoaminen

Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano

Kokoa ensin runko ohjeiden mukaisesti.

Liimaa sitten muut komponentit kuumalla tavalla kuvan mukaisesti.

Moottorin johdot on juotettava moottorin liittimiin ja vahvistettava liittimien liitoksia kuumalla liimalla.

Kiinnitti pienen kytkimen 4AA -paristopidikkeeseen. Tämä kytkee virran päälle/pois moottorin suojuksesta.

Vaihe 3: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

Noudata kytkentäkaaviota kuvan mukaisesti.

Wemos -moottorisuoja:

D1 IN2

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

Moottorin suoja moottorille/teholle:

Pääte -> Vasen moottori

B -liitin -> Oikea moottori VCC -> Akku (+) GND -> Akku (-)

Vaihe 4: MicroPython -asennus

Ensinnäkin Wemosilla on sarja-/USB -siru, joka perustuu CH304G: hen. Tämä on sama siru, joka löytyy halvoista Arduino-klooneista, ja sinun on asennettava oikea ohjain Macille tai PC: lle. Asenna ohjain noudattamalla tämän sivuston ohjeita.

Liitä Wemos tietokoneeseen ja varmista, että tietokoneesi voi tunnistaa Wemosin. Suorita Macissa seuraava komento ja näet laitteen nimeltä /dev/tty.wchusbserial640.

$ ls -lt /dev /tty* | pää

crw-rw-rw- 1 juuripyörä 17, 4. maalis 2 23:31 /dev/tty.wchusbserial640

Jos käytät tietokonetta, voit käyttää tätä Instructable -ohjetta viitteenä.

Seuraavaksi sinun on asennettava Python 2 tai 3 tietokoneellesi, koska flash -työkalu, esptool.py, perustuu Pythoniin. Vaikka MicroPython -opas voi todeta, että työkalu toimii vain Python 2.7: n kanssa, pystyin suorittamaan sen Python 3: ssa ilman ongelmia. Lataa uusin Python osoitteesta https://www.python.org ja noudata PC- tai Mac -asennusohjeita.

Lopuksi sinun on asennettava MicroPython Wemosiin. MicroPython -sivustolla on erinomainen opetusohjelma MicroPythonin asentamisesta ESP8266 -laitteeseen. Noudata vain asennusohjeita kohdassa ESP8266: n MicroPythonin käytön aloittaminen.

Alla on käyttämäni komennot:

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

esptool.py v1.3 Yhdistäminen…. Käynnissä Cesanta -välähdyskytkin… Salaman poistaminen (tämä voi viedä hetken)… Poisto kesti 10,5 sekuntia

$ 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 Yhdistäminen…. Käynnissä Cesanta -välähdyskytkin… Salaman parametrit asetettu 0x0240: ksi Kirjoittanut 589824 tavua 0x0: ssa 50,8 sekunnissa (92,8 kbit/s)… Poistuu…

MicroPython on nyt asennettu kortillesi!

Vaihe 5: Asenna verkko

Asenna verkko
Asenna verkko

Vaikka MicroPython on nyt asennettu Wemos -laitteeseesi, se ei ole vielä yhteydessä verkkoon. Sinun on ensin otettava verkko käyttöön. Suorita Macissa SCREEN -komento aloittaaksesi sarjapäätesession Wemosille.

$ screen /dev/tty.wchusbserial640 115200

Kun näet tyhjän näytön, paina RETURN nähdäksesi kehotteen:

>>

(Huomaa: Poistu kirjoittamalla CTRL-A CTRL-)

Otetaan nyt käyttöön web -asiakaskäyttö. Suorita asennusohjelma kirjoittamalla "import webrepl_setup". Anna E ottaaksesi WebREPL käyttöön ja aseta sitten salasana. Käynnistä muutokset aktivoidaksesi.

>> tuoda webrepl_setup

WebREPL-daemonin automaattisen käynnistyksen tila: poissa käytöstä Haluatko (E) ottaa käyttöön tai (D) ottaa sen käyttöön käynnistyksen yhteydessä? (Lopeta tyhjä rivi)> E Jotta WebREPL voidaan ottaa käyttöön, sinun on asetettava sille salasana Uusi salasana: xxxxx Vahvista salasana: xxxxx Muutokset aktivoidaan uudelleenkäynnistyksen jälkeen Haluatko käynnistää uudelleen nyt? (y/n) y

Lataa lopuksi Webrepl -asiakaskoneesi. Tämä on valinnainen, mutta asiakkaan mukana tulee muita hyödyllisiä työkaluja, joita haluat ehkä käyttää myöhemmin. Esimerkiksi webrepl_cli.py on komento kopioida tiedostoja Wemosiin scp: n kaltaisella syntaksilla. Käytä gitiä lataamaan asiakas. (Asenna git -työkalu, jos sinulla ei vielä ole sitä.)

git -klooni

Avaa verkkoselaimesi ja kirjoita URL -kenttään ladatun webrepl -asiakastiedoston sijainti, kuten:

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

Tämän pitäisi näyttää webrepl -asiakas selaimessasi. Ennen kuin voit muodostaa yhteyden siihen, sinun on ensin muodostettava yhteys sen WIFi -tukiasemaan. Jos tarkastelet tietokoneesi käytettävissä olevaa WIFI-verkkoa, näet verkon, joka alkaa MicroPython-xxxx: llä. Yhdistä siihen verkkoon. (Varoitus: Kun muodostat yhteyden tähän verkkoon, menetät Internet -yhteyden.)

Palaa webrepl -asiakasohjelmaasi ja napsauta Yhdistä. Sen pitäisi pyytää salasanaa. Anna Wemos -salasanasi ja muodosta yhteys.

Tervetuloa MicroPythoniin!

Salasana: WebREPL yhdistetty >>>

Wemosi on edelleen käynnissä AccessPoint -tilassa. Vaikka tämä on OK, mieluummin se toimii asematilassa, jossa se muodostaa yhteyden kotini WIFI -verkkoon, jotta tietokoneeni voisi käyttää sitä kotisi WIFI: n kautta ja silti käyttää Internetiä. Tätä varten sinun on luotava tiedosto nimeltä boot.py verkkokokoonpanolla ja ladattava se Wemosiin.

Tässä on esimerkki boot.py. Vaihda SSID ja salasana kotisi WIFI -verkkoon. Lisäksi haluan antaa sille staattisen IP -osoitteen 192.168.0.32. Muuta se kotisi WIFI -verkon käytettävissä olevaksi IP -osoitteeksi.

boot.py (voit ladata sen alta)

tuoda gc

tuoda webrepl def do_connect (): tuoda verkko sta_if = network. WLAN (network. STA_IF) jos ei sta_if.isconnected (): print ('muodostetaan yhteys verkkoon …') 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 (' ',' ') kun ei sta_if.isconnected (): pass print (' network config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

Käytä Webrepl -asiakkaan "Lähetä tiedosto" -lomaketta lähettääksesi boot.py -tiedostosi Wemosiin. Käynnistä uudelleen painamalla nollauspainiketta. Jos olet edelleen yhteydessä USB: n kautta SCREEN -komennolla, näet:

muodostetaan yhteys verkkoon… verkkokonfiguraatio: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL -demoni käynnistyi ws: //192.168.4.1: 8266 WebREPL -demoni käynnistyi: //192.168.0.32: 8266 Käynnistetty webrepl normaalitilassa ei voinut avata tiedostoa "main.py" MicroPython v1.8.7-7-gb5a1a20a3 lukemiseen 09.1.2019; ESP -moduuli ja ESP8266 Kirjoita "help ()" saadaksesi lisätietoja. >>>

Tämä vahvistaa, että Wemos -laitteesi on yhdistetty kotisi WIFI -verkkoon käyttämällä 192.168.0.32 -osoitteen IP -osoitetta.

Voit pingittää kyseisen IP -osoitteen vahvistaaksesi.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 datatavua

64 tavua 192.168.0.32: icmp_seq = 0 ttl = 255 aika = 9.334 ms 64 tavua 192.168.0.32: icmp_seq = 1 ttl = 255 aika = 11.071 ms..

Vaihe 6: Asenna pääohjelma

Asenna pääohjelma
Asenna pääohjelma
Asenna pääohjelma
Asenna pääohjelma

Lopuksi sinun on asennettava pääohjelma, joka toimii edelleen Wemos -laitteellasi.

Palaa verkkoselaimeesi ja suorita webrepl -asiakasohjelma. Vaihda ip -osoite Wemosin IP -osoitteeksi. Minun tapauksessani se on nyt 192.168.0.32. Anna Wemos -salasanasi ja sinun pitäisi nyt muodostaa yhteys Wemosiin.

Ladataan liitteenä oleva main.py -ohjelma. Lataa liitteenä oleva tiedosto tietokoneellesi. Napsauta Valitse tiedosto valitaksesi ladatun main.py ja napsauta Lähetetty laitteeseen.

Sinun on painettava lepopainiketta ladataksesi main.py -ohjelman. Palautuspainikkeen painamisen jälkeen näet:

muodostetaan yhteys verkkoon…

verkkoasetukset: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL -demoni käynnistyi osoitteessa ws: //192.168.4.1: 8266 WebREPL -demoni käynnistyi ws: //192.168.0.32: 8266 Webrepl aloitettiin normaalitilassa Kuunteleminen, yhdistä selaimesi…

Tämä tarkoittaa, että main.py -ohjelmasi on aktivoitu ja luettelo porttiin 80.

Testaa avaamalla selain ja kirjoittamalla

Tämän pitäisi näyttää auton ohjausnäyttö videon mukaisesti. Jos johdot on kytketty oikein, ohjauspainikkeet lähettävät oikeita signaaleja GPIO -portteihisi auton siirtämiseksi.

Vaihe 7: Tulevat parannukset

Seuraavat tehtävät ovat v2-luettelossani:

  • Käytä PWM -ohjainta moottorin nopeuden säätämiseen
  • Paranna verkkokäyttöliittymää. Käytä ehkä aREST -kehystä. En usko, että aREST lib on saatavilla MicroPythonilla tällä hetkellä, joten minun on ehkä hakkeroitava se.

Kiitos, että luit tämän ohjeen. Seuraa minua Facebookissa, Youtubessa ja Instructablesissa, niin saat lisää projekteja tulevaisuudessa.

Suositeltava: