Sadržaj:

Početak rada s MicroPythonom na ESP8266: 10 koraka (sa slikama)
Početak rada s MicroPythonom na ESP8266: 10 koraka (sa slikama)

Video: Početak rada s MicroPythonom na ESP8266: 10 koraka (sa slikama)

Video: Početak rada s MicroPythonom na ESP8266: 10 koraka (sa slikama)
Video: Lesson 10: Conditional Statement in Arduino and Using Array | SunFounder Robojax 2024, Studeni
Anonim
Početak rada s MicroPythonom na ESP8266
Početak rada s MicroPythonom na ESP8266

Želite li drugačiji način programiranja ploča zasnovanih na ESP8266 umjesto uobičajene metode pomoću Arduino IDE-a zajedno s programskim jezikom C/C ++?

U ovom ćemo vodiču naučiti tko treba konfigurirati i kontrolirati ESP8266 ploču pomoću MicroPythona.

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

Korak 1: Što je MicroPython?

MicorPython jedan je 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 što je moguće kompatibilniji s normalnim Pythonom. Ima kompletan Python prevoditelj i vrijeme izvođenja te pruža interaktivni upit poznat kao REPL (Read-Eval-Print Loop).

MicorPython je dizajniran za podršku nekoliko različitih vrsta 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

Zahtjevi
Zahtjevi
Zahtjevi
Zahtjevi
Zahtjevi
Zahtjevi
Zahtjevi
Zahtjevi

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.

Trebat će vam i računalo sa sustavom Windows, Mac ili Linux sa slobodnim USB priključkom jer ćete na računalo spojiti mikrokontroler kako biste ga programirali.

Potrebni dijelovi:

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

Žice za kratkospojnike.

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 pin -om, kao i bežičnu funkciju, što vam omogućuje 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 koji koriste čip ESP8266. MicroPython je osmišljen kako bi pružio 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 podatkovne tablice kako biste mogli uočiti razlike između njih i ploče Adafruit Feather HUZZAH. Na taj način možete ukloniti razlike u svom kodu.

Čitanje i izvori:

ESP8266

Adafruit pero HUZZAH

Korak 4: Postavljanje računala

Postavljanje računala
Postavljanje računala
Postavljanje računala
Postavljanje računala
Postavljanje računala
Postavljanje računala
Postavljanje računala
Postavljanje računala

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

Spremiti se

Sve što trebate od ovog koraka do koraka 6 je vaš ESP8266 i USB kabel. Spojite svoju ploču ESP8266 s računalom.

Kako to učiniti…

KORAK 1: Instalirajte upravljačke programe uređaja

Ako imate Linux računalo, ne morate instalirati upravljačke programe za prepoznavanje upravljačkih programa za mikrokontroler. Ali ako imate Mac ili Windows stroj, potreban je upravljački program koji će omogućiti računalu 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 svoje računalo.

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

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 zove se esp8266-20190529-v1.11.bin

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

Korak 5: Bljeskanje MicroPythona s Esptool.py

Bljeskanje MicroPythona s Esptool.py
Bljeskanje MicroPythona s Esptool.py
Bljeskanje MicroPythona s Esptool.py
Bljeskanje MicroPythona 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 bljeskalice upotrijebite 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 | Luke. 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 bljeskati MicroPython build koji ste upravo preuzeli. To se također radi pomoću naredbe esptool.py:

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

Ova će naredba 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 upit koji se izvodi na vašoj ploči. To se zove REPL, što znači "Read-Eval-Print-Loop". Ovo je standardni Pythonov upit koji ste vjerojatno navikli vidjeti pri radu s običnim tumačem Pythona, ali ovaj put će se izvoditi na vašoj ploči, a za interakciju s njim upotrijebit ćete serijsku vezu s računalom. 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 upit. 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 povezane s vašom pločom mikrokontrolera, a također pokrenuti Python REPL koji možete koristiti za interakciju s pločom u stvarnom vremenu. Dakle, 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

Upravljanje pinovima pomoću MicroPythona
Upravljanje pinovima pomoću MicroPythona
Upravljanje pinovima pomoću MicroPythona
Upravljanje pinovima 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 razumjeti kako kontrolirati digitalne izlaze pomoću MicoPythona.

Spremiti 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

Žice za kratkospojnike

Izgradnja

Počnite postavljanjem LED diode na 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, spojite ploču ESP8266 s računalom putem USB kabela.

Kako to učiniti…

U svoj REPL upišite sljedeći kôd:

# 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 time import sleep sleep # import sleep za neko kašnjenje LED = stroj. (led_pin, machine. PIN. OUT) # konfigurirajte LED kao OUTPUT dok je True: # radi zauvijek LED.vrijednost (1) # postavite LED na HIGH sleep (vrijeme) # pričekajte 1 sekundu prema zadanim postavkama LED.value (0) # set LED do LOW sleep (time) # prema zadanim postavkama pričekajte 1 sekundu

Upišite blink () u svoju RPEL sesiju 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 spojenih na ESP8266. Prijeđite na sljedeći korak kako 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 pod nazivom Pulm Width Modulation (PWM), koja nam omogućuje prigušivanje LED -a s do 256 postavki.

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

Spremiti 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

Žice za kratkospojnike

Izgradnja

Veza je kao što je prikazano na gornjem dijagramu: Nakon što je postavljanje dovršeno, povežite ploču ESP8266 s računalom putem USB kabela.

Kako to učiniti…

U svoj REPL upišite sljedeći kôd:

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

uvoz stroja iz vremena import sleep led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # izradi LED objekt LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm objekt i postaviti frekvenciju na 500Hz dok je True: LED_pwm.duty (POT.read ()) # dobijte vrijednost iz lonca i postavite je u stanje mirovanja radnog ciklusa (0,5) # čekajte 0,5

To ć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: Kamo odavde?

Do sada smo vidjeli kako konfigurirati i pokrenuti MicroPython na pločama baziranim na ESP8266. naučili smo kako kontrolirati pinove koji trepere LED -om, 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, također možemo stvoriti HTTP poslužitelj na kojem možete ispisati naše podatke na jednostavnoj web stranici itd …

To nam daje mnoge ideje 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 vam želim.

Vidimo se.

Ahmed Nouira.

Preporučeni: