Innholdsfortegnelse:

Komme i gang med MicroPython på ESP8266: 10 trinn (med bilder)
Komme i gang med MicroPython på ESP8266: 10 trinn (med bilder)

Video: Komme i gang med MicroPython på ESP8266: 10 trinn (med bilder)

Video: Komme i gang med MicroPython på ESP8266: 10 trinn (med bilder)
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, November
Anonim
Komme i gang med MicroPython på ESP8266
Komme i gang med MicroPython på ESP8266

Vil du ha en annen måte å programmere de ESP8266-baserte kortene i stedet for den vanlige metoden ved å bruke Arduino IDE sammen med C/C ++ programmeringsspråk?

I denne opplæringen lærer vi hvem du skal konfigurere og kontrollere et ESP8266 -kort ved hjelp av MicroPython.

BYGGETID: 60 MINUTTER VANSKELIG: VURDERING: Lett

Trinn 1: Hva er MicroPython?

MicorPython er et av de mange programmeringsspråket vi kan bruke til å programmere ESP8266 -modulen. Det er en slank og rask versjon av programmeringsspråket Python 3 og har flere fordeler i forhold til tradisjonelle programmeringsspråk som C og C ++.

MicroPython er designet for å være kompatibel med normal Python så mye som mulig. Den har en komplett Python-kompilator og kjøretid, og gir en interaktiv melding som kalles REPL (Read-Eval-Print Loop).

MicorPython er designet for å støtte få forskjellige typer mikrokontrollere. Men for denne opplæringen skal jeg jobbe med bare en modell: det ESP8266-baserte kortet (NodeMCU). Vær oppmerksom på at det er noen forskjellige brett du kan kjøpe med samme brikke.

Lesing og ressurser:

MicroPython

NodeMCU

Trinn 2: Krav

Krav
Krav
Krav
Krav
Krav
Krav
Krav
Krav

For å kunne følge denne opplæringen trenger du bare å ha grunnleggende kodingserfaring med Python. Du trenger ikke å ha noen forkunnskaper om mikrokontrollere, elektronikk eller til og med MicroPython.

Du trenger også en Windows-, Mac- eller Linux -datamaskin med en ledig USB -port, ettersom du vil koble en mikrokontroller til datamaskinen din for å programmere den.

Nødvendige deler:

1 x NodeMCU (eller annet ESP8266-basert kort)

1 x rød 5 mm LED

1 x 220Ω 1/4W motstand

1 x 10KΩ roterende potensiometer

1 x brødbrett

1 x USB til MicroUSB kabel

Jumper Wires.

Trinn 3: Hvorfor ESP8266 Based-board?

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

En måte du kan få mest mulig ut av ESP8266 er ved å bruke MicroPython. ESP8266 -modulen er også en av de beste plattformene å lære å bruke MicroPython på. Dette er fordi ESP8266 tilbyr enkle GPIO -pin -kontrollfunksjoner samt trådløs funksjonalitet, slik at du kan teste alle aspekter av MicroPython -programmeringsspråket.

ESP8266 -brikken er populær i utviklingsindustrien med åpen kildekode. Det er mange utviklingstavler fra forskjellige produsenter som bruker ESP8266 -brikken. MicroPython er designet for å gi en generisk port som kan kjøres på de fleste av disse kortene, med så få begrensninger som mulig. Porten er basert på Adafruit Feather HUZZAH -kortet Når du bruker andre ESP8266 -kort, må du sjekke skjemaene og databladene slik at du kan identifisere forskjellene mellom dem og Adafruit Feather HUZZAH -kortet. På den måten kan du imøtekomme forskjellene i koden din.

Lesing og ressurser:

ESP8266

Adafruit fjær HUZZAH

Trinn 4: Sette opp datamaskinen

Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen
Sette opp datamaskinen

Det er flere ting du må konfigurere før du bruker MicroPython for å programmere ESP8266 -kortet. Vi vil gå igjennom oppsettprosessen i dette trinnet. På denne måten vet du hvordan du konfigurerer ESP8266 -kortet til bruk med MicroPython.

Gjør seg klar

Alt du trenger fra dette trinnet til trinn 6 er ESP8266 og en USB -kabel. Koble ESP8266 -kortet til datamaskinen.

Hvordan gjøre det…

TRINN 1: Installer enhetsdrivere

Hvis du har en Linux -datamaskin, trenger du ikke å installere noen enhetsdrivere for at driverne for mikrokontrolleren skal bli gjenkjent. Men det er en Mac eller en Windows -maskin, en driver er nødvendig for å la datamaskinen gjenkjenne mikrokontrolleren. som en seriell enhet.

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

TRINN 2: Installer Python

Verktøyene du skal bruke til å kommunisere med ESP8266 er skrevet i Python, så du må installere Python på datamaskinen.

Hvis operativsystemet ditt ikke har en ferdigpakket Python, kan du gå til https://python.org for å laste ned en offisiell versjon for alle de støttede operativsystemene.

TRINN 3: Installer esptool og rshell

Installer to pakker som skal hjelpe deg med å administrere brettet ditt med pip. For å gjøre dette åpner du terminalen og kjører

pip installer esptool rshell

TRINN 4: Last ned MicroPython

Last ned den siste MicroPython -firmware.bin fra følgende lenke:

På det tidspunktet jeg skriver dette, er den nåværende versjonen 1.11, og fastvarefilen heter esp8266-20190529-v1.11.bin

Når du gjør dette kan du finne en nyere versjon.

Trinn 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

Før du blinker en ny fastvare i brettet, er det en god idé å slette alle tidligere data. Dette er noe du alltid bør gjøre slik at den nye fastvaren går fra en ren tilstand.

Gå dit du har plassert.bin -filen. Bruk esptool.py for å slette blitsen.

For Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

For Windows:

esptool.py --port COM3 erase_flash

Du må kanskje endre den serielle porten i kommandoen til den serielle porten som ESP8266 -kortet er koblet til. Hvis du ikke kjenner serienummeret på ESP8266, kan du sjekke inn Arduino IDE. Bare åpne IDE og klikk deretter på Verktøy | Havner. Du bør se den serielle porten på ESP8266 -kortet der. Bytt ut den serielle porten i kommandoen (/dev/ttyUSB0) med den serielle porten på kortet ditt.

Nå som brettet er helt slettet, kan du blinke MicroPython -bygningen du nettopp lastet ned. Dette gjøres også med kommandoen esptool.py:

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

Denne kommandoen kommer til å skrive innholdet i MicroPython.bin -filen til brettet på adresse 0.

Sørg for å endre navnet på fastvaren.bin-filen i kommandoen (esp82688-2019-080529-v1.11.bin) til navnet på fastvaren du lastet ned.

Når fastvaren er vellykket installert på ESP8266 -kortet, kan du få tilgang til REPL på kortet via en kablet tilkobling (seriell UART -port) eller tenkt WiFi.

Trinn 6: Bruke MicroPython REPL With Rshell

Bruke MicroPython REPL med Rshell
Bruke MicroPython REPL med Rshell
Bruke MicroPython REPL med Rshell
Bruke MicroPython REPL med Rshell

Du er nå klar til å starte MicroPython på ESP8266 -kortet.

Hva jeg skal vise deg hvordan du kobler til Python-prompten som kjører på brettet ditt. Dette kalles REPL, som står for "Read-Eval-Print-Loop". Dette er standard Python -ledetekst som du sannsynligvis er vant til å se når du arbeider med den vanlige Python -tolken, men denne gangen kommer den til å kjøre på brettet ditt, og for å samhandle med den skal du bruke den serielle tilkoblingen til datamaskinen din. Klar?

For å koble til brettet ditt og åpne en REPL -økt, skriv inn følgende kommando:

rshell --port

Denne kommandoen vil bringe deg inn i rshell -ledeteksten. Se bildet ovenfor.

Hvis du følger denne opplæringen på Windows, må du merke at rshell har en historie med problemer når du kjører på Windows.

Så for å fikse den typen:

rshell -a --port COM3

Fra denne ledeteksten kan du utføre administrasjonsoppgaver knyttet til mikrokontrollerkortet ditt, og også starte en Python REPL som du kan bruke til å samhandle med brettet i sanntid. Så bare skriv inn følgende kommando:

erst

For å sikre at alt fungerer, skriver du inn en enkel Python -setning:

print ("Hei verden")

Trinn 7: Kontrollere pins med MicroPython

Kontrollere pinnene ved hjelp av MicroPython
Kontrollere pinnene ved hjelp av MicroPython
Kontrollere pinnene ved hjelp av MicroPython
Kontrollere pinnene ved hjelp av MicroPython

I dette trinnet lærer vi hvordan du kontrollerer ESP8266 -pinnene med MicroPython. For å gjøre det vil vi komme opp med et oppsett der vi vil bytte tilstanden til en LED som er koblet til en ESP8266 -kort GPIO -pin. Dette vil hjelpe deg å forstå hvordan du styrer digitale utganger ved hjelp av MicoPython.

Gjør seg klar

Du trenger følgende ting for å oppnå dette trinnet:

1 x NodeMCU

1 x rød 5 mm LED

1 x 220 Ω motstand

1 x brødbrett

Jumper Wires

The Build

Begynn med å montere LED -en på brødbrettet. Koble den ene enden av 220 Ω motstanden til det positive benet på LED -en (den positive etappen på en LED er vanligvis den høyeste av de to beina). Koble den andre enden av motstanden til pinne D1 på ESP8266 -kortet. Koble deretter det negative benet til LED -en til GND -pinnen på ESP8266 -kortet. Tilkoblingen er som vist i diagrammet ovenfor.

Når oppsettet er fullført, kobler du ESP8266 -kortet til datamaskinen din via en USB -kabel.

Hvordan gjøre det…

Skriv inn følgende kode i REPL:

# blink LED hvert 1 sekund

def blink (pin = 5, time = 1) # blinkfunksjon som standard pin = 5, time = 1s importmaskin # maskinmodulen holder pin -konfigurasjonene og modusene fra tid import sleep # import sleep for noen forsinkelse LED = machine. Pin # til LAV søvn (tid) # vent 1 sekund som standard

Skriv blink () i RPEL -økten for å teste denne koden. Dette blinker LED -en som er koblet til GPIO5 hvert 1 sekund.

Du kan endre pinnen og/eller klokkeslettet ved å ringe:

blink (pin =, time =)

Trykk ctrl+c for å gå ut av løpekoden.

Du kan bruke MicroPython til å lese en inngang fra koblet til ESP8266. Fortsett til neste trinn for å lære hvordan du gjør det.

Sjekk videoen hvis du sitter fast.

Trinn 8: Fading LED

Fading LED
Fading LED
Fading LED
Fading LED

I dette trinnet lærer vi hvordan du justerer lysstyrken til LED -en ved hjelp av et roterende potensiometer. Vi vil bruke en teknikk som kalles Pulse Width Modulation (PWM), den lar oss dimme LED -en med opptil 256 innstillinger.

Merk: Alle pinnene i ESP8266 kan brukes som en PWM -pinne bortsett fra GPIO16 (D0).

Gjør seg klar:

Du trenger følgende ting for å oppnå dette trinnet:

1 x NodeMCU

1 x rød 5 mm LED

1 x 50 KΩ roterende potensiometer.

1 x brødbrett

Jumper Wires

The Build

Tilkoblingen er som vist i diagrammet ovenfor: Når oppsettet er fullført, kobler du ESP8266 -kortet til datamaskinen din via en USB -kabel.

Hvordan gjøre det…

Skriv inn følgende kode i REPL:

# Fading LED hver 0,5 ved å lese data fra potensiometeret

importer maskin fra tid importer søvn led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # create LED object LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm objekt og sett frekvensen til 500Hz mens True: LED_pwm.duty (POT.read ()) # hent verdien fra potten og sett den til hvilesyklusen (0,5) # vent 0,5

Dette vil endre lysstyrken til LED -en som er koblet til GPIO 5 ved å endre verdien på potensiometeret.

Trykk ctrl+c for å gå ut av løpekoden.

Sjekk videoen hvis du sitter fast.

Trinn 9: Hvor skal du herfra?

Så langt har vi sett hvordan vi konfigurerer og kjører MicroPython på ESP8266-baserte kort. Vi lærte å kontrollere pinner for å blinke en LED, så la vi til et potensiometer for å kontrollere lysstyrken til LED -en ved hjelp av pulsbreddemoduleringsteknikk.

Nå kan vi lese data fra sensoren og sende dem til skyen, vi kan også opprette en HTTP -server der du kan skrive ut dataene våre på en enkel webside osv …

Dette gir oss mange ideer om tingenes internett (IoT).

Trinn 10: Konklusjon

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

hvis du har spørsmål kan du selvfølgelig legge igjen en kommentar.

For å se mer om verkene mine, besøk YouTube -kanalen min:

myYouTube

myGitHub

myLinkedin

Takk for at du leser denne instruktive ^^ og ha en fin dag.

Vi ses.

Ahmed Nouira.

Anbefalt: