Sadržaj:

Prvi koraci s MicroPythonom na ESP8266: 10 koraka (sa slikama)
Prvi koraci s MicroPythonom na ESP8266: 10 koraka (sa slikama)

Video: Prvi koraci s MicroPythonom na ESP8266: 10 koraka (sa slikama)

Video: Prvi koraci s MicroPythonom na ESP8266: 10 koraka (sa slikama)
Video: SKR 1.4 - TMC2209 v1.2 2024, Novembar
Anonim
Prvi koraci s MicroPythonom na ESP8266
Prvi koraci s MicroPythonom na ESP8266

Želite li drugačiji način programiranja ploča zasnovanih na ESP8266, a ne uobičajenu metodu koja koristi Arduino IDE zajedno sa programskim jezikom C/C ++?

U ovom ćemo vodiču naučiti tko konfigurira i kontrolira ESP8266 ploču pomoću MicroPythona.

VRIJEME IZGRADNJE: 60 MINUTA TEŠKOĆA: OCJENA: Lako

Korak 1: Šta je MicroPython?

MicorPython je jedan od mnogih programskih jezika koje možemo koristiti za programiranje modula ESP8266. To je mršava i brza verzija programskog jezika Python 3 i ima nekoliko prednosti u odnosu na tradicionalne programske jezike poput C i C ++.

MicroPython je dizajniran da bude kompatibilan sa normalnim Pythonom koliko god je to moguće. Ima kompletan Python kompajler i vrijeme izvođenja i pruža interaktivni upit poznat kao REPL (Read-Eval-Print Loop).

MicorPython je dizajniran da podržava nekoliko različitih tipova mikrokontrolera. Ali za ovaj vodič ću raditi samo sa jednim modelom: pločom zasnovanom na ESP8266 (NodeMCU). Imajte na umu da postoji nekoliko različitih ploča koje možete kupiti s istim čipom.

Čitanje i izvori:

MicroPython

NodeMCU

Korak 2: Zahtjevi

Zahtevi
Zahtevi
Zahtevi
Zahtevi
Zahtevi
Zahtevi
Zahtevi
Zahtevi

Da biste mogli slijediti ovaj vodič, samo morate imati osnovno iskustvo u kodiranju s Pythonom. Ne morate imati predznanje o mikrokontrolerima, elektronici ili čak MicroPythonu.

Takođe će vam trebati Windows, Mac ili Linux računar sa slobodnim USB portom, jer ćete povezati mikrokontroler sa računarom da biste ga programirali.

Potrebni delovi:

1 x NodeMCU (ili druga ploča zasnovana na ESP8266)

1 x crvena LED dioda 5 mm

1 x 220Ω 1/4W otpornik

1 x 10KΩ rotacijski potenciometar

1 x Oglasna ploča

1 x USB na MicroUSB kabel

Džemper žice.

Korak 3: Zašto ploča zasnovana na ESP8266?

Zašto ploča zasnovana na ESP8266?
Zašto ploča zasnovana na ESP8266?

Jedan od načina na koji možete najbolje iskoristiti svoj ESP8266 je pomoću MicroPythona. Također, modul ESP8266 jedna je od najboljih platformi na kojima možete naučiti koristiti MicroPython. To je zato što ESP8266 pruža jednostavne funkcije upravljanja GPIO pinovima, kao i bežične funkcije, omogućavajući vam testiranje svih aspekata programskog jezika MicroPython.

Čip ESP8266 popularan je u industriji razvoja otvorenog koda. Postoji mnogo razvojnih ploča različitih proizvođača koje koriste čip ESP8266. MicroPython je dizajniran tako da pruža generički port koji može raditi na većini tih ploča, sa što je moguće manje ograničenja. Priključak se temelji na ploči Adafruit Feather HUZZAH Kada koristite druge ploče ESP8266, provjerite njihove sheme i tablice s podacima kako biste mogli uočiti razlike između njih i ploče Adafruit Feather HUZZAH. Na taj način možete prilagoditi razlike u svom kodu.

Čitanje i izvori:

ESP8266

Adafruit pero HUZZAH

Korak 4: Postavljanje računara

Podešavanje računara
Podešavanje računara
Podešavanje računara
Podešavanje računara
Podešavanje računara
Podešavanje računara
Podešavanje računara
Podešavanje računara

Postoji nekoliko stvari koje morate postaviti prije korištenja MicroPythona za programiranje ploče ESP8266. U ovom koraku ćemo proći kroz postupak postavljanja. Na ovaj način ćete znati kako konfigurirati ploču ESP8266 za upotrebu s MicroPythonom.

Spremati se

Sve što trebate od ovog koraka do koraka 6 je vaš ESP8266 i USB kabel. Priključite ploču ESP8266 na računar.

Kako uraditi…

KORAK 1: Instalirajte upravljačke programe uređaja

Ako imate Linux računar, ne morate instalirati upravljačke programe za upravljačke programe za prepoznavanje mikrokontrolera. Ali ako imate Mac ili Windows mašinu, potreban je upravljački program koji će omogućiti računaru da prepozna mikrokontroler kao serijski uređaj.

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

KORAK 2: Instalirajte Python

Alati koje ćete koristiti za komunikaciju s ESP8266 napisani su na Pythonu, pa morate instalirati Python na računaru.

Ako vaš operativni sistem ne nudi unaprijed upakovani Python, možete otići na https://python.org da preuzmete službenu verziju za bilo koji od podržanih operativnih sistema.

KORAK 3: Instalirajte esptool i rshell

Instalirajte dva paketa koji će vam pomoći u upravljanju vašom pločom pomoću pipa. Da biste to učinili, otvorite svoj terminal i pokrenite ga

pip install esptool rshell

KORAK 4: Preuzmite MicroPython

Preuzmite najnoviji MicroPython firmware.bin sa sljedeće veze:

U vrijeme dok ovo pišem, trenutna verzija je 1.11, a datoteka firmvera se zove esp8266-20190529-v1.11.bin

Dok to učinite, možda ćete pronaći novije izdanje.

Korak 5: Bljeskanje MicroPythona s Esptool.py

Bljeskajući MicroPython s Esptool.py
Bljeskajući MicroPython s Esptool.py
Bljeskajući MicroPython s Esptool.py
Bljeskajući MicroPython s Esptool.py

Prije stavljanja novog firmvera na ploču, dobro je izbrisati sve prethodne podatke. To je nešto što uvijek trebate učiniti kako bi novi firmver radio iz čistog stanja.

Idite tamo gdje ste smjestili.bin datoteku. Za brisanje blica koristite esptool.py.

Za Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Za Windows:

esptool.py --port COM3 erase_flash

Možda ćete morati promijeniti serijski port u naredbi na serijski port na koji je spojena vaša ESP8266 ploča. Ako ne znate serijski broj porta vašeg ESP8266, možete provjeriti u Arduino IDE -u. Samo otvorite IDE, a zatim kliknite Alati | Portovi. Tu biste trebali vidjeti serijski port vaše ESP8266 ploče. Zamijenite serijski port u naredbi (/dev/ttyUSB0) sa serijskim portom vaše ploče.

Sada kada je ploča potpuno izbrisana, možete fleširati MicroPython build koji ste upravo preuzeli. To se radi i pomoću naredbe esptool.py:

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

Ova naredba će zapisati sadržaj datoteke.bin MicroPython.bin na ploču na adresi 0.

Obavezno promijenite naziv.bin datoteke firmvera u naredbi (esp82688-2019-080529-v1.11.bin) u naziv firmvera koji ste preuzeli.

Nakon što je firmver uspješno instaliran na vašu ploču ESP8266, možete pristupiti REPL -u na ploči putem ožičene veze (UART serijski port) ili WiFi mreže.

Korak 6: Korištenje MicroPython REPL -a s Rshell -om

Korištenje MicroPython REPL -a s Rshell -om
Korištenje MicroPython REPL -a s Rshell -om
Korištenje MicroPython REPL -a s Rshell -om
Korištenje MicroPython REPL -a s Rshell -om

Sada ste spremni za pokretanje MicroPythona na vašoj ESP8266 ploči.

Ono što ću vam pokazati kako se spojiti na Python prompt koji se nalazi na vašoj ploči. Ovo se zove REPL, što znači "Read-Eval-Print-Loop". Ovo je standardni Python upit koji ste vjerojatno navikli vidjeti pri radu sa uobičajenim Python tumačem, ali ovaj put će biti pokrenut na vašoj ploči, a za interakciju s njim ćete koristiti serijsku vezu s računarom. Spreman?

Da biste se povezali na svoju ploču i otvorili REPL sesiju, unesite sljedeću naredbu:

rshell --port

Ova naredba će vas odvesti u rshell prompt. Pogledajte gornju fotografiju.

Ako slijedite ovaj vodič u sustavu Windows, imajte na umu da rshell ima povijest problema pri pokretanju u sustavu Windows.

Dakle, da biste popravili tu vrstu:

rshell -a --port COM3

Iz ovog upita možete izvršavati upravljačke zadatke koji se odnose na vašu ploču mikrokontrolera, a također možete pokrenuti Python REPL koji možete koristiti za interakciju s pločom u stvarnom vremenu. Zato samo unesite sljedeću naredbu:

repl

Da biste bili sigurni da sve radi, upišite jednostavnu Python rečenicu:

print ("Hello World")

Korak 7: Upravljanje pinovima pomoću MicroPythona

Kontrola pinova pomoću MicroPythona
Kontrola pinova pomoću MicroPythona
Kontrola pinova pomoću MicroPythona
Kontrola pinova pomoću MicroPythona

U ovom koraku naučit ćemo kako kontrolirati pinove ESP8266 pomoću MicroPythona. Da bismo to učinili, doći ćemo do postavke u kojoj ćemo mijenjati stanje LED diode spojene na GPIO pin ESP8266 ploče. To će vam pomoći da razumijete kako kontrolirati digitalne izlaze pomoću MicoPythona.

Spremati se

Za postizanje ovog koraka trebat će vam sljedeće stvari:

1 x NodeMCU

1 x crvena LED dioda 5 mm

1 x 220 Ω otpornik

1 x Oglasna ploča

Džemper žice

The Build

Počnite postavljanjem LED diode na matičnu ploču. Spojite jedan kraj otpornika od 220 Ω na pozitivni krak LED -a (pozitivni krak LED -a obično je viši od dva kraka). Spojite drugi kraj otpornika na pin D1 ploče ESP8266. Zatim spojite negativni krak LED -a na GND pin ESP8266 ploče. Veza je kao što je prikazano na gornjem dijagramu.

Nakon dovršetka postavljanja, povežite ploču ESP8266 s računarom putem USB kabela.

Kako uraditi…

Unesite sljedeći kôd u svoj REPL:

# treperi LED svake 1 sekunde

def treptanje (pin = 5, time = 1) # funkcija treptanja prema zadanim postavkama pin = 5, time = 1s import machine # strojni modul drži konfiguracije i načine pinova iz vremena import sleep spavanja # import sleep za neko kašnjenje LED = stroj. Pin (led_pin, machine. PIN. OUT) # konfigurirajte LED kao OUTPUT dok je True: # radi zauvijek LED.value (1) # postavite LED na HIGH sleep (vrijeme) # čekajte 1 sekundu prema zadanim postavkama LED.value (0) # postavite LED do LOW sleep (time) # prema zadanim postavkama čekajte 1 sekundu

Upišite blink () u RPEL sesiji da biste testirali ovaj kôd. Ovo će treptati LED spojen na GPIO5 svake 1 sekunde.

PIN i/ili vrijeme možete promijeniti pozivom:

treptaj (pin =, vrijeme =)

Pritisnite ctrl+c za izlaz iz aktivnog koda.

Možete koristiti MicroPython za čitanje ulaza sa spojenog na ESP8266. Pređite na sljedeći korak da biste saznali kako to učiniti.

Provjerite video ako ste zaglavili.

Korak 8: Zatamnjenje LED diode

Blijeđenje LED diode
Blijeđenje LED diode
Blijeđenje LED diode
Blijeđenje LED diode

U ovom koraku naučit ćemo kako podesiti svjetlinu LED diode pomoću rotacijskog potenciometra. Koristit ćemo tehniku koja se naziva Pulse Width Modulation (PWM), koja nam omogućuje zatamnjenje LED -a s do 256 postavki.

Napomena: Svi pinovi ESP8266 mogu se koristiti kao PWM pin osim GPIO16 (D0).

Spremati se:

Za postizanje ovog koraka trebat će vam sljedeće stvari:

1 x NodeMCU

1 x crvena LED dioda 5 mm

1 x 50 KΩ rotacijski potenciometar.

1 x Oglasna ploča

Džemper žice

The Build

Veza je kao što je prikazano na gornjoj shemi: Nakon što je podešavanje dovršeno, povežite ESP8266 ploču s računarom putem USB kabela.

Kako uraditi…

Unesite sljedeći kôd u svoj REPL:

# LED blijedi svakih 0,5 očitavanjem podataka s potenciometra

uvezi mašinu iz vremena import sleep led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # kreiraj LED objekt LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm objekta i postaviti frekvenciju na 500Hz dok je True: LED_pwm.duty (POT.read ()) # dobijte vrijednost iz Pot -a i postavite je u stanje mirovanja radnog ciklusa (0,5) # čekajte 0,5

Ovo će promijeniti svjetlinu LED diode spojene na GPIO 5 promjenom vrijednosti potenciometra.

Pritisnite ctrl+c za izlaz iz aktivnog koda.

Provjerite video ako ste zaglavili.

Korak 9: Odakle odavde?

Do sada smo vidjeli kako konfigurirati i pokrenuti MicroPython na pločama baziranim na ESP8266. naučili smo kako kontrolirati pinove da trepere LED, zatim smo dodali potenciometar kako bismo kontrolirali svjetlinu LED -a tehnikom modulacije širine impulsa.

Sada možemo čitati podatke sa senzora i slati ih u oblak, možemo stvoriti i HTTP server na kojem možete ispisati naše podatke na jednostavnoj web stranici itd …

To nam daje mnogo predstava o Internetu stvari (IoT).

Korak 10: Zaključak

Evo ga! Idite naprijed i osvojite svijet MicroPythona.

ako imate bilo kakvih pitanja, naravno, možete ostaviti komentar.

Za više informacija o mojim radovima posjetite moj YouTube kanal:

myYouTube

myGitHub

myLinkedin

Hvala vam što ste pročitali ovo uputstvo ^^ i ugodan dan.

Vidimo se.

Ahmed Nouira.

Preporučuje se: