Tartalomjegyzék:
- 1. lépés: A Wemos D1 Mini ESP8266 tábla
- 2. lépés: Felkészülés a MicroPythonra az ESP Chipen
- 3. lépés: Első lépések a MiPy-ESP-vel
- 4. lépés: A MiPy-ESP keretrendszer architektúrája
- 5. lépés: A projektkód előkészítése
- 6. lépés: A kód összeállítása és feltöltése a mikrokontrollerre
Videó: Első lépések a Python használatával ESP8266 és ESP32 esetén: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Bacground
Az ESP8266 és öccse, az ESP32 alacsony költségű Wi-Fi mikrochipek, teljes TCP/IP verem és mikrovezérlő képességgel. Az ESP8266 chip először 2014-ben került a gyártóközösség figyelmébe. Azóta az alacsony ár (<5 USD), a Wi-Fi-képessége, az 1 vagy 4 MB-os beépített flash memória és a különféle fejlesztések táblák, az ESP chipet az egyik legnépszerűbb mikrovezérlővé tette a WiFi és az IoT DIY projektekhez.
A MicroPython az egyre népszerűbb Python programozási nyelv karcsú és hatékony megvalósítása, amely a Python szabványos könyvtár kis részhalmazát tartalmazza, és mikrokontrollereken való futtatásra van optimalizálva.
E kettő kombinációja nagyon érdekes lehetőség a DIY projektekhez, kezdőknek és haladóknak egyaránt.
A MiPy-ESP projekt
2015-ben az első projektjeim az ESP8266-tal az ESP-01 lapkával kezdődtek, az Arudions használatával, amellyel a chipes AT parancsok soros kapcsolaton keresztül futtathatók. Ezt követően a következő években az Arduino magot alkalmaztam az ESP8266 -hoz a chipek C ++ nyelvű programozásához. Ez jól működik, de egy Python rajongó számára a Python 3 MicroPython implementációjának felfedezése nagyszerű hír volt.
A MiPy-ESP projekt rugalmas keretrendszer, amely a MicroPython alkalmazásával teljes kötegű Python IoT projekteket hajt végre az ESP-család mikrovezérlőin.
A keretrendszert a LeGarage Műszaki Bizottság szoftverfejlesztői csapata (LG-TC-SWDT-01) fejlesztette ki, amelynek célja a mikrokontroller-alkalmazásokhoz már bevált C ++ alapú kód lecserélése.
A projekt olyan alapvető funkciókat kínál, mint pl
- Hálózati csatlakozási eljárások
- Chip hozzáférési pont webszerver (wifi kapcsolathoz és chip weboldalak kiszolgálásához adat I/O)
- MQTT funkciók
- Naplózás/hibakeresés
- Mikrokontroller eseményütemezése
- Hardver I/O rutinok
Egy fő kompakt kódszkripttel (main.py), mind globális konfigurációval (config.py).
Ez a mikrokontroller kód fut a WiFi hálózathoz és az MQTT brókerekhez tartozó chipkapcsolatok robusztus karbantartásával. A különböző hardverekhez meglévő MicroPython modulok könnyen integrálhatók a rendszerbe.
A MiPy-ESP keretrendszer minden ESP-család mikrovezérlőit érintő hobbielektronikai IoT-projektünk gerincévé vált. Számos ESP-családi táblán tesztelték, például a NodeMCU, a Wemos és a Lolin táblákon.
A következő oktatóanyag útmutatást nyújt az ESP családba tartozó mikrokontrollerek és a MicroPython használatához a MiPy-ESP keretrendszer használatával.
1. lépés: A Wemos D1 Mini ESP8266 tábla
A MiPy-ESP keretrendszer a legtöbb ESP8266 alapú mikrovezérlővel működik.
A Wemos D1 mini fejlesztőlap ESP-8266EX chipen alapul. 2,5 x 3,5 cm alapterületen 4 MB flash memóriával, 11 digitális bemeneti/kimeneti tűvel rendelkezik, minden érintkező támogatja a megszakítást, PWM, I2C, SPI, soros és 1 analóg bemenet, 3,3 V maximális bemenettel, 5 V -os tápellátással, mikro USB csatlakozóval rendelkezik, és kompatibilis a kenyérlemezzel. Az alacsony ár és kis mérete miatt ez lett a kedvenc ESP -lapom.
Ezenkívül a kártya D1 mini pro verziójában lehetőség van külső antenna csatlakoztatására, ami jelentősen megnöveli a csatlakozási tartományt (+100 m hatótávolság). Ezenkívül a tábla különféle, kompakt méretű, dobozon kívüli bővítőlemezeket is tartalmaz.
2. lépés: Felkészülés a MicroPythonra az ESP Chipen
Ebben az első lépésben megteszi
- Csatlakoztassa az ESP kártyát USB -n keresztül a számítógéphez
- Telepítse az Esptool szoftvert a chip villogásához
- Törölje a chip memóriáját
- Flash a chip a MicroPython firmware
- Telepítse az Rshell -t a parancssori interakció engedélyezéséhez a chipével
- Az mpy-cross telepítése (.py fájlok binárisra fordításához)
Ha a táblát a számítógéphez csatlakoztatja a beépített USB-soros porttal rendelkező USB-kártyákon keresztül, az UART elérhetővé válik a számítógép számára, és ez a legegyszerűbb lehetőség az induláshoz. Az USB -csatlakozás nélküli táblák esetében az FTDI -modul USB -soros csatlakozóval használható a külvilághoz csatlakoztatott villogó GPIO -érintkezők csatlakoztatására, de ez nem tartalmazza ezt az oktatóanyagot.
A MiPy-ESP kódot használó MicroPython esetében a chip vaku minimális követelménye 1 MB. Van egy speciális felépítés is az 512 KB-os táblákhoz, de ez nem támogatja a fájlrendszert, amelytől a MiPy-ESP függ.
USB -kábel használata esetén a tábla a számítógépről kap áramot, miközben csatlakoztatva van. Ez lehetővé teszi a programozást és a hibakeresést is a soros kapcsolaton keresztül. A projektkód feltöltésekor és a projekt telepítésekor külső áramellátás történik a tábla tápcsatlakozóin.
Az Esptool szoftverrel kapcsolatos információk megtalálhatók az Esptool GitHub adattárban. Ha a Windows/Linux/OSX (MAC) rendszert szeretné használni, akkor a fenti link erre is kiterjed. A Python csomag telepíthető
pip install esptool
Linux felhasználók számára az Esptool csomagjait a Debian és az Ubuntu számára karbantartják, és telepíthetők vele
sudo apt install esptool
Az ESPP flash memória törlése Az Esptool használatával törölheti az ESP flash memóriát a paranccsal
esptool.py --port /dev /ttyUSB0 erase_flash
A MicroPyton firmware letöltése.bin fájlban található, amely letölthető a MicroPython webhelyről.
A repó jelenlegi projektmesterága tesztelve lett, és működik a Micropython v.1.12 verziójával. A MiPY-ESP keretrendszer sikerének biztosítása érdekében töltse le az 'esp8266-20191220-v1.12.bin' fájlt erről a linkről, és írja be a firmware-t a chipre a következő paranccsal:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = észleli 0 esp8266-20191220-v1.12.bin
Az Rshell csomag lehetővé teszi a parancssori interakciót a chipre telepített MicroPython környezettel. Ezen a linken megtalálható. Az Rshell egy egyszerű shell, amely a gazdagépen fut, és a MicroPython raw-REPL-jét használja, hogy python-töredékeket küldjön a billentyűzetre a fájlrendszer-információk megszerzése érdekében, és fájlokat másoljon a MicroPython fájlrendszerébe és onnan. A REPL a Read Evaluate Print Loop rövidítése, és ez a neve annak az interaktív MicroPython promptnak, amelyet az ESP8266 -on érhet el. A REPL használata messze a legegyszerűbb módja a kód tesztelésének és a parancsok futtatásának. Telepítse az Rshell parancsot a következő paranccsal:
sudo pip telepítse az rshell -t
Az mpy-cross fordító MicroPython telepítése alkalmazható a chip fájlrendszerbe feltöltött ascii.py fájlokkal. A MicroPython meghatározza az.mpy fájlok fogalmát is, amely egy bináris konténer fájlformátum, amely előre lefordított kódot tartalmaz, és amelyet egy normál.py modulként lehet importálni. A.py fájlok.mpy formátumba történő fordításával több RAM memória áll rendelkezésre a futó kódhoz - és ez szükséges ahhoz, hogy a MiPy -ESP keretrendszer működőképes alapmodulja legyen.
A MiPy-ESP kódtelepítéshez az mpy-cross MicroPython keresztfordító lefordítja a.py szkripteket a.mpy fájlba a chip feltöltése előtt. Telepítse az mpy-cross csomagot ezen a linken található utasítások szerint. Alternatív megoldásként az mpy-cross parancs telepíthető a Python pip paranccsal, vagy futtatható az mpy-cross mappa útvonaláról, ha itt klónozza a MicroPython lerakatot a GitHub-ból.
Most már telepítve van a MicroPython és az összes szükséges eszköz, amelyek az első MiPy-ESP projekt elkészítéséhez szükségesek
3. lépés: Első lépések a MiPy-ESP-vel
Ebben a lépésben lesz
Töltse le a MyPy-ESP keretrendszert
A MiPy-ESP projekt a GitHub webhelyen található ebben a kódtárban. A GitHub -ról letöltheti a tároló fájlstruktúráját, vagy klónozhatja azt a számítógépére
git klón
A számítógépre telepített kódtárral mostantól minden kódmodul megvan, amire szüksége van a kész ESP IoT projekt létrehozásához. További részletek az eszköztárban a következő lépésben.
4. lépés: A MiPy-ESP keretrendszer architektúrája
Ebben a lépésben lesz
megismerheti a MiPy-ESP kód munkafolyamatát
MiPy-ESP kód architektúra
Az összes Python keretrendszer a MiPY-ESP kódtár /src mappájában található. Az src/core mappa tartalmazza az összes projekthez tartozó alapvető modulokat. Az src/drivers mappában különféle modulok találhatók a chiphez csatlakoztatható különféle hardverekhez. Az src/segédprogramok mappa opcionális segédprogram -modulokat tartalmaz, amelyeket bele kell foglalni a projektbe.
A main.py és config.py fájlok az src/ mappában találhatók. Ezek a fő fájlok, amelyeket szerkeszteni kell a projekt építéséhez:
config.py:
Ez a fájl a projekt globális konfigurációs fájlja. Különféle beállításokkal rendelkezik, mindegyik leíró megjegyzésekkel a fájlban.
main.py:
Ez a mikro-vezérlő kódhurok fő szkriptje. Ez tartalmazza az alkalmazás-specifikus kódot a keretben. A chip indításakor a main.py futtatja és importálja az összes projektfüggő modult a megadott bemenetekkel a config.py fájlból. A fenti folyamatábra a main.py parancsfájl elrendezését mutatja.
A fenti ábra a main.py munkafolyamatát írja le:
- Indításkor a kód megpróbálja a chipet Wi-Fi hálózathoz csatlakoztatni. A korábban alkalmazott hálózatok és jelszavaik (chipen titkosítva) a flash memóriában vannak tárolva. A hálózati SSID-k és jelszavaik a wifi.json fájlban állíthatók elő a következő formátumban: " SSID1 ":" Jelszó "," SSID ":" Jelszó2 "}. A fájl adott hálózatait tárolja, a jelszavakat titkosítja, és a fájlt rendszerindításkor törli.
- Ha nem talál már ismert hálózatokat, a kód beállít egy hozzáférési pont (AP) webszervert. A chip AP -kiszolgáló SSID -je és jelszava a config.py fájlban van beállítva. A chip SSID-be való bejelentkezéssel egy weboldal jelenik meg a chip Wi-Fi-re való bejelentkezéséhez a 192.168.4.1 címen. A felismert hálózatok megjelennek a menüben, vagy az SSID manuálisan (rejtett hálózatok) és Wi-Fi jelszóval együtt adhatók meg. A chip sikeres csatlakoztatása után a Wi-Fi-hez az AP szerver leáll, és a main.py kód folytatja a következő lépéseket.
-
A main.py Beállítás részében
- feladatok és visszahívások (stb. MQTT visszahívások) és a rendszeres események funkciói vannak definiálva.
- A futó funkciókhoz különböző időzített feladatok vannak beállítva.
- Létrejött az MQTT brókercég
-
A kód ezután a fő mikrovezérlő hurokba kerül,
- a hálózati és MQTT bróker kapcsolatok folyamatos ellenőrzése,
- MQTT előfizetések,
- hardver I/O
- és ütemezett munkák.
- Megszakadt hálózati vagy MQTT közvetítőkapcsolat esetén a kód megpróbálja újra létrehozni.
5. lépés: A projektkód előkészítése
Ebben a lépésben lesz
- Ismerje meg a MiPy-ESP lerakat fájlstruktúráját
- készítse elő projektkódját a chip feltöltéséhez
A fenti ábra a lerakat mappa szerkezetét írja le, és felsorolja a keretrendszer aktuális moduljait. A projekt az src/ mappa szakaszai. A központi MiPy-ESP keretmodulok az src/core, az opcionális segédmodulok az src/segédprogramok és a hardvermodulok az src/drivers-ban találhatók.
A legtöbb rendelkezésre álló MicroPython hardverkönyvtár módosítás nélkül beléphet az illesztőprogramokba/ mappákba. Az összes jelenlegi illesztőprogramot a MiPy-ESP keretrendszerrel tesztelik. Ami a segédprogramok/ mappa moduljait illeti, az újonnan megjelenőkkel bővülni fog.
A projektkód lépése A projekt -specifikus kódot az src/ mappába kell helyezni. A main.py és config.py fájlok már szerkeszthetők. Másolja a kívánt projekt segédprogramokat is az src/segédprogramokból és az src/illesztőprogramokból az src/mappába.
Ha ismert Wi-Fi hálózatokat és jelszavakat szeretne szolgáltatni a chiphez, adja hozzá a wifi.json fájlt az src/fájlhoz.
A mellékelt Makefile alkalmazható a fájlok chipre való átvitelére való előkészítéshez.py fájlok lefordításával az / src fájlban, az alapmodulok összeállításával és az összeállított fájlok áthelyezésével egy új, build / nevű mappába
építeni
A build fájlok készen állnak a chip fájlrendszerbe való feltöltésre. Alapértelmezés szerint a main.py és a config.py nincs binárisra fordítva, hogy könnyen hozzáférhessenek hozzájuk a telepített chipek ellenőrzéséhez. A parancs:
tisztítsd meg
Törli a buildet/ mappát és annak tartalmát.
6. lépés: A kód összeállítása és feltöltése a mikrokontrollerre
Ebben a részben lesz
- töltse fel az előkészített fájlokat a buildben/ az utolsó szakaszból
- indítsa el és figyelje a futó kódot
Build/ fájlok feltöltése az Rshell segítségével
Töltsön fel minden fájlt a /build könyvtárban az ESP chipre az Rshell használatával. Ha a mikrokontroller csatlakoztatva van az USB -hez, a buildből/ mappából indítsa el az Rshell parancsot
rshell -p /dev /ttyUSB0
Ezután ellenőrizze a chip fájlokat (ha vannak)
ls /billentyűzet
A chipen lévő összes fájl törölhető
rm /billentyűzet/*.*
Másolja az összes projektfájlt a buildben/ a chipre:
cp *. * /billentyűzet
Ezután indítsa el az interaktív Python terminált a paranccsal
repl
Most meghívhatja a Python parancsokat vagy importálhat modulokat, és figyelheti a chip soros kimenetét a MiPy-ESP naplózó modulból.
Indítsa újra a chipet a reset gomb megnyomásával vagy a parancssorból
import fő
vagy
importáló gép
és akkor
machine.reset ()
A projekt konfigurációs fájljának naplózási/hibakeresési beállításaitól függően a repl mostantól az ESP chip hibakeresési üzeneteit jeleníti meg a soros kapcsolaton keresztül.
Ennek remélhetőleg meg kell kezdenie.
Ajánlott:
Első lépések az I2C érzékelő interfésszel ?? - Az MMA8451 interfésze ESP32 -k használatával: 8 lépés
Első lépések az I2C érzékelő interfésszel ?? - Az MMA8451 interfésze ESP32 -k használatával: Ebben az oktatóanyagban mindent megtudhat arról, hogyan kell elindítani, csatlakoztatni és beszerezni az I2C eszközt (gyorsulásmérő) a vezérlővel (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Első lépések az olcsó RPLIDAR-tal a Jetson Nano használatával: 5 lépés
Kezdő lépések az alacsony költségű RPLIDAR készülékkel A Jetson Nano használata: Rövid áttekintés A fényérzékelés és -határolás (LiDAR) ugyanúgy működik, mint a hanghullámok helyett lézerimpulzussal rendelkező ultrahangos távmérőket. A Yandex, az Uber, a Waymo és mások jelentős összegeket fektetnek be a LiDAR technológiába autonóm autójukhoz
Első lépések az ESP32 -vel - ESP32 táblák telepítése Arduino IDE - -be ESP32 villogó kód: 3 lépés
Első lépések az ESP32 -vel | ESP32 táblák telepítése Arduino IDE | -be ESP32 villogó kód: Ebben az utasításban látni fogjuk, hogyan kell elkezdeni az esp32 -vel való munkát, és hogyan kell telepíteni az esp32 táblákat az Arduino IDE -be, és beprogramozzuk az esp 32 -et, hogy futtassa a villogó kódot az arduino ide használatával
Első lépések W/ NodeMCU ESP8266 használatával az Arduino IDE -n: 6 lépés
Első lépések W/ NodeMCU ESP8266 -on az Arduino IDE -n: Áttekintés Ebben az oktatóanyagban megtudhatja, hogyan kell használni a NodeMCU -t az Arduino IDE -n. Mit fog tanulni? Általános információk a NodeMCU -ról használt
Első lépések a MicroPython használatával az ESP8266 -on: 10 lépés (képekkel)
Kezdő lépések a MicroPython használatával az ESP8266-on: Szeretne más módot használni az ESP8266-alapú táblák programozására, mint az Arduino IDE és a C/C ++ programozási nyelv együttes használatára? Ebben az oktatóanyagban megtudjuk, ki állítsa be és vezérelje az ESP8266-at tábla a MicroPython.BUIL használatával