Satura rādītājs:

Darba sākšana ar MicroPython uz ESP8266: 10 soļi (ar attēliem)
Darba sākšana ar MicroPython uz ESP8266: 10 soļi (ar attēliem)

Video: Darba sākšana ar MicroPython uz ESP8266: 10 soļi (ar attēliem)

Video: Darba sākšana ar MicroPython uz ESP8266: 10 soļi (ar attēliem)
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Novembris
Anonim
Darba sākšana ar MicroPython uz ESP8266
Darba sākšana ar MicroPython uz ESP8266

Vai vēlaties citu veidu, kā programmēt uz ESP8266 balstītas plates, nevis parasto metodi, izmantojot Arduino IDE kopā ar C/C ++ programmēšanas valodu?

Šajā apmācībā mēs uzzināsim, kam konfigurēt un vadīt ESP8266 plati, izmantojot MicroPython.

ĒKAS LAIKS: 60 MINŪTES GRŪTĪBA: NOVĒRTĒJUMS: Viegli

1. darbība: kas ir MicroPython?

MicorPython ir viena no daudzajām programmēšanas valodām, ko varam izmantot ESP8266 moduļa programmēšanai. Tā ir vienkārša un ātra Python 3 programmēšanas valodas versija, un tai ir vairākas priekšrocības salīdzinājumā ar tradicionālajām programmēšanas valodām, piemēram, C un C ++.

MicroPython ir veidots tā, lai pēc iespējas būtu saderīgs ar parasto Python. Tam ir pilnīgs Python kompilators un izpildlaiks, un tas nodrošina interaktīvu uzvedni, kas pazīstama kā REPL (Read-Eval-Print Loop).

MicorPython ir paredzēts dažu veidu mikrokontrolleru atbalstam. Bet šajā apmācībā es strādāšu tikai ar vienu modeli: ESP8266 bortu (NodeMCU). Ņemiet vērā, ka ir daži dažādi dēļi, kurus varat iegādāties ar vienu mikroshēmu.

Lasīšana un resursi:

MicroPython

NodeMCU

2. darbība. Prasības

Prasības
Prasības
Prasības
Prasības
Prasības
Prasības
Prasības
Prasības

Lai varētu sekot šai apmācībai, jums vienkārši ir jābūt pamata kodēšanas pieredzei ar Python. Jums nav jābūt iepriekšējām zināšanām par mikrokontrolleriem, elektroniku vai pat MicroPython.

Jums būs nepieciešams arī Windows, Mac vai Linux dators ar brīvu USB portu, jo, lai to ieprogrammētu, datoram pievienosit mikrokontrolleru.

Nepieciešamās detaļas:

1 x NodeMCU (vai cita ESP8266 bāze)

1 x sarkana 5 mm gaismas diode

1 x 220Ω 1/4 W rezistors

1 x 10KΩ rotācijas potenciometrs

1 x maizes dēlis

1 x USB -MicroUSB kabelis

Jumper vadi.

3. solis: Kāpēc uz ESP8266 balstīta tāfele?

Kāpēc uz ESP8266 balstīta tāfele?
Kāpēc uz ESP8266 balstīta tāfele?

Viens veids, kā maksimāli izmantot ESP8266, ir izmantot MicroPython. Arī ESP8266 modulis ir viena no labākajām platformām, kurā var iemācīties lietot MicroPython. Tas ir tāpēc, ka ESP8266 nodrošina vienkāršas GPIO tapas vadības funkcijas, kā arī bezvadu funkcionalitāti, ļaujot pārbaudīt visus MicroPython programmēšanas valodas aspektus.

ESP8266 mikroshēma ir populāra atvērtā pirmkoda izstrādes nozarē. Ir daudz dažādu ražotāju izstrādes dēļu, kas izmanto mikroshēmu ESP8266. MicroPython ir izstrādāts, lai nodrošinātu vispārēju portu, kas var darboties lielākajā daļā šo dēļu ar pēc iespējas mazāk ierobežojumiem. Porta pamatā ir Adafruit Feather HUZZAH tāfele. Izmantojot citas ESP8266 plāksnes, noteikti pārbaudiet to shēmas un datu lapas, lai varētu noteikt atšķirības starp tām un Adafruit Feather HUZZAH plāksni. Tādā veidā jūs varat pielāgot koda atšķirības.

Lasīšana un resursi:

ESP8266

Adafruit Feather HUZZAH

4. darbība. Datora iestatīšana

Datora iestatīšana
Datora iestatīšana
Datora iestatīšana
Datora iestatīšana
Datora iestatīšana
Datora iestatīšana
Datora iestatīšana
Datora iestatīšana

Ir vairākas lietas, kas jums jāiestata, pirms izmantojat MicroPython, lai ieprogrammētu savu ESP8266 plati. Šajā solī mēs veiksim iestatīšanas procesu. Tādā veidā jūs zināt, kā konfigurēt ESP8266 plati lietošanai kopā ar MicroPython.

Sagatavoties

Viss, kas jums nepieciešams no šīs darbības līdz 6. darbībai, ir jūsu ESP8266 un USB kabelis. Savienojiet ESP8266 plati ar datoru.

Kā to izdarīt…

1. SOLIS: instalējiet ierīces draiverus

Ja jums ir Linux dators, jums nav jāinstalē ierīces draiveri, lai mikrokontrollera draiveri tiktu atpazīti. Bet, ja jums ir Mac vai Windows mašīna, ir nepieciešams draiveris, lai dators varētu atpazīt mikrokontrolleru kā sērijas ierīce.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

2. SOLIS: instalējiet Python

Rīki, kurus izmantosit, lai sazinātos ar ESP8266, ir rakstīti programmā Python, tāpēc datorā jāinstalē Python.

Ja jūsu operētājsistēma nenodrošina iepriekš iepakotu Python, varat apmeklēt vietni https://python.org, lai lejupielādētu oficiālu būvējumu jebkurai no atbalstītajām operētājsistēmām.

3. SOLIS: instalējiet esptool un rshell

Instalējiet divas paketes, kas palīdzēs jums pārvaldīt savu dēli, izmantojot pip. Lai to izdarītu, atveriet savu termināli un palaidiet

pip instalēt esptool rshell

4. SOLIS: lejupielādējiet MicroPython

Lejupielādējiet jaunāko MicroPython programmaparatūru.bin no šīs saites:

Laikā, kad es to rakstu, pašreizējā versija ir 1.11, un programmaparatūras faila nosaukums ir esp8266-20190529-v1.11.bin

Kad jūs to izdarīsit, iespējams, atradīsit jaunāku laidienu.

5. darbība: mirgo MicroPython ar Esptool.py

Mirgojošs MicroPython ar Esptool.py
Mirgojošs MicroPython ar Esptool.py
Mirgojošs MicroPython ar Esptool.py
Mirgojošs MicroPython ar Esptool.py

Pirms jaunas programmaparatūras mirgošanas tāfelē ieteicams izdzēst visus iepriekšējos datus. Tas vienmēr ir jādara, lai jaunā programmaparatūra darbotos tīrā stāvoklī.

Dodieties vietā, kur ievietojāt.bin failu. Izmantojiet esptool.py, lai izdzēstu zibspuldzi.

Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Operētājsistēmai Windows:

esptool.py --port COM3 erase_flash

Iespējams, ka komandas sērijas ports ir jāmaina uz seriālo portu, kuram ir pievienota ESP8266 plate. Ja jūs nezināt sava ESP8266 sērijas porta numuru, varat pārbaudīt Arduino IDE. Vienkārši atveriet IDE un pēc tam noklikšķiniet uz Rīki | Ostas. Tur vajadzētu redzēt ESP8266 plates seriālo portu. Nomainiet komandas seriālo portu (/dev/ttyUSB0) ar tāfeles seriālo portu.

Tagad, kad tāfele ir pilnībā izdzēsta, varat mirgot tikko lejupielādēto MicroPython būvi. Tas tiek darīts arī ar komandu esptool.py:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Šī komanda rakstīs MicroPython.bin faila saturu uz tāfeles ar adresi 0.

Noteikti mainiet komandā esošās programmaparatūras.bin faila nosaukumu (esp82688-2019-080529-v1.11.bin) uz lejupielādētās programmaparatūras nosaukumu.

Kad programmaparatūra ir veiksmīgi instalēta jūsu ESP8266 panelī, jūs varat piekļūt REPL savā panelī, izmantojot vadu savienojumu (UART seriālo portu) vai domājamo WiFi.

6. darbība. MicroPython REPL izmantošana ar Rshell

MicroPython REPL izmantošana kopā ar Rshell
MicroPython REPL izmantošana kopā ar Rshell
MicroPython REPL izmantošana kopā ar Rshell
MicroPython REPL izmantošana kopā ar Rshell

Tagad esat gatavs startēt MicroPython uz ESP8266 plates.

Ko es jums parādīšu, kā izveidot savienojumu ar Python uzvedni, kas darbojas jūsu panelī. To sauc par REPL, kas nozīmē "Read-Eval-Print-Loop". Šī ir standarta Python uzvedne, kuru jūs, iespējams, esat redzējuši, strādājot ar parasto Python tulku, taču šoreiz tā darbosies jūsu datorā, un, lai ar to mijiedarbotos, jūs izmantosit sērijas savienojumu ar datoru. Gatavs?

Lai izveidotu savienojumu ar savu dēli un atvērtu REPL sesiju, ievadiet šādu komandu:

rshell -ports

Šī komanda parādīs uzvedni rshell. Skatiet fotoattēlu iepriekš.

Ja sekojat šai apmācībai operētājsistēmā Windows, ņemiet vērā, ka rshell ir bijušas problēmas, darbojoties sistēmā Windows.

Tātad, lai labotu šo veidu:

rshell -a -ports COM3

No šīs uzvednes jūs varat veikt pārvaldības uzdevumus, kas saistīti ar jūsu mikrokontrolleru plati, kā arī sākt Python REPL, ko varat izmantot, lai reāllaikā mijiedarbotos ar paneli. Tātad, vienkārši ievadiet šādu komandu:

repl

Lai pārliecinātos, ka viss darbojas, ierakstiet vienkāršu Python teikumu:

drukāt ("Sveika pasaule")

7. darbība: tapas vadīšana, izmantojot MicroPython

Spraudņu vadīšana, izmantojot MicroPython
Spraudņu vadīšana, izmantojot MicroPython
Spraudņu vadīšana, izmantojot MicroPython
Spraudņu vadīšana, izmantojot MicroPython

Šajā solī mēs iemācīsimies kontrolēt ESP8266 tapas, izmantojot MicroPython. Lai to izdarītu, mēs izdomāsim iestatījumu, kurā mēs mainīsim gaismas diodes stāvokli, kas savienots ar ESP8266 plates GPIO tapu. Tas palīdzēs jums saprast, kā kontrolēt digitālās izejas, izmantojot MicoPython.

Sagatavoties

Lai izpildītu šo soli, jums būs nepieciešamas šādas lietas:

1 x NodeMCU

1 x sarkana 5 mm gaismas diode

1 x 220 Ω rezistors

1 x maizes dēlis

Jumper vadi

Būvēt

Sāciet, uzstādot LED uz maizes dēļa. Pievienojiet 220 Ω rezistora vienu galu gaismas diodes pozitīvajai daļai (gaismas diodes pozitīvā kājiņa parasti ir garāka no abām kājām). Pievienojiet pretestības otru galu ESP8266 plates D1 tapai. Pēc tam pievienojiet gaismas diodes negatīvo kāju ESP8266 plates GND tapai. Savienojums ir parādīts iepriekš redzamajā diagrammā.

Kad iestatīšana ir pabeigta, pievienojiet ESP8266 plati datoram, izmantojot USB kabeli.

Kā to izdarīt…

Ierakstiet šādu kodu savā REPL:

# mirgo LED ik pēc 1 sekundes

def mirgo (pin = 5, laiks = 1) # mirgošanas funkcija pēc noklusējuma pin = 5, time = 1s importēšanas iekārta # mašīnas modulī ir tapu konfigurācijas un režīmi no laika importēšanas miega # importēt miega režīmu uz kādu aizkavēšanos LED = mašīna. (LED_pin, machine. PIN. OUT) # konfigurējiet LED kā OUTPUT, bet True: # palaist mūžīgi LED. vērtība (1) # iestatiet LED uz HIGH miega režīmu (laiks) # pēc noklusējuma gaidiet 1 sekundi. vērtība (0) # iestatiet LED līdz LOW miega režīms (laiks) # pēc noklusējuma jāgaida 1 sekunde

Lai pārbaudītu šo kodu, savā RPEL sesijā ierakstiet blink (). Tas katru sekundi mirgos ar GPIO5 savienoto LED.

Jūs varat mainīt tapu un/vai laiku, zvanot:

mirgo (tapa =, laiks =)

Nospiediet taustiņu kombināciju ctrl+c, lai izietu no darbības koda.

Varat izmantot MicroPython, lai nolasītu ievadi no savienojuma ar ESP8266. Lai uzzinātu, kā to izdarīt, pārejiet pie nākamās darbības.

Pārbaudiet videoklipu, ja esat iestrēdzis.

8. solis: gaismas diodes izbalēšana

LED izbalēšana
LED izbalēšana
LED izbalēšana
LED izbalēšana

Šajā solī mēs iemācīsimies pielāgot gaismas diodes spilgtumu, izmantojot rotējošu potenciometru. Mēs izmantosim paņēmienu, ko sauc par impulsa platuma modulāciju (PWM), un tas ļauj aptumšot gaismas diodi līdz 256 iestatījumiem.

Piezīme: Visas ESP8266 tapas var izmantot kā PWM tapu, izņemot GPIO16 (D0).

Sagatavoties:

Lai izpildītu šo soli, jums būs nepieciešamas šādas lietas:

1 x NodeMCU

1 x sarkana 5 mm gaismas diode

1 x 50 KΩ rotācijas potenciometrs.

1 x maizes dēlis

Jumper vadi

Būvēt

Savienojums ir tāds, kā parādīts iepriekš redzamajā diagrammā: Kad iestatīšana ir pabeigta, pievienojiet ESP8266 plati datoram, izmantojot USB kabeli.

Kā to izdarīt…

REPL ierakstiet šādu kodu:

# LED izbalēšana ik pēc 0,5, nolasot datus no potenciometra

importēt mašīnu no laika importēšanas miega led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # izveidot LED objektu LED_pwm = machine. PWM (LED, freq = 500) # izveidot LED_pwm objektam un iestatiet frekvenci uz 500 Hz, kamēr True: LED_pwm.duty (POT.read ()) # iegūstiet vērtību no katla un iestatiet to miega cikla miega režīmā (0.5) # gaidiet 0.5

Tas mainīs ar GPIO 5 pievienotās gaismas diodes spilgtumu, mainot potenciometra vērtību.

Nospiediet ctrl+c, lai izietu no darbības koda.

Pārbaudiet videoklipu, ja esat iestrēdzis.

9. solis. Kurp doties no šejienes?

Līdz šim mēs esam redzējuši, kā konfigurēt un palaist MicroPython uz ESP8266 balstītas plates. mēs iemācījāmies kontrolēt tapas, lai mirgotu gaismas diode, tad pievienojām potenciometru, lai kontrolētu gaismas diodes spilgtumu, izmantojot impulsa platuma modulācijas tehniku.

Tagad mēs varam nolasīt datus no sensora un nosūtīt tos uz mākoni, mēs varam arī izveidot HTTP serveri, kurā varat izdrukāt mūsu datus vienkāršā tīmekļa vietnē utt.

Tas dod mums daudz priekšstatu par lietu internetu (IoT).

10. solis: Secinājums

Tur jums tas ir! Dodieties tālāk un iekarojiet MicroPython pasauli.

protams, ja jums ir kādi jautājumi, varat atstāt komentāru.

Lai uzzinātu vairāk par maniem darbiem, lūdzu, apmeklējiet manu YouTube kanālu:

myYouTube

myGitHub

myLinkedin

Paldies, ka izlasījāt šo pamācību ^^ un jauku dienu.

Uz redzi.

Ahmeds Nuira.

Ieteicams: