Innholdsfortegnelse:
- Trinn 1: Hva er MicroPython?
- Trinn 2: Krav
- Trinn 3: Hvorfor ESP8266 Based-board?
- Trinn 4: Sette opp datamaskinen
- Trinn 5: Blinkende MicroPython med Esptool.py
- Trinn 6: Bruke MicroPython REPL With Rshell
- Trinn 7: Kontrollere pins med MicroPython
- Trinn 8: Fading LED
- Trinn 9: Hvor skal du herfra?
- Trinn 10: Konklusjon
Video: Komme i gang med MicroPython på ESP8266: 10 trinn (med bilder)
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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
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?
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
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
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
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
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
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.