Indholdsfortegnelse:

Kom godt i gang med MicroPython på ESP8266: 10 trin (med billeder)
Kom godt i gang med MicroPython på ESP8266: 10 trin (med billeder)

Video: Kom godt i gang med MicroPython på ESP8266: 10 trin (med billeder)

Video: Kom godt i gang med MicroPython på ESP8266: 10 trin (med billeder)
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, November
Anonim
Kom godt i gang med MicroPython på ESP8266
Kom godt i gang med MicroPython på ESP8266

Vil du have en anden måde at programmere de ESP8266-baserede boards frem for den almindelige metode ved hjælp af Arduino IDE sammen med C/C ++ programmeringssprog?

I denne vejledning lærer vi, hvem der skal konfigurere og styre et ESP8266 -kort ved hjælp af MicroPython.

BYGGETID: 60 MINUTTER Svært: Bedømmelse: Let

Trin 1: Hvad er MicroPython?

MicorPython er et af de mange programmeringssprog, som vi kan bruge til at programmere ESP8266 -modulet. Det er en slank og hurtig version af programmeringssproget Python 3 og har flere fordele i forhold til traditionelle programmeringssprog som C og C ++.

MicroPython er designet til at være kompatibel med normal Python så meget som muligt. Den har en komplet Python-compiler og runtime og giver en interaktiv prompt kaldet REPL (Read-Eval-Print Loop).

MicorPython er designet til at understøtte få forskellige typer mikrokontrollere. Men til denne tutorial vil jeg arbejde med kun en model: det ESP8266-baserede kort (NodeMCU). Bemærk, at der er et par forskellige brædder, som du kan købe med den samme chip.

Læsning og ressourcer:

MicroPython

NodeMCU

Trin 2: Krav

Krav
Krav
Krav
Krav
Krav
Krav
Krav
Krav

For at kunne følge denne vejledning skal du bare have grundlæggende kodningserfaring med Python. Du behøver ikke at have forudgående kendskab til mikrokontrollere, elektronik eller endda MicroPython.

Du skal også bruge en Windows-, Mac- eller Linux -computer med en gratis USB -port, da du tilslutter en mikrokontroller til din computer for at programmere den.

Nødvendige dele:

1 x NodeMCU (eller andet ESP8266-baseret kort)

1 x rød 5 mm LED

1 x 220Ω 1/4W modstand

1 x 10KΩ roterende potentiometer

1 x brødbræt

1 x USB til MicroUSB kabel

Jumper Wires.

Trin 3: Hvorfor ESP8266 Based-board?

Hvorfor ESP8266 Based-board?
Hvorfor ESP8266 Based-board?

En måde du kan få mest muligt ud af din ESP8266 er ved at bruge MicroPython. ESP8266 -modulet er også en af de bedste platforme til at lære at bruge MicroPython. Dette skyldes, at ESP8266 har enkle GPIO -pin -kontrolfunktioner samt trådløs funktionalitet, så du kan teste alle aspekter af MicroPython -programmeringssproget.

ESP8266 -chippen er populær i open source -udviklingsindustrien. Der er mange udviklingsplader fra forskellige producenter, der bruger ESP8266 -chippen. MicroPython er designet til at levere en generisk port, der kan køre på de fleste af disse boards med så få begrænsninger som muligt. Havnen er baseret på Adafruit Feather HUZZAH board Når du bruger andre ESP8266 boards, skal du kontrollere deres skemaer og datablade, så du kan identificere forskellene mellem dem og Adafruit Feather HUZZAH board. På den måde kan du imødekomme forskellene i din kode.

Læsning og ressourcer:

ESP8266

Adafruit Feather HUZZAH

Trin 4: Opsætning af din computer

Opsætning af din computer
Opsætning af din computer
Opsætning af din computer
Opsætning af din computer
Opsætning af din computer
Opsætning af din computer
Opsætning af din computer
Opsætning af din computer

Der er flere ting, du skal konfigurere, før du bruger MicroPython til at programmere dit ESP8266 -kort. Vi gennemgår installationsprocessen i dette trin. På denne måde ved du, hvordan du konfigurerer ESP8266 -kortet til brug med MicroPython.

Gøre sig klar

Alt du behøver fra dette trin til trin 6 er din ESP8266 og et USB -kabel. Tilslut dit ESP8266 -kort til din computer.

Hvordan gør man det…

TRIN 1: Installer enhedsdrivere

Hvis du har en Linux -computer, behøver du ikke at installere nogen enhedsdrivere, så driverne til mikrokontrolleren kan genkendes. Men det har en Mac eller en Windows -maskine, en driver er nødvendig for at computeren kan genkende mikrokontrolleren som en seriel enhed.

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

TRIN2: Installer Python

De værktøjer, du vil bruge til at kommunikere med ESP8266, er skrevet i Python, så du skal installere Python på din computer.

Hvis dit operativsystem ikke leverer en færdigpakket Python, kan du gå til https://python.org for at downloade en officiel version til ethvert af de understøttede operativsystemer.

TRIN3: Installer esptool og rshell

Installer to pakker, der hjælper dig med at administrere dit board ved hjælp af pip. For at gøre dette skal du åbne din terminal og køre

pip installer esptool rshell

TRIN4: Download MicroPython

Download den nyeste MicroPython -firmware.bin fra følgende link:

På det tidspunkt, jeg skriver dette, er den nuværende version 1.11, og firmwarefilen kaldes esp8266-20190529-v1.11.bin

Når du gør dette, finder du muligvis en nyere version.

Trin 5: Blinkende MicroPython med Esptool.py

Blinkende MicroPython med Esptool.py
Blinkende MicroPython med Esptool.py
Blinkende MicroPython med Esptool.py
Blinkende MicroPython med Esptool.py

Inden du blinker en ny firmware i kortet, er det en god idé at slette alle tidligere data. Dette er noget, du altid skal gøre, så den nye firmware kører fra en ren tilstand.

Gå hen, hvor du har placeret.bin -filen. Brug esptool.py til at slette blitzen.

Til Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Til Windows:

esptool.py --port COM3 erase_flash

Du skal muligvis ændre den serielle port i din kommando til den serielle port, som dit ESP8266 -kort er tilsluttet. Hvis du ikke kender serienummeret på din ESP8266, kan du tjekke i Arduino IDE. Bare åbn IDE og klik derefter på Værktøjer | Havne. Du bør se den serielle port på dit ESP8266 -kort anført der. Udskift den serielle port i kommandoen (/dev/ttyUSB0) med den serielle port på dit kort.

Nu hvor tavlen er helt slettet, kan du blinke MicroPython -builden, som du lige har downloadet. Dette gøres også med kommandoen esptool.py:

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

Denne kommando vil skrive indholdet af MicroPython.bin -filen til kortet på adressen 0.

Sørg for at ændre navnet på firmwaren.bin-filen i kommandoen (esp82688-2019-080529-v1.11.bin) til den firmware, du downloadede.

Når firmwaren er installeret korrekt på dit ESP8266 -kort, kan du få adgang til REPL på dit kort via en kabelforbundet forbindelse (UART seriel port) eller tænkt WiFi.

Trin 6: Brug af MicroPython REPL With Rshell

Brug af MicroPython REPL med Rshell
Brug af MicroPython REPL med Rshell
Brug af MicroPython REPL med Rshell
Brug af MicroPython REPL med Rshell

Du er nu klar til at starte MicroPython på dit ESP8266 -kort.

Hvad jeg vil vise dig, hvordan du opretter forbindelse til Python-prompten, der kører på dit bord. Dette kaldes REPL, som står for "Read-Eval-Print-Loop". Dette er den standard Python -prompt, som du sandsynligvis er vant til at se, når du arbejder med den almindelige Python -tolk, men denne gang vil den køre på dit board, og for at interagere med den vil du bruge den serielle forbindelse til din computer. Parat?

For at oprette forbindelse til dit board og åbne en REPL -session skal du indtaste følgende kommando:

rshell --port

Denne kommando bringer dig ind i rshell -prompten. Se foto ovenfor.

Hvis du følger denne vejledning på Windows, skal du bemærke, at rshell har en historie med problemer, når den kører på Windows.

Så for at rette den type:

rshell -a --port COM3

Fra denne prompt kan du udføre administrationsopgaver relateret til dit mikrokontrollerkort og også starte et Python REPL, som du kan bruge til at interagere med kortet i realtid. Så bare indtast følgende kommando:

udskiftning

For at sikre, at alt fungerer, skal du skrive en simpel Python -sætning:

print ("Hej verden")

Trin 7: Kontrol af stifter ved hjælp af MicroPython

Kontrol af stifter ved hjælp af MicroPython
Kontrol af stifter ved hjælp af MicroPython
Kontrol af stifter ved hjælp af MicroPython
Kontrol af stifter ved hjælp af MicroPython

I dette trin lærer vi, hvordan du styrer ESP8266 -benene med MicroPython. For at gøre det vil vi komme med et setup, hvor vi vil skifte tilstanden for en LED, der er forbundet til en ESP8266 -kort GPIO -pin. Dette hjælper dig med at forstå, hvordan du styrer digitale output ved hjælp af MicoPython.

Gøre sig klar

Du skal bruge følgende ting for at udføre dette TRIN:

1 x NodeMCU

1 x rød 5 mm LED

1 x 220 Ω modstand

1 x brødbræt

Jumper Wires

Bygningen

Start med at montere LED'en på brødbrættet. Tilslut den ene ende af 220 Ω modstanden til det positive ben på LED'en (det positive ben på en LED er normalt den højere af de to ben). Tilslut den anden ende af modstanden til pin D1 på ESP8266 -kortet. Tilslut derefter det negative ben på LED'en til GND -stiften på ESP8266 -kortet. Forbindelsen er som vist i diagrammet ovenfor.

Når opsætningen er fuldført, skal du slutte ESP8266 -kortet til din computer via et USB -kabel.

Hvordan gør man det…

Indtast følgende kode i din REPL:

# blink LED hvert 1. sekund

def blink (pin = 5, time = 1) # blink funktion som standard pin = 5, time = 1s import maskine # maskin modulet holder pin konfigurationer og tilstande fra tid import sleep # import sleep for some delay LED = machine. Pin # til LAV søvn (tid) # vent 1 sekund som standard

Skriv blink () i din RPEL -session for at teste denne kode. Dette blinker LED'en, der er tilsluttet GPIO5 hvert 1 sekund.

Du kan ændre nålen og/eller klokkeslættet ved at ringe til:

blink (pin =, time =)

Tryk på ctrl+c for at afslutte den kørende kode.

Du kan bruge MicroPython til at læse et input fra tilsluttet ESP8266. Fortsæt til det næste trin for at lære, hvordan du gør det.

Tjek videoen, hvis du sidder fast.

Trin 8: Fading LED'en

Fading LED'en
Fading LED'en
Fading LED'en
Fading LED'en

I dette trin lærer vi, hvordan du justerer lysstyrken på LED'en ved hjælp af et roterende potentiometer. Vi vil bruge en teknik kaldet Pulse Width Modulation (PWM), det giver os mulighed for at dæmpe LED'en med op til 256 indstillinger.

Bemærk: Alle stifterne i ESP8266 kan bruges som en PWM -pin undtagen GPIO16 (D0).

Gøre sig klar:

Du skal bruge følgende ting for at udføre dette TRIN:

1 x NodeMCU

1 x rød 5 mm LED

1 x 50 KΩ Rotationspotentiometer.

1 x brødbræt

Jumper Wires

Bygningen

Forbindelsen er som vist i diagrammet ovenfor: Når opsætningen er fuldført, skal du slutte ESP8266 -kortet til din computer via et USB -kabel.

Hvordan gør man det…

Indtast følgende kode i din REPL:

# Fading LED hver 0,5 ved at aflæse data fra potentiometeret

importer maskine fra tid importer søvn led_pin = 5 # led pin POT = maskine. ADC (0) # ADC0 pin LED = maskine. Pin (led_pin) # opret LED objekt LED_pwm = maskine. PWM (LED, freq = 500) # opret LED_pwm objekt og indstil frekvens til 500Hz, mens True: LED_pwm.duty (POT.read ()) # hent værdien fra gryden og indstil den til driftscyklus -søvn (0,5) # vent 0,5

Dette ændrer lysstyrken på LED'en, der er tilsluttet GPIO 5, ved at ændre værdien af potentiometeret.

Tryk på ctrl+c for at afslutte den kørende kode.

Tjek videoen, hvis du sidder fast.

Trin 9: Hvor skal man herfra?

Hidtil har vi set, hvordan man konfigurerer og kører MicroPython på ESP8266-baserede kort. Vi lærte at styre stifter til at blinke en LED, så tilføjede vi et potentiometer for at styre lysstyrken på LED'en ved hjælp af pulsbreddemodulationsteknik.

Nu kan vi læse data fra sensoren og sende dem til skyen, vi kan også oprette en HTTP -server, hvor du kan udskrive vores data på en simpel webside osv …

Dette giver os mange ideer om tingenes internet (IoT).

Trin 10: Konklusion

Der har du det! Gå videre og erobre MicroPythons verden.

hvis du har spørgsmål kan du naturligvis efterlade en kommentar.

Besøg min YouTube -kanal for at se mere om mine værker:

myYouTube

myGitHub

myLinkedin

Tak fordi du læste dette instruerbare ^^ og hav en dejlig dag.

Vi ses.

Ahmed Nouira.

Anbefalede: