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)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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.
Anbefalt:
Komme i gang med skinkeradio: 5 trinn (med bilder)
Komme i gang med skinkeradio: Som en nylig utarbeidet skinkelisensier, vil jeg fortsette prosessen jeg tok for å komme inn i skinkeradio. Jeg ble fristet av selvtillit aspektet av hobbyen, og ga folk en måte å kommunisere på når andre metoder blir forstyrret. Men det er også givende å
Komme i gang med M5StickV AI + IOT -kameraet: 6 trinn (med bilder)
Komme i gang med M5StickV AI + IOT -kameraet: Kort oversikt M5StickV er et lite AI + IOT -kamera som er nesten størrelsen i diameter på 2 mynter, prisen er rundt $ 27,00 som for noen kan virke dyrt for et så lite kamera, men det pakker litt greie spesifikasjoner. Kameraet drives av utrolig
Komme i gang med La COOL Board: 4 trinn (med bilder)
Komme i gang med La COOL Board: Introduksjon "Da vi kom på ideen til La COOL Board, forestilte jeg meg en blanding mellom en Arduino med WiFi og en modulær agronomisk værstasjon. Det måtte forbruke svært lite energi for autonom drift, og jeg ønsket å kunne motvirke
Komme i gang med NeoPixel / WS2812 RGB LED: 8 trinn (med bilder)
Komme i gang med NeoPixel / WS2812 RGB LED: [Spill av video] I denne instruksen vil vi utforske den adresserbare RGB LED (WS2812) eller populært kjent som Adafruit NeoPixel. NeoPixel er en familie av ringer, strimler, brett og amp; pinner av pulserende, fargerike miniatyr -lysdioder. Disse er kjedelige
Komme i gang med Arduino: Det du trenger å vite: 4 trinn (med bilder)
Komme i gang med Arduino: Det du trenger å vite: Jeg har jobbet med Arduino og elektronikk i mange år nå, og jeg lærer fortsatt. I denne stadig voksende verden av mikrokontrollere er det lett å gå seg vill og kjøre sirkler rundt deg selv og prøve å finne informasjon. I denne instruksen