Sisällysluettelo:
- Vaihe 1: Wemos D1 Mini ESP8266 -levy
- Vaihe 2: MicroPythonin valmistautuminen ESP -sirulle
- Vaihe 3: MiPy-ESP: n käytön aloittaminen
- Vaihe 4: MiPy-ESP-puitearkkitehtuuri
- Vaihe 5: Projektikoodin valmistelu
- Vaihe 6: Koodin kokoaminen ja lataaminen mikro -ohjaimeen
Video: Pythonin käytön aloittaminen ESP8266 ja ESP32: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tausta
ESP8266 ja sen nuorempi isoveli ESP32 ovat edullisia Wi-Fi-mikrosiruja, joissa on täysi TCP/IP-pino ja mikro-ohjainkyky. ESP8266-siru tuli valmistajayhteisön tietoon ensimmäisen kerran jo vuonna 2014. Siitä lähtien alhainen hinta (<5 USD), sen Wi-Fi-ominaisuus, sisäänrakennettu 1 tai 4 Mt: n flash-muisti ja monipuolinen kehitys on tehnyt ESP-sirusta yhden suosituimmista mikro-ohjaimista WiFi- ja IoT DIY -projekteissa.
MicroPython on laiha ja tehokas toteutus yhä suositummasta Python -ohjelmointikielestä, joka sisältää pienen osajoukon Python -standardikirjastosta ja joka on optimoitu toimimaan mikro -ohjaimilla.
Näiden kahden yhdistelmä on erittäin mielenkiintoinen vaihtoehto DIY -projekteille sekä aloittelijoille että kokeneemmille käyttäjille.
MiPy-ESP-projekti
Vuonna 2015 ensimmäiset projektini ESP8266: n kanssa alkoivat ESP-01-sirulla, joka käytti Arudionsia sirun AT-komentojen suorittamiseen sarjaliitännän kautta. Sen jälkeen käytin seuraavien vuosien aikana Arduino -ydintä ESP8266: lle sirujen ohjelmoimiseksi C ++ -kielellä. Tämä toimii hyvin, mutta Python -harrastajalle löytöni Python 3: n MicroPython -toteutuksesta oli hieno uutinen.
MiPy-ESP-projekti on joustava kehys, joka soveltaa MicroPythonia täydellisiin Python IoT -projekteihin ESP-perheen mikro-ohjaimissa.
Kehyksen on kehittänyt LeGarage-teknisen komitean ohjelmistokehittäjäryhmä (LG-TC-SWDT-01), jonka tarkoituksena on korvata jo vakiintunut C ++ -pohjainen koodi mikro-ohjainsovelluksillemme.
Projekti tarjoaa perusominaisuuksia, kuten
- Verkkoyhteysmenettelyt
- Chip -tukiaseman verkkopalvelin (wifi -yhteydelle ja sirujen verkkosivujen palvelemiselle datan I/O: lle)
- MQTT -toiminnot
- Kirjaaminen/virheenkorjaus
- Mikro -ohjaimen tapahtumien ajoitus
- Laitteiston I/O -rutiinit
Yksi pääkompakti koodikomentosarja (main.py), kaikki globaalilla kokoonpanolla (config.py).
Tämä mikrokontrollerikoodi toimii tehokkaasti ylläpitämällä siruliitäntöjä WiFi -verkkoon ja MQTT -välittäjiin. Olemassa olevat MicroPython -moduulit eri laitteistoille voidaan helposti integroida järjestelmään.
MiPy-ESP-kehyksestä on tullut kaikkien harrastuselektroniikan IoT-projektiemme selkäranka, johon kuuluu ESP-perheen mikro-ohjaimia. Se on testattu useilla ESP-perheen levyillä, kuten NodeMCU-, Wemos- ja Lolin-levyillä.
Seuraava opetusohjelma opastaa ESP-perheen mikro-ohjaimien ja MicroPythonin käytön aloittamiseen MiPy-ESP-kehyksen avulla.
Vaihe 1: Wemos D1 Mini ESP8266 -levy
MiPy-ESP-kehys toimii useimpien ESP8266-pohjaisten mikro-ohjaimien kanssa.
Wemos D1 mini -kehityskortti perustuu ESP-8266EX-siruun. 2,5 x 3,5 cm: n jalanjäljellä siinä on 4 Mt: n flash -muisti, 11 digitaalista tulo-/ulostulonappia, kaikki nastat tukevat keskeytystä, PWM, I2C, SPI, sarja ja 1 analoginen tulo, jonka maksimitulo on 3,3 V, voidaan käyttää 5 V: n virralla, siinä on mikro -USB -liitäntä ja se on yhteensopiva leipälevyn kanssa. Alhainen hinta ja sen pieni koko ovat tehneet siitä suosikki ESP -levyn.
Lisäksi kortin D1 mini pro -versiossa on mahdollisuus liittää ulkoinen antenni, mikä lisää liitäntäaluetta merkittävästi (+100 m: n kantama). Tämän lisäksi levyyn kuuluu myös erilaisia valmiita laajennuslevyjä, joiden koko on samanlainen.
Vaihe 2: MicroPythonin valmistautuminen ESP -sirulle
Tässä ensimmäisessä vaiheessa teet
- Liitä ESP -kortti tietokoneeseen USB -liitännän kautta
- Asenna Esptool -ohjelmisto sirun vilkuttamiseen
- Tyhjennä sirumuisti
- Flash -siru MicroPython -laiteohjelmistolla
- Asenna Rshell, jotta komentorivin vuorovaikutus voidaan ottaa käyttöön sirusi kanssa
- Asenna mpy-cross (.py-tiedostojen kääntämiseksi binääriksi)
Taulun liittäminen tietokoneeseen USB-korttien kautta, joissa on sisäänrakennettu USB-sarjaportti, tekee UART: n saataville tietokoneellesi ja on helpoin vaihtoehto alkuun pääsemiseksi. Jos levyllä ei ole USB -liitäntää, FTDI -moduulia, jossa on USB -sarja, voidaan käyttää GPIO -nastojen liittämiseen ulkomaailmaan, mutta tämä ei kuulu tähän opetusohjelmaan.
MiPy-ESP-koodia käyttävässä MicroPythonissa sirun flash-koon vähimmäisvaatimus on 1 Mt. On myös erityinen rakenne levyille, joiden koko on 512 kt, mutta tämä ei tue tiedostojärjestelmää, josta MiPy-ESP riippuu.
Kun käytät USB -kaapelia, tietokone saa virtansa levylle, kun se on kytketty. Tämä mahdollistaa myös ohjelmoinnin ja virheenkorjauksen sarjaliitännän kautta. Kun projektikoodi ladataan ja projektisi otetaan käyttöön, kortin virtalähteiden päälle syötetään ulkoista virtaa.
Esptool -ohjelmiston tiedot löytyvät Esptool GitHub -varastosta. Jos haluat käyttää Windows/Linux/OSX (MAC) -järjestelmää, yllä oleva linkki kattaa myös sen. Python -paketin voi asentaa
pip asenna esptool
Linux -käyttäjille Esptool -paketteja ylläpidetään Debianille ja Ubuntulle, ja ne voidaan myös asentaa
sudo apt asentaa esptool
ESP -flash -muistin pyyhkiminen Esptoolia käyttämällä ESP -flash -muisti tyhjennetään komennolla
esptool.py --port /dev /ttyUSB0 erase_flash
MicroPyton -laiteohjelmiston lataaminen MicroPython -laiteohjelmisto sijaitsee.bin -tiedostossa, jonka voi ladata MicroPython -sivustosta.
Repon nykyinen projektin päähaara on testattu ja toimii Micropython v.1.12: n kanssa. Varmistaaksesi MiPY-ESP-kehyksen onnistumisen, lataa tiedosto 'esp8266-20191220-v1.12.bin' tästä linkistä ja kirjoita laiteohjelmisto sirulle komennolla:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = havaitse 0 esp8266-20191220-v1.12.bin
Rshellin asennus Rshell -paketti mahdollistaa komentorivin vuorovaikutuksen sirulle asennetun MicroPython -ympäristön kanssa. Se löytyy tästä linkistä. Rshell on yksinkertainen kuori, joka toimii isäntänä ja käyttää MicroPythonin raw-REPL-protokollaa python-katkelmien lähettämiseen näppäimistöön tiedostojärjestelmätietojen saamiseksi ja tiedostojen kopioimiseksi MicroPython-tiedostojärjestelmään ja sieltä. REPL on lyhenne sanoista Read Evaluate Print Loop, ja se on nimi, joka annetaan interaktiiviselle MicroPython -kehotteelle, jota voit käyttää ESP8266 -laitteessa. REPL: n käyttäminen on ylivoimaisesti helpoin tapa testata koodisi ja suorittaa komentoja. Asenna Rshell komennolla:
sudo pip asenna rshell
Asentamalla mpy-cross-kääntäjä MicroPython voidaan käyttää sirutiedostojärjestelmään ladattuja ascii.py-tiedostoja. MicroPython määrittelee myös.mpy -tiedostojen käsitteen, joka on binäärisäiliötiedostomuoto, joka sisältää valmiiksi kootun koodin ja joka voidaan tuoda tavallisen.py -moduulin tapaan. Kääntämällä.py -tiedostot.mpy -tiedostoon lisää RAM -muistia juoksevalle koodillesi - ja tämä on tarpeen, jotta MiPy -ESP -kehyksen ydinmoduuli toimii.
MiPy-ESP-koodin käyttöönottoa varten mpy-cross MicroPython cross-kääntäjä kääntää.py-komentosarjat.mpy-tiedostoon ennen sirun lataamista. Asenna mpy-cross-paketti tämän linkin ohjeiden mukaisesti. Vaihtoehtoisesti mpy-cross-komento voidaan asentaa Python pip -komennolla tai suorittaa mpy-cross-kansion polulta, jos kloonat MicroPython-arkiston täältä GitHubista.
Sinulla on nyt MicroPython ja kaikki tarvittavat työkalut asennettuna ensimmäisen MiPy-ESP-projektisi rakentamiseen
Vaihe 3: MiPy-ESP: n käytön aloittaminen
Tässä vaiheessa teet
Lataa MyPy-ESP-kehys
MiPy-ESP-kehyksen lataaminen MiPy-ESP-projekti löytyy GitHubista tästä koodivarastosta. GitHubista voit ladata arkiston tiedostorakenteen tai kloonata sen tietokoneellesi
git -klooni
Kun koodivarasto on asennettu tietokoneellesi, sinulla on nyt kaikki koodimoduulit, joita tarvitset valmiiden ESP IoT -projektien rakentamiseen. Lisätietoja työkalupakista seuraavassa vaiheessa.
Vaihe 4: MiPy-ESP-puitearkkitehtuuri
Tässä vaiheessa teet
oppia MiPy-ESP-koodin työnkulusta
MiPy-ESP-koodiarkkitehtuuri
Kaikki Python-kehysmoduulit löytyvät MiPY-ESP-koodivaraston /src-kansiosta. Src/core -kansio sisältää ydinmoduulit, jotka menevät jokaiseen projektiin. Src/drivers -kansiossa on valikoima moduuleja eri laitteille, jotka liitetään siruun. Src/utility -kansio sisältää valinnaisia apumoduuleja, jotka voidaan sisällyttää projektiin.
Tiedostot main.py ja config.py löytyvät kansiosta src/. Nämä ovat tärkeimmät muokattavat tiedostot projektin rakentamiseksi:
config.py:
Tämä tiedosto on projektisi yleinen määritystiedosto. Siinä on erilaisia asetuksia, joissa kaikissa on kuvaavia kommentteja.
main.py:
Tämä on mikro-ohjaimen koodisilmukan pääskripti. Se sisältää sovelluskohtaisen koodin kehyksessä. Sirun käynnistyksen yhteydessä main.py suorittaa ja tuo kaikki projektista riippuvat moduulit annetuilla panoksilla config.py-tiedostosta. Yllä oleva vuokaavio näyttää main.py -komentosarjan asettelun.
Yllä oleva kuva kuvaa main.py: n työnkulkua:
- Käynnistyksen yhteydessä koodi yrittää yhdistää sirun Wi-Fi-verkkoonAiemmin käytetyt verkot ja niiden salasanat (sirulle salatut) tallennetaan flash-muistiin. SSID1 ":" Salasana "," SSID ":" Salasana2 "}. Tämän tiedoston tietyt verkot tallennetaan, salasanat salataan ja tiedosto poistetaan käynnistyksen yhteydessä.
- Jos tunnettuja verkkoja ei löydy, koodi määrittää tukiaseman (AP) verkkopalvelimen Sirun AP -palvelimen SSID ja salasana asetetaan config.py -tiedostoon. Kirjautumalla sirun SSID-tunnukseen, verkkosivu, jolla siru kirjaudutaan Wi-Fi-verkkoon, näytetään osoitteessa 192.168.4.1 Havaitut verkot näkyvät valikossa tai SSID voidaan syöttää manuaalisesti (piilotetut verkot) yhdessä Wi-Fi-salasanan kanssa. Kun siru on yhdistetty onnistuneesti Wi-Fi-verkkoon, tukiasemapalvelin sammuu ja main.py-koodi jatkaa seuraaviin vaiheisiin.
- Main.py: n Asetukset -osiossa
- toimintoja töille ja takaisinsoittoille (jne. MQTT -takaisinsoitot) ja säännöllisille tapahtumille.
- Juoksutoiminnoille on asetettu erilaisia ajastettuja töitä.
- MQTT -välittäjäasiakas on perustettu
-
Koodi menee sitten mikro-ohjaimen pääsilmukkaan,
- jatkuvasti tarkistaa verkko- ja MQTT -välittäjäyhteydet,
- MQTT -tilaukset,
- laitteiston I/O
- ja aikataulutetut työt.
- Jos verkko- tai MQTT-välittäjäyhteys katkeaa, koodi yrittää luoda uudelleen.
Vaihe 5: Projektikoodin valmistelu
Tässä vaiheessa teet
- oppia MiPy-ESP-arkiston tiedostorakenteesta
- valmistele projektikoodisi sirun lataamista varten
Arkiston kansiorakenne Yllä oleva kuva kuvaa arkiston kansiorakennetta ja luettelee kehyksen nykyiset moduulit. Projektisi on vaiheita src/ kansiossa. Ydin MiPy-ESP-kehysmoduulit sijaitsevat src/core-ohjelmassa, valinnaiset apuohjelmamoduulit src/apuohjelmat -laitteistossa ja laitteistomoduulit src/-ohjaimissa.
Useimmat saatavilla olevat MicroPython -laitteistokirjastot voivat siirtyä ohjaimiin/ kansioon ilman muutoksia. Kaikki nykyiset ohjaimet testataan MiPy-ESP-kehyksellä. Apuohjelmien/ kansion moduuleja lisätään lisää niiden tullessa eloon.
Projektikoodin vaiheistus Projektikohtainen koodisi tulee sijoittaa src/ kansioon. Main.py- ja config.py -tiedostot ovat jo muokattavissa. Kopioi myös halutut projektin apuohjelmat src/utility ja src/drivers -src/.
Jos haluat toimittaa tunnetut Wi-Fi-verkot ja salasanat sirulle, lisää tiedosto wifi.json kohteeseen src/.
Toimitettua Makefileä voidaan käyttää tiedostojen valmisteluun sirulle siirtämiseksi kokoamalla.py -tiedostot / src -tiedostoon, kokoamalla ydinmoduulit ja siirtämällä kootut tiedostot uuteen kansioon nimeltä build / komennolla
saada rakentamaan
Koontiversiossa olevat tiedostot ovat valmiita ladattavaksi sirutiedostojärjestelmään. Oletuksena main.py ja config.py eivät ole käännetty binääriksi, jotta niihin pääsee helposti käsiksi käytettävien sirujen tarkastamiseksi. Käsky:
tehdä puhtaiksi
Poistaa koontiversion/ kansion ja sen sisällön.
Vaihe 6: Koodin kokoaminen ja lataaminen mikro -ohjaimeen
Tässä osiossa saat
- lataa valmiit tiedostot koontiversiossa/ viimeisestä osasta
- käynnistä ja seuraa käynnissä olevaa koodia
Rakennuksen/ tiedostojen lataaminen Rshellillä
Lataa kaikki /build -hakemiston tiedostot ESP -sirulle Rshellin avulla. Kun mikro -ohjain on kytketty USB: hen, käynnistä Rshell komennolla koontiversiosta/ kansiosta
rshell -p /dev /ttyUSB0
Tarkista sitten sirutiedostot (jos niitä on)
ls /näppäimistö
Kaikki sirulla olevat tiedostot voidaan poistaa
rm /näppäimistö/*.*
Kopioi kaikki rakennustiedostot/ sirulle:
cp *. * /näppäimistö
Käynnistä sitten interaktiivinen Python -pääte komennolla
repl
Voit nyt kutsua Python-komentoja tai tuoda moduuleja ja seurata sirun sarjalähtöä MiPy-ESP-kirjausmoduulista.
Käynnistä siru uudelleen painamalla nollauspainiketta tai komentoriviltä
tuonti pää
tai
tuontikone
ja sitten
machine.reset ()
Riippuen kirjaus-/virheenkorjausasetuksista projektin määritystiedostossa, repl näyttää nyt ESP -sirun virheenkorjausviestit sarjayhteyden kautta.
Tämän pitäisi toivottavasti päästä alkuun.
Suositeltava:
WeMos ESP8266: n käytön aloittaminen: 6 vaihetta
WeMos ESP8266: n käytön aloittaminen: Tässä ohjeessa aiomme suorittaa vilkkuvan LED -esimerkin WeMos ESP8266: ssa
Pythonin käytön aloittaminen: 7 vaihetta (kuvilla)
Aloita Python: Ohjelmointi on mahtavaa! Se on luovaa, hauskaa ja antaa aivoillesi henkistä harjoitusta. Monet meistä haluavat oppia ohjelmoinnista, mutta vakuuttavat itsensä siitä, että emme voi. Ehkä siinä on liikaa matematiikkaa, ehkä pelottava pelko
Amazon AWS IoT: n ja ESP8266: n käytön aloittaminen: 21 vaihetta
Aloittaminen Amazon AWS IoT: n ja ESP8266: n kanssa: Tämä projekti näyttää, kuinka voit ottaa ESP8266 -moduulin ja liittää sen suoraan AWS IOT -järjestelmään Mongoose OS -käyttöjärjestelmää käyttäen. Mongoose OS on avoimen lähdekoodin käyttöjärjestelmä mikro -ohjaimille, joka korostaa pilviyhteyttä. Sen on kehittänyt Dublinin Cesanta
ESP32 CAM -laitteen käytön aloittaminen - Videon suoratoisto ESP CAM: n avulla Wifi -yhteyden kautta - ESP32 -turvakameraprojekti: 8 vaihetta
ESP32 CAM -laitteen käytön aloittaminen | Videon suoratoisto ESP CAM: n avulla Wifi -yhteyden kautta | ESP32 -turvakameraprojekti: Tänään opimme käyttämään tätä uutta ESP32 CAM -korttia ja miten voimme koodata sen ja käyttää sitä turvakamerana ja saada suoratoistovideon wifi -yhteyden kautta
ESP32: n käytön aloittaminen - ESP32 -levyjen asentaminen Arduino IDE: hen - ESP32 vilkkuva koodi: 3 vaihetta
ESP32: n käytön aloittaminen | ESP32 -levyjen asentaminen Arduino IDE: hen | ESP32 Blink Code: Tässä ohjeessa näemme, kuinka aloittaa työskentely esp32: n kanssa ja miten asennetaan esp32 -levyt Arduino IDE: hen, ja ohjelmoimme esp 32: n suorittamaan vilkkuva koodi käyttämällä arduino ide