Sisällysluettelo:
- Vaihe 1: Osat
- Vaihe 2: Laitteiston kokoaminen
- Vaihe 3: Johdotus
- Vaihe 4: MicroPython -asennus
- Vaihe 5: Asenna verkko
- Vaihe 6: Asenna pääohjelma
- Vaihe 7: Tulevat parannukset
Video: MicroPython IoT Rover perustuu WEMOS D1 (ESP-8266EX): 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
** 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
- 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
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
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
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
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:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Automaattinen lataus (tyhjiö) -kytkin ACS712: n ja Arduinon kanssa: 7 vaihetta (kuvien kanssa)
Automaattinen kuorman (tyhjiö) kytkin ACS712: n ja Arduinon kanssa: Hei kaikki! Sähkötyökalun käyttäminen suljetussa tilassa on kiire, koska kaikki ilmassa oleva pöly ja ilmassa oleva pöly tarkoittaa pölyä keuhkoissasi. Vac -myymälän suorittaminen voi poistaa osan tästä riskistä, mutta kytkeä sen päälle ja pois päältä joka kerta
Esp 8266 Esp-01: n käytön aloittaminen Arduino IDE: n kanssa Esp -levyjen asentaminen Arduino Ide -ohjelmaan ja Esp -ohjelmointi: 4 vaihetta
Esp 8266 Esp-01: n käytön aloittaminen Arduino IDE: n kanssa Esp-levyjen asentaminen Arduino Ide -ohjelmaan ja Esp-ohjelmointi: Tässä ohjeessa opimme asentamaan esp8266-levyt Arduino IDE: hen ja kuinka ohjelmoida esp-01 ja ladata koodi siihen. tämä ja useimmat ihmiset kohtaavat ongelmia
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan