INHOUDSOPGAWE:

Aan die gang met MicroPython op die ESP8266: 10 stappe (met foto's)
Aan die gang met MicroPython op die ESP8266: 10 stappe (met foto's)

Video: Aan die gang met MicroPython op die ESP8266: 10 stappe (met foto's)

Video: Aan die gang met MicroPython op die ESP8266: 10 stappe (met foto's)
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, November
Anonim
Aan die gang met MicroPython op die ESP8266
Aan die gang met MicroPython op die ESP8266

Wil u 'n ander manier hê om die op ESP8266 gebaseerde borde te programmeer eerder as die algemene metode met behulp van Arduino IDE saam met C/C ++ programmeertaal?

In hierdie handleiding leer ons wie u 'n ESP8266 -bord moet instel en beheer met behulp van MicroPython.

BOERTYD: 60 MINUTE MOEILIKHEID: RADERING: Maklik

Stap 1: Wat is MicroPython?

MicorPython is een van die vele programmeertale wat ons kan gebruik om die ESP8266 -module te programmeer. Dit is 'n skraal en vinnige weergawe van die Python 3 -programmeertaal en het verskeie voordele bo tradisionele programmeertale soos C en C ++.

MicroPython is ontwerp om soveel as moontlik met normale Python versoenbaar te wees. Dit het 'n volledige Python-samesteller en runtime, en bied 'n interaktiewe prompt bekend as REPL (Read-Eval-Print Loop).

MicorPython is ontwerp om min verskillende soorte mikrobeheerders te ondersteun. Maar vir hierdie tutoriaal gaan ek met net een model werk: die ESP8266-bord (NodeMCU). Let daarop dat daar 'n paar verskillende borde is wat u met dieselfde chip kan koop.

Lees en hulpbronne:

MicroPython

NodeMCU

Stap 2: Vereistes

Vereistes
Vereistes
Vereistes
Vereistes
Vereistes
Vereistes
Vereistes
Vereistes

Om hierdie tutoriaal te kan volg, het u slegs basiese kodering -ervaring met Python nodig, u hoef nie vooraf kennis te dra van mikrobeheerders, elektronika of selfs MicroPython nie.

U benodig ook 'n Windows-, Mac- of Linux -rekenaar met 'n gratis USB -poort, aangesien u 'n mikrobeheerder aan u rekenaar sal koppel om dit te programmeer.

Onderdele benodig:

1 x NodeMCU (of ander ESP8266-bord)

1 x rooi 5 mm LED

1 x 220Ω 1/4W Weerstand

1 x 10KΩ roterende potensiometer

1 x broodbord

1 x USB na MicroUSB kabel

Jumper Wires.

Stap 3: Waarom ESP8266-gebaseerde bord?

Waarom ESP8266-gebaseerde bord?
Waarom ESP8266-gebaseerde bord?

Een manier waarop u die meeste uit u ESP8266 kan put, is deur MicroPython te gebruik. Die ESP8266 -module is ook een van die beste platforms om te leer hoe om MicroPython te gebruik. Dit is omdat die ESP8266 eenvoudige GPIO -penbeheerfunksies sowel as draadlose funksies bied, sodat u alle aspekte van die MicroPython -programmeertaal kan toets.

Die ESP8266 -chip is gewild in die open source -ontwikkelingsbedryf. Daar is baie ontwikkelingsborde van verskillende vervaardigers wat die ESP8266 -chip gebruik. MicroPython is ontwerp om 'n generiese poort te bied wat op die meeste van die borde kan werk, met so min as moontlik beperkings. Die poort is gebaseer op die Adafruit Feather HUZZAH -bord As u ander ESP8266 -borde gebruik, moet u die skemas en gegewensblaaie nagaan, sodat u die verskille tussen hulle en die Adafruit Feather HUZZAH -bord kan identifiseer. Op hierdie manier kan u die verskille in u kode akkommodeer.

Lees en hulpbronne:

ESP8266

Adafruit veer HUZZAH

Stap 4: Stel u rekenaar op

Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar
Die opstel van u rekenaar

Daar is 'n paar dinge wat u moet opstel voordat u MicroPython gebruik om u ESP8266 -bord te programmeer. Ons sal in hierdie stap deur die opstelproses gaan. Op hierdie manier sal u weet hoe u die ESP8266 -bord kan instel om saam met MicroPython gebruik te word.

Maak gereed

Al wat u nodig het van hierdie stap tot stap 6 is u ESP8266 en 'n USB -kabel. Koppel jou ESP8266 -bord aan jou rekenaar.

Hoe om dit te doen…

STAP 1: Installeer toesteldrywers

As u 'n Linux -rekenaar het, hoef u geen toesteldrywers te installeer sodat die bestuurders herken kan word nie, maar u het 'n Mac of 'n Windows -masjien, maar 'n bestuurder is nodig om die rekenaar te laat herken. as 'n seriële toestel.

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

STAP2: Installeer Python

Die gereedskap wat u gaan gebruik om met die ESP8266 te kommunikeer, is in Python geskryf, dus moet u Python op u rekenaar installeer.

As u bedryfstelsel nie 'n voorafverpakte Python bied nie, kan u na https://python.org gaan om 'n amptelike weergawe vir enige van die ondersteunde bedryfstelsels af te laai.

STAP3: Installeer esptool en rshell

Installeer twee pakkette wat u help om u bord te bestuur met behulp van pip. Om dit te doen, maak u terminale oop en hardloop

pip installeer esptool rshell

STAP4: Laai MicroPython af

Laai die nuutste MicroPython -firmware.bin af vanaf die volgende skakel:

Op die oomblik dat ek dit skryf, is die huidige weergawe 1.11, en die firmwarelêer word esp8266-20190529-v1.11.bin genoem

Teen die tyd dat u dit doen, vind u moontlik 'n nuwer weergawe.

Stap 5: Flitsende MicroPython Met Esptool.py

Flitsende MicroPython Met Esptool.py
Flitsende MicroPython Met Esptool.py
Flitsende MicroPython Met Esptool.py
Flitsende MicroPython Met Esptool.py

Voordat u 'n nuwe firmware op die bord inskakel, is dit 'n goeie idee om enige vorige data uit te vee. Dit is iets wat u altyd moet doen sodat die nuwe firmware skoon kan word.

Gaan na die plek waar u die.bin -lêer geplaas het. Gebruik esptool.py om die flits uit te vee.

Vir Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Vir Windows:

esptool.py --port COM3 erase_flash

Miskien moet u die seriële poort in u opdrag verander na die seriële poort waarmee u ESP8266 -kaart gekoppel is. As u nie die reekspoortnommer van u ESP8266 ken nie, kan u die Arduino IDE aanmeld. Maak net die IDE oop en klik dan op Tools | Hawens. Die seriële poort van u ESP8266 -bord moet daar verskyn. Vervang die seriële poort in die opdrag (/dev/ttyUSB0) met die seriële poort van u bord.

Noudat die bord heeltemal uitgevee is, kan u die MicroPython -build wat u pas afgelaai het, flits, dit word ook gedoen met die esptool.py -opdrag:

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

Hierdie opdrag gaan die inhoud van die MicroPython.bin -lêer aan die bord skryf by adres 0.

Maak seker dat u die naam van die firmware-bin-lêer in die opdrag (esp82688-2019-080529-v1.11.bin) verander na die naam van die firmware wat u afgelaai het.

Sodra die firmware suksesvol op u ESP8266 -bord geïnstalleer is, het u toegang tot REPL op u bord via 'n bedrade verbinding (UART -seriële poort) of gedink WiFi.

Stap 6: Gebruik die MicroPython REPL met Rshell

Gebruik die MicroPython REPL met Rshell
Gebruik die MicroPython REPL met Rshell
Gebruik die MicroPython REPL met Rshell
Gebruik die MicroPython REPL met Rshell

U is nou gereed om MicroPython op u ESP8266 -bord te begin.

Wat ek jou gaan wys hoe om aan te sluit by die Python-prompt wat op jou bord loop. Dit word die REPL genoem, wat staan vir "Read-Eval-Print-Loop". Dit is die standaard Python -prompt wat u waarskynlik gebruik om te sien wanneer u met die gewone Python -tolk werk, maar hierdie keer sal dit op u bord werk, en om daarmee te werk, gebruik u die seriële verbinding met u rekenaar. Gereed?

Om die verbinding met u bord te maak en 'n REPL -sessie oop te maak, voer die volgende opdrag in:

rshell --port

Hierdie opdrag bring u in die rshell -prompt. Sien foto hierbo.

As u hierdie tutoriaal op Windows volg, moet u daarop let dat rshell 'n geskiedenis van probleme het wanneer dit op Windows uitgevoer word.

Om die tipe op te los:

rshell -a --port COM3

Vanaf hierdie opdrag kan u bestuurstake met betrekking tot u mikrobeheerbord uitvoer, en ook 'n Python REPL begin wat u kan gebruik om intyds met die bord te kommunikeer.

vervang

Tik 'n eenvoudige Python -sin om seker te maak dat alles werk:

druk ("Hallo wêreld")

Stap 7: Beheer penne met behulp van MicroPython

Beheer penne met behulp van MicroPython
Beheer penne met behulp van MicroPython
Beheer penne met behulp van MicroPython
Beheer penne met behulp van MicroPython

In hierdie stap leer ons hoe u die ESP8266 -penne met MicroPython kan beheer. Om dit te kan doen, sal ons 'n opstelling opstel waarin ons die toestand van die LED sal skakel wat gekoppel is aan 'n ESP8266 -kaart GPIO -pen. Dit sal u help om te verstaan hoe u digitale uitsette met MicoPython kan beheer.

Maak gereed

U sal die volgende dinge nodig hê om hierdie STAP uit te voer:

1 x NodeMCU

1 x rooi 5 mm LED

1 x 220 Ω Weerstand

1 x broodbord

Jumper Wires

Die bou

Begin deur die LED op die broodbord te monteer. Koppel die een kant van die 220 Ω weerstand aan die positiewe been van die LED (die positiewe been van 'n LED is gewoonlik die langer een van die twee bene). Koppel die ander kant van die weerstand aan pen D1 van die ESP8266 -bord. Koppel dan die negatiewe been van die LED aan die GND -pen van die ESP8266 -bord. Die verbinding is soos in die bostaande diagram getoon.

Sodra die opstelling voltooi is, verbind die ESP8266 -kaart met u rekenaar via 'n USB -kabel.

Hoe om dit te doen…

Tik die volgende kode in u REPL:

# knipper LED elke 1 sekonde

def blink (pen = 5, tyd = 1) # knipfunksie by verstek pin = 5, time = 1s invoer masjien # die masjienmodule bevat die penkonfigurasies en modusse van tyd af slaap # invoer slaap vir 'n paar vertraging LED = masjien. (led_pin, machine. PIN. OUT) # konfigureer LED as UITGANG terwyl True: # hardloop vir ewig LED.waarde (1) # stel LED op HOOG slaap (tyd) # wag 1 sekonde standaard LED.waarde (0) # stel LED om LOW slaap (tyd) # wag standaard 1 sekonde

Tik blink () in u RPEL -sessie om hierdie kode te toets. Dit sal die LED wat elke 1 sekonde aan die GPIO5 gekoppel is, knip.

U kan die speld en/of die tyd verander deur te bel:

knip (speld =, tyd =)

Druk ctrl+c om die lopende kode te verlaat.

U kan MicroPython gebruik om 'n inset te lees van die verbinding met die ESP8266. Gaan na die volgende stap om te leer hoe u dit moet doen.

Kyk na die video as u vas is.

Stap 8: Vervaag die LED

Vervaag die LED
Vervaag die LED
Vervaag die LED
Vervaag die LED

In hierdie stap leer ons hoe u die helderheid van die LED kan aanpas met 'n roterende potensiometer. Ons gebruik 'n tegniek genaamd Pulse Width Modulation (PWM), waarmee ons die LED kan dim met tot 256 instellings.

Let op: al die penne van ESP8266 kan as 'n PWM -pen behalwe GPIO16 (D0) gebruik word.

Maak gereed:

U het die volgende dinge nodig om hierdie STAP uit te voer:

1 x NodeMCU

1 x rooi 5 mm LED

1 x 50 KΩ roterende potensiometer.

1 x broodbord

Jumper Wires

Die bou

Die verbinding is soos in die diagram hierbo getoon: Koppel die ESP8266 -kaart aan die rekenaar via 'n USB -kabel sodra die opstelling voltooi is.

Hoe om dit te doen…

Tik die volgende kode in u REPL:

# Elke LED vervaag deur die data van die potensiometer te lees

invoer masjien van tyd af slaap slaap_pin = 5 # led pen POT = masjien. ADC (0) # ADC0 pen LED = masjien. Pin (led_pin) # skep LED -voorwerp LED_pwm = masjien. PWM (LED, frekwensie = 500) # skep LED_pwm maak 'n voorwerp en stel frekwensie op 500Hz terwyl True: LED_pwm.duty (POT.read ()) # haal die waarde uit die pot en stel dit in op die slaapsiklus slaap (0.5) # wag 0.5

Dit sal die helderheid van die LED wat aan GPIO 5 gekoppel is, verander deur die waarde van die potensiometer te verander.

Druk ctrl+c om die lopende kode te verlaat.

Kyk na die video as u vas is.

Stap 9: Waarvandaan?

Tot dusver het ons gesien hoe om MicroPython op ESP8266-gebaseerde borde op te stel en uit te voer. ons het geleer hoe om penne te beheer om 'n LED te knip, en ons het 'n potensiometer bygevoeg om die helderheid van die LED te beheer met behulp van die tegniek van die pulswydte -modulasie.

Nou kan ons data van die sensor lees en dit na die wolk stuur, ons kan ook 'n HTTP -bediener skep waar u ons data op 'n eenvoudige webblad kan druk, ens …

Dit gee ons baie idee van Internet of Things (IoT).

Stap 10: Gevolgtrekking

Daar het jy dit! Gaan voort en verower die wêreld van MicroPython.

As u enige vrae het, kan u natuurlik 'n opmerking lewer.

Besoek my YouTube -kanaal vir meer inligting oor my werke:

myYouTube

myGitHub

myLinkedin

Dankie dat u hierdie instruksies gelees het ^^ en 'n aangename dag.

Sien jou.

Ahmed Nouira.

Aanbeveel: