Turinys:
- 1 žingsnis: „Wemos D1 Mini ESP8266“plokštė
- 2 veiksmas: pasiruošimas naudoti „MicroPython“naudojant ESP mikroschemą
- 3 žingsnis: Darbo su „MiPy-ESP“pradžia
- 4 žingsnis: „MiPy-ESP“pagrindų architektūra
- 5 veiksmas: projekto kodo paruošimas
- 6 veiksmas: kodo surinkimas ir įkėlimas į mikrovaldiklį
Video: Darbo su „Python“pradžia, skirta ESP8266 ir ESP32: 6 veiksmai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
„Bacground“
ESP8266 ir jo jaunesnysis didysis brolis ESP32 yra nebrangūs „Wi-Fi“mikroschemos su visu TCP/IP kaminu ir mikrovaldiklio galimybėmis. Į ESP8266 mikroschemą gamintojų bendruomenė pirmą kartą atkreipė dėmesį dar 2014 m. Nuo to laiko maža kaina (<5 USD), „Wi-Fi“galimybė, integruota 1 arba 4 MB atmintinė ir įvairūs turimi kūriniai plokštes, padarė ESP mikroschemą vienu iš populiariausių mikrovaldiklių, skirtų „WiFi“ir „IoT DIY“projektams.
„MicroPython“yra lieknas ir efektyvus vis populiaresnės „Python“programavimo kalbos diegimas, apimantis nedidelį „Python“standartinės bibliotekos pogrupį ir optimizuotas veikti naudojant mikrovaldiklius.
Šių dviejų derinys yra labai įdomi „pasidaryk pats“projektų galimybė tiek pradedantiesiems, tiek labiau pažengusiems vartotojams.
„MiPy-ESP“projektas
Dar 2015 m. Mano pirmieji projektai su ESP8266 prasidėjo nuo ESP-01 lusto, naudojant „Arudions“, kad būtų galima paleisti mikroschemų AT komandas per nuoseklųjį ryšį. Po to per ateinančius metus aš pritaikiau „Arduino“branduolį ESP8266 programuoti lustus C ++ kalba. Tai veikia gerai, tačiau „Python“entuziastui mano atradimas apie „Python 3“diegimą „MicroPython“buvo puiki žinia.
„MiPy-ESP“projektas yra lanksti sistema, pritaikanti „MicroPython“, skirtą pilno kamino „Python“IoT projektams ESP šeimos mikrovaldikliuose.
Sistemą sukūrė „LeGarage“techninio komiteto programinės įrangos kūrėjų komanda (LG-TC-SWDT-01), siekdama pakeisti jau sukurtą C ++ kodą mūsų mikrovaldiklių programoms.
Projektas suteikia pagrindines funkcijas, tokias kaip
- Tinklo prijungimo procedūros
- „Chip“prieigos taško žiniatinklio serveris (skirtas „Wi -Fi“ryšiui ir lustinių tinklalapių aptarnavimui duomenų įvesties/išvesties tikslais)
- MQTT funkcijos
- Registravimas/derinimas
- Mikrokontrolerio įvykių planavimas
- Techninės įrangos įvesties/išvesties tvarka
Su vienu pagrindiniu kompaktiško kodo scenarijumi (main.py), visi su visuotine konfigūracija (config.py).
Šis mikroprocesoriaus kodas veikia tvirtai prižiūrint mikroschemų jungtis prie „WiFi“tinklo ir MQTT brokerių. Esamus „MicroPython“modulius, skirtus įvairiai aparatinei įrangai, galima lengvai integruoti į sistemą.
„MiPy-ESP“sistema tapo visų mūsų hobio elektronikos daiktų interneto projektų, kuriuose dalyvauja ESP šeimos mikrovaldikliai, pagrindu. Jis buvo išbandytas keliose ESP šeimos plokštėse, tokiose kaip „NodeMCU“, „Wemos“ir „Lolin“plokštės.
Ši pamoka yra vadovas, kaip pradėti naudotis ESP šeimos mikrovaldikliais ir „MicroPython“naudojant „MiPy-ESP“sistemą.
1 žingsnis: „Wemos D1 Mini ESP8266“plokštė
„MiPy-ESP“sistema veikia su dauguma ESP8266 pagrįstų mikrovaldiklių.
„Wemos D1 mini“kūrimo plokštė yra pagrįsta ESP-8266EX mikroschema. 2,5 x 3,5 cm pločio, jame yra 4 MB „flash“atmintis, 11 skaitmeninių įvesties/išvesties kaiščių, visi kaiščiai palaiko pertraukimą, PWM, I2C, SPI, nuoseklusis ir 1 analoginis įėjimas su maksimalia 3,3 V įvestimi, gali veikti 5 V galia, turi mikro USB jungtį ir yra suderinama su duonos lenta. Dėl mažos kainos ir mažo dydžio ji tapo mano mėgstamiausia ESP lenta.
Be to, plokštės „D1 mini pro“versijoje yra galimybė prijungti išorinę anteną, žymiai padidinant ryšio diapazoną (+100 m diapazonas). Be to, plokštėje taip pat yra įvairių panašaus kompaktiško dydžio išilginių plokščių plokščių.
2 veiksmas: pasiruošimas naudoti „MicroPython“naudojant ESP mikroschemą
Šiame pirmame žingsnyje jūs padarysite
- Prijunkite ESP plokštę per USB prie kompiuterio prie kompiuterio
- Įdiekite „Esptool“programinę įrangą mikroschemai mirksėti
- Ištrinkite lusto atmintį
- „Flash“mikroschemą naudodami „MicroPython“programinę -aparatinę įrangą
- Įdiekite „Rshell“, kad įgalintumėte komandų eilutės sąveiką su lustu
- Įdiekite „mpy-cross“(.py failų kompiliavimui į dvejetainę versiją)
Prijungus plokštę prie kompiuterio per USB plokštes su įmontuotu USB nuosekliuoju prievadu, UART pasiekiamas jūsų kompiuteryje ir tai yra lengviausias būdas pradėti. Plokštėms be USB jungties galima prijungti FTDI modulį su USB prie nuoseklaus USB, kad būtų galima prijungti blykstės GPIO kaiščius, prijungtus prie išorinio pasaulio, tačiau tai nėra aprašyta šiame vadove.
„MicroPython“, naudojant „MiPy-ESP“kodą, minimalus mikroschemos dydžio reikalavimas yra 1 MB. Taip pat yra speciali 512 KB plokščių konstrukcija, tačiau ji nepalaiko failų sistemos, nuo kurios priklauso „MiPy-ESP“.
Naudojant USB kabelį, plokštė prijungiama prie kompiuterio. Tai taip pat leidžia programuoti ir derinti naudojant nuoseklųjį ryšį. Kai įkeliamas projekto kodas ir diegiamas jūsų projektas, plokštės maitinimo kaiščiams naudojama išorinė energija.
Informaciją apie „Esptool“programinę įrangą rasite „Esptool GitHub“saugykloje. Jei norite naudoti „Windows“/„Linux“/OSX (MAC), tai taip pat apima aukščiau pateikta nuoroda. „Python“paketą galima įdiegti
pip įdiegti esptool
„Linux“vartotojams „Depto“ir „Ubuntu“palaikomi „Esptool“paketai, juos taip pat galima įdiegti
sudo apt įdiegti esptool
Naudodami „Esptool“, ištrinkite ESP „flash“atmintį naudodami komandą
esptool.py --port /dev /ttyUSB0 erase_flash
„MicroPyton“programinės įrangos atsisiuntimas „MicroPython“programinė įranga yra.bin faile, kurį galima atsisiųsti iš „MicroPython“svetainės.
Dabartinė repo projekto pagrindinė šaka buvo išbandyta ir veikia su „Micropython v.1.12“. Norėdami užtikrinti sėkmę naudojant „MiPY-ESP“sistemą, atsisiųskite failą „esp8266-20191220-v1.12.bin“iš šios nuorodos ir įrašykite programinę-aparatinę įrangą į lustą naudodami komandą:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = aptikti 0 esp8266-20191220-v1.12.bin
„Rshell“paketas įgalina komandų eilutės sąveiką su jūsų mikroschemoje įdiegta „MicroPython“aplinka. Ją galima rasti šioje nuorodoje. „Rshell“yra paprastas apvalkalas, kuris veikia pagrindiniame kompiuteryje ir naudoja „MicroPython“neapdorotą REPL, kad išsiųstų „python“fragmentus į klaviatūrą, kad gautų failų sistemos informaciją ir nukopijuotų failus į „MicroPython“failų sistemą ir iš jos. REPL reiškia skaitymo įvertinimo spausdinimo ciklą ir vadinamas interaktyviu „MicroPython“raginimu, kurį galite pasiekti naudodami ESP8266. „REPL“naudojimas yra pats lengviausias būdas išbandyti savo kodą ir paleisti komandas. Įdiekite „Rshell“naudodami komandą:
sudo pip įdiegti rshell
Įdiegti „mpy-cross“kompiliatorių „MicroPython“galima naudojant ascii.py failus, įkeltus į lustų failų sistemą. „MicroPython“taip pat apibrėžia.mpy failų sąvoką, kuri yra dvejetainio konteinerio failo formatas, kuriame yra iš anksto sukompiliuotas kodas ir kurį galima importuoti kaip įprastą.py modulį. Surinkus.py failus į.mpy, jūsų veikiančiam kodui bus suteikta daugiau RAM atminties - tai reikalinga norint turėti veikiantį pagrindinį „MiPy -ESP“sistemos modulį.
Norėdami įdiegti „MiPy-ESP“kodą, „mpy-cross MicroPython“kryžminis kompiliatorius prieš įkeldamas mikroschemą surenka.py scenarijus į.mpy. Įdiekite „mpy-cross“paketą pagal šioje nuorodoje pateiktas instrukcijas. Arba komandą „mpy-cross“galima įdiegti naudojant „Python pip“komandą arba paleisti iš „mpy-cross“aplanko kelio, jei čia klonuojate „MicroPython“saugyklą iš „GitHub“.
Dabar turite „MicroPython“ir visus reikalingus įrankius, kad galėtumėte pradėti kurti savo pirmąjį „MiPy-ESP“projektą
3 žingsnis: Darbo su „MiPy-ESP“pradžia
Šiame žingsnyje jūs padarysite
Atsisiųskite „MyPy-ESP“sistemą
„MiPy-ESP“projektą galima rasti „GitHub“šioje kodų saugykloje. Iš „GitHub“galite atsisiųsti saugyklos failų struktūrą arba klonuoti ją į savo kompiuterį
git klonas
Kai jūsų kompiuteryje įdiegta kodų saugykla, dabar turite visus kodo modulius, kurių reikia norint sukurti tiesioginį ESP IoT projektą. Daugiau informacijos apie įrankių rinkinį rasite kitame žingsnyje.
4 žingsnis: „MiPy-ESP“pagrindų architektūra
Šiame žingsnyje jūs padarysite
sužinokite apie „MiPy-ESP“kodo darbo eigą
„MiPy-ESP“kodo architektūra
Visi „Python“sistemos moduliai yra „MiPY-ESP“kodų saugyklos aplanke /src. Aplanke src/core yra pagrindiniai moduliai, kurie patenka į kiekvieną projektą. „Src/drivers“aplanke yra įvairių modulių, skirtų prijungti prie jūsų mikroschemos, pasirinkimas. Aplanke src/utilities yra pasirenkami naudingumo moduliai, kuriuos reikia įtraukti į savo projektą.
Failai main.py ir config.py yra aplanke src/. Tai yra pagrindiniai failai, kuriuos reikia redaguoti kuriant projektą:
config.py:
Šis failas yra visuotinis jūsų projekto konfigūracijos failas. Jame yra įvairūs nustatymai, visi su aprašomaisiais komentarais faile.
main.py:
Tai yra pagrindinis mikrovaldiklio kodo kilpos scenarijus. Jame yra konkrečios programos kodas. Įkėlus lustą, main.py paleidžia ir importuoja visus nuo projekto priklausančius modulius su nurodytais įėjimais iš failo config.py. Aukščiau pateiktoje schemoje parodytas scenarijus main.py.
Aukščiau pateiktame paveikslėlyje aprašoma main.py darbo eiga:
- Įkėlus kodas bando prijungti lustą prie „Wi-Fi“tinklo. Anksčiau pritaikyti tinklai ir jų slaptažodžiai (užšifruoti mikroschemoje) saugomi „flash“atmintyje. Tinklo SSID ir jų slaptažodžiai gali būti pateikti faile „wifi.json“tokiu formatu: " SSID1 ":" Slaptažodis "," SSID ":" Slaptažodis2 "}. Nurodyti šio failo tinklai yra saugomi, slaptažodžiai užšifruojami ir failas ištrinamas paleidus.
- Jei nerandama žinomų tinklų, kodas nustato prieigos taško (AP) žiniatinklio serverį. Lusto AP serverio SSID ir slaptažodis yra nustatyti faile config.py. Prisijungus prie lusto SSID, tinklalapis, skirtas prisijungti prie mikroschemos prie „Wi-Fi“, pateikiamas adresu 192.168.4.1. Aptikti tinklai rodomi meniu arba SSID galima įvesti rankiniu būdu (paslėpti tinklai) kartu su „Wi-Fi“slaptažodžiu. Sėkmingai prijungus lustą prie „Wi-Fi“, AP serveris išsijungia, o „main.py“kodas pereina prie tolesnių veiksmų.
-
„Main.py“skiltyje „Sąranka“,
- yra apibrėžtos darbo ir atgalinių skambučių funkcijos (ir tt MQTT atgaliniai skambučiai) ir reguliarūs įvykiai.
- Nustatytos skirtingos veikimo funkcijų laiko užduotys.
- Įsteigtas MQTT brokerio klientas
-
Tada kodas patenka į pagrindinę mikrovaldiklio kilpą,
- nuolat tikrinti tinklo ir MQTT tarpininkų ryšius,
- MQTT prenumeratos,
- aparatūros įvestis/išvestis
- ir planinius darbus.
- Praradus tinklo ar MQTT tarpininko ryšį, kodas bando atkurti.
5 veiksmas: projekto kodo paruošimas
Šiame žingsnyje jūs padarysite
- sužinokite apie „MiPy-ESP“saugyklos failų struktūrą
- paruoškite savo projekto kodą mikroschemai įkelti
Aukščiau esančiame paveikslėlyje aprašoma saugyklos aplanko struktūra ir išvardyti dabartiniai sistemos moduliai. Jūsų projektas yra etapai src/ aplanke. Pagrindiniai „MiPy-ESP“rėmo moduliai yra src/core, papildomi naudingumo moduliai src/komunalinės paslaugos ir aparatūros moduliai src/tvarkyklėse.
Dauguma turimų „MicroPython“aparatinės įrangos bibliotekų gali patekti į tvarkykles/ aplanką be jokių pakeitimų. Visi dabartiniai vairuotojai yra išbandyti naudojant „MiPy-ESP“sistemą. Kalbant apie modulius, esančius komunalinėse paslaugose/ aplanke, jų bus pridėta daugiau.
Jūsų projekto kodas turėtų būti patalpintas src/ aplanke. Jau yra failai main.py ir config.py, kuriuos galite redaguoti. Taip pat nukopijuokite norimas projekto priemones iš src/utility ir src/drivers į src/.
Jei norite į lustą įtraukti žinomus „Wi-Fi“tinklus ir slaptažodžius, pridėkite failą wifi.json prie src/.
Pateiktas „Makefile“gali būti taikomas failų paruošimui perkelti į lustą, sukuriant.py failus / src, surenkant pagrindinius modulius ir perkeliant surinktus failus į naują aplanką pavadinimu build / pagal komandą
priversti statyti
Sukurti failai yra paruošti įkelti į lustų failų sistemą. Pagal numatytuosius nustatymus main.py ir config.py nėra sukompiliuoti į dvejetainius, kad būtų lengva juos pasiekti, kad būtų galima patikrinti įdiegtas mikroschemas. Komanda:
padaryti švarų
Ištrina kūrinį/ aplanką ir jo turinį.
6 veiksmas: kodo surinkimas ir įkėlimas į mikrovaldiklį
Šiame skyriuje jūs
- įkelkite paruoštus failus į versiją/ iš paskutinio skyriaus
- paleisti ir stebėti veikimo kodą
„Build“/ failų įkėlimas naudojant „Rshell“
Įkelkite visus failus /build kataloge į ESP lustą naudodami „Rshell“. Kai mikrovaldiklis prijungtas prie USB, iš kūrimo/ aplanko paleiskite „Rshell“naudodami komandą
rshell -p /dev /ttyUSB0
Tada patikrinkite lusto failus (jei yra)
ls /klaviatūra
Visi mikroschemoje esantys failai gali būti ištrinti
rm /pyboard/*.*
Nukopijuokite visus projekto failus į kūrinį/ į lustą:
cp *. * /klaviatūra
Tada paleiskite interaktyvų „Python“terminalą naudodami komandą
repl
Dabar galite iškviesti „Python“komandas arba importuoti modulius ir stebėti mikroschemų serijinę išvestį iš „MiPy-ESP“registravimo modulio.
Iš naujo paleiskite lustą paspausdami iš naujo nustatymo mygtuką arba iš komandinės eilutės
importas pagrindinis
arba
importo mašina
ir tada
machine.reset ()
Priklausomai nuo jūsų registravimo/derinimo nustatymų projekto konfigūracijos faile, pakartotinis ryšys dabar parodys derinimo pranešimus iš ESP lusto per nuoseklųjį ryšį.
Tikimės, kad tai padės jums pradėti.
Rekomenduojamas:
Darbo su „STM32f767zi Cube IDE“pradžia ir pasirinkto eskizo įkėlimas: 3 veiksmai
Darbo su „STM32f767zi Cube IDE“ir įkėlimo jums pasirinktinis eskizas: PIRKTI (spustelėkite testą, kad įsigytumėte/apsilankytumėte tinklalapyje) STM32F767ZISUPPORTED PROGRAMINĖ ĮRANGA · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKOW ARW naudojamas programuoti STM mikrovaldiklius
Darbo su „WeMos ESP8266“pradžia: 6 veiksmai
Darbo su „WeMos ESP8266“pradžia: Šioje instrukcijoje mes paleisime mirksintį „Led“pavyzdį „WeMos ESP8266“
Darbo su FRDM-KL46Z (ir „Mbed Online IDE“) pradžia „Windows 10“: 6 veiksmai
Darbo su „FRDM-KL46Z“(ir „Mbed Online IDE“) pradžia „Windows 10: The Freedom“(FRDM) kūrimo plokštės yra mažos, mažai energijos naudojančios, ekonomiškai efektyvios vertinimo ir kūrimo platformos, puikiai tinkančios greitam programų prototipų kūrimui. Šios vertinimo lentos siūlo lengvai naudojamą masinės atminties įrenginio blykstės programuotoją
Darbo su „Digispark Attiny85“pradžia naudojant „Arduino IDE“: 4 veiksmai
Darbo su „Digispark Attiny85“pradžia „Arduino IDE“naudojimas: „Digispark“yra „Attiny85“pagrindu sukurta mikrovaldiklių kūrimo plokštė, panaši į „Arduino“liniją, tik pigesnė, mažesnė ir šiek tiek mažiau galinga. Su daugybe skydų, skirtų išplėsti jo funkcionalumą ir galimybę naudoti pažįstamą „Arduino ID“
Darbo su ESP32 pradžia - ESP32 plokščių diegimas „Arduino IDE“- ESP32 mirksėjimo kodas: 3 žingsniai
Darbo su ESP32 pradžia | ESP32 plokščių diegimas „Arduino IDE“| ESP32 mirksėjimo kodas: Šioje instrukcijoje pamatysime, kaip pradėti dirbti su esp32 ir kaip įdiegti esp32 plokštes į „Arduino IDE“, ir užprogramuosime esp 32 paleisti mirksėjimo kodą naudojant „arduino ide“