Innehållsförteckning:

Komma igång med MicroPython på ESP8266: 10 steg (med bilder)
Komma igång med MicroPython på ESP8266: 10 steg (med bilder)

Video: Komma igång med MicroPython på ESP8266: 10 steg (med bilder)

Video: Komma igång med MicroPython på ESP8266: 10 steg (med bilder)
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, November
Anonim
Komma igång med MicroPython på ESP8266
Komma igång med MicroPython på ESP8266

Vill du ha ett annat sätt att programmera de ESP8266-baserade korten snarare än den vanliga metoden med Arduino IDE tillsammans med C/C ++ programmeringsspråk?

I denna handledning lär vi oss vem som ska konfigurera och styra ett ESP8266 -kort med MicroPython.

BYGGTID: 60 MINUTTER SVÅR: BETYGNING: Lätt

Steg 1: Vad är MicroPython?

MicorPython är ett av de många programmeringsspråk som vi kan använda för att programmera ESP8266 -modulen. Det är en smal och snabb version av programmeringsspråket Python 3 och har flera fördelar jämfört med traditionella programmeringsspråk som C och C ++.

MicroPython är utformad för att vara kompatibel med normal Python så mycket som möjligt. Den har en komplett Python-kompilator och körtid och ger en interaktiv prompt som kallas REPL (Read-Eval-Print Loop).

MicorPython är utformat för att stödja få olika typer av mikrokontroller. Men för den här handledningen kommer jag att arbeta med bara en modell: det ESP8266-baserade kortet (NodeMCU). Observera att det finns några olika brädor som du kan köpa med samma chip.

Läsning och resurser:

MicroPython

NodeMCU

Steg 2: Krav

Krav
Krav
Krav
Krav
Krav
Krav
Krav
Krav

För att kunna följa denna handledning behöver du bara ha grundläggande kodningserfarenhet med Python. Du behöver inte ha någon tidigare kunskap om mikrokontroller, elektronik eller till och med MicroPython.

Du behöver också en Windows-, Mac- eller Linux -dator med en ledig USB -port, eftersom du ansluter en mikrokontroller till din dator för att programmera den.

Delar som krävs:

1 x NodeMCU (eller annat ESP8266-baserat kort)

1 x röd 5 mm LED

1 x 220Ω 1/4W motstånd

1 x 10KΩ roterande potentiometer

1 x brödbräda

1 x USB till MicroUSB -kabel

Jumper Wires.

Steg 3: Varför ESP8266 Based-board?

Varför ESP8266 Based-board?
Varför ESP8266 Based-board?

Ett sätt att få ut det mesta av din ESP8266 är genom att använda MicroPython. Dessutom är ESP8266 -modulen en av de bästa plattformarna att lära sig att använda MicroPython på. Detta beror på att ESP8266 har enkla GPIO -pin -kontrollfunktioner samt trådlös funktionalitet, så att du kan testa alla aspekter av MicroPython -programmeringsspråket.

ESP8266 -chipet är populärt i utvecklingsindustrin med öppen källkod. Det finns många utvecklingsbrädor från olika tillverkare som använder ESP8266 -chipet. MicroPython har utformats för att tillhandahålla en generisk port som kan köras på de flesta av dessa kort, med så få begränsningar som möjligt. Porten är baserad på Adafruit Feather HUZZAH -kortet När du använder andra ESP8266 -kort, se till att du kontrollerar deras scheman och datablad så att du kan identifiera skillnaderna mellan dem och Adafruit Feather HUZZAH -kortet. På så sätt kan du tillgodose skillnaderna i din kod.

Läsning och resurser:

ESP8266

Adafruit fjäder HUZZAH

Steg 4: Konfigurera din dator

Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator
Konfigurera din dator

Det finns flera saker du måste ställa in innan du använder MicroPython för att programmera ditt ESP8266 -kort. Vi kommer att gå igenom installationsprocessen i detta steg. På så sätt vet du hur du konfigurerar ESP8266 -kortet för att användas med MicroPython.

Gör mig i ordning

Allt du behöver från detta steg till steg 6 är din ESP8266 och en USB -kabel. Anslut ditt ESP8266 -kort till din dator.

Hur man gör det…

STEG 1: Installera enhetsdrivrutiner

Om du har en Linux -dator behöver du inte installera några drivrutiner för att drivrutinerna för mikrokontroller ska kunna identifieras. Men det har en Mac eller en Windows -maskin, en drivrutin behövs för att datorn ska känna igen mikrokontrollern som en seriell enhet.

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

STEG2: Installera Python

Verktygen som du ska använda för att kommunicera med ESP8266 är skrivna i Python, så du måste installera Python på din dator.

Om ditt operativsystem inte tillhandahåller ett förpackat Python kan du gå till https://python.org för att ladda ner en officiell version för något av de operativsystem som stöds.

STEG3: Installera esptool och rshell

Installera två paket som hjälper dig att hantera ditt kort med pip. För att göra detta öppnar du din terminal och kör

pip installera esptool rshell

STEG4: Ladda ner MicroPython

Ladda ner den senaste MicroPython -firmware.bin från följande länk:

När jag skriver detta är den aktuella versionen 1.11 och firmware-filen heter esp8266-20190529-v1.11.bin

När du gör detta kan du hitta en nyare version.

Steg 5: Blinkande MicroPython med Esptool.py

Blinkande MicroPython med Esptool.py
Blinkande MicroPython med Esptool.py
Blinkande MicroPython med Esptool.py
Blinkande MicroPython med Esptool.py

Innan du lägger in en ny firmware i kortet är det en bra idé att radera tidigare data. Detta är något som du alltid bör göra så att den nya firmware körs från ett rent tillstånd.

Gå dit du har placerat.bin -filen. Använd esptool.py för att radera blixten.

För Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

För Windows:

esptool.py --port COM3 erase_flash

Du kan behöva ändra den seriella porten i ditt kommando till den serieport som ditt ESP8266 -kort är anslutet till. Om du inte vet serienummeret på din ESP8266 kan du kolla in Arduino IDE. Öppna bara IDE och klicka sedan på Verktyg | Hamnar. Du bör se serieporten på ditt ESP8266 -kort där. Byt ut den seriella porten i kommandot (/dev/ttyUSB0) mot den seriella porten på ditt kort.

Nu när kortet är helt raderat kan du blinka MicroPython -byggnaden som du just laddade ner. Detta görs också med kommandot esptool.py:

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

Detta kommando kommer att skriva innehållet i MicroPython.bin -filen till kortet på adressen 0.

Se till att du ändrar namnet på den fasta programvaran.bin-filen i kommandot (esp82688-2019-080529-v1.11.bin) till den för den inbyggda programvaran som du laddade ner.

När den fasta programvaran har installerats på ditt ESP8266 -kort kan du komma åt REPL på ditt kort via en trådbunden anslutning (UART -seriell port) eller tänkt WiFi.

Steg 6: Använda MicroPython REPL med Rshell

Använda MicroPython REPL med Rshell
Använda MicroPython REPL med Rshell
Använda MicroPython REPL med Rshell
Använda MicroPython REPL med Rshell

Du är nu redo att starta MicroPython på ditt ESP8266 -kort.

Vad jag ska visa dig hur du ansluter till Python-prompten som körs på ditt kort. Detta kallas REPL, som står för "Read-Eval-Print-Loop". Detta är den vanliga Python -prompten som du förmodligen brukar se när du arbetar med den vanliga Python -tolken, men den här gången kommer den att köras på ditt kort och för att interagera med den kommer du att använda den seriella anslutningen till din dator. Redo?

För att ansluta till ditt kort och öppna en REPL -session, ange följande kommando:

rshell --port

Detta kommando tar dig till rshell -prompten. Se bild ovan.

Om du följer den här självstudien på Windows, observera att rshell har en historik med problem när den körs på Windows.

Så för att fixa den typen:

rshell -a --port COM3

Från denna uppmaning kan du utföra hanteringsuppgifter relaterade till ditt mikrokontrollkort och även starta ett Python REPL som du kan använda för att interagera med kortet i realtid. Så bara ange följande kommando:

ers

För att se till att allt fungerar skriver du en enkel Python -mening:

print ("Hej världen")

Steg 7: Kontrollera stift med MicroPython

Kontrollera stift med MicroPython
Kontrollera stift med MicroPython
Kontrollera stift med MicroPython
Kontrollera stift med MicroPython

I det här steget kommer vi att lära oss hur du styr ESP8266 -stiften med MicroPython. För att göra det kommer vi med en inställning där vi kommer att byta status för en lysdiod som är ansluten till ett ESP8266 -kort GPIO -stift. Detta hjälper dig att förstå hur du styr digitala utgångar med MicoPython.

Gör mig i ordning

Du behöver följande saker för att utföra detta STEG:

1 x NodeMCU

1 x röd 5 mm LED

1 x 220 Ω motstånd

1 x brödbräda

Jumper Wires

The Build

Börja med att montera lysdioden på brödbrädan. Anslut ena änden av 220 Ω motståndet till det positiva benet på lysdioden (det positiva benet på en lysdiod är vanligtvis det högre av de två benen). Anslut den andra änden av motståndet till stift D1 på ESP8266 -kortet. Anslut sedan det negativa benet på lysdioden till GND -stiftet på ESP8266 -kortet. Anslutningen är som visas i diagrammet ovan.

När installationen är klar ansluter du ESP8266 -kortet till din dator via en USB -kabel.

Hur man gör det…

Skriv in följande kod i din REPL:

# blinka LED var 1: e sekund

def blink (stift = 5, tid = 1) # blinkfunktion som standard stift = 5, tid = 1s importmaskin # maskinmodulen rymmer stiftkonfigurationerna och lägen från tiden importera viloläge # importera viloläge för viss fördröjning LED = maskin. Pin (led_pin, machine. PIN. OUT) # konfigurera LED som OUTPUT medan True: # run forever LED.value (1) # set LED to HIGH sleep (time) # wait 1 second by default LED.value (0) # set LED till LOW sleep (tid) # vänta 1 sekund som standard

Skriv blink () i din RPEL -session för att testa den här koden. Detta blinkar lysdioden som är ansluten till GPIO5 var 1 sekund.

Du kan ändra nålen och/eller tiden genom att ringa:

blinka (stift =, tid =)

Tryck på ctrl+c för att lämna körkoden.

Du kan använda MicroPython för att läsa en ingång från ansluten till ESP8266. Fortsätt till nästa steg för att lära dig hur du gör det.

Kontrollera videon om du fastnade.

Steg 8: Tona LED -lampan

Toning av lysdioden
Toning av lysdioden
Toning av lysdioden
Toning av lysdioden

I detta steg kommer vi att lära oss hur man justerar ljusstyrkan på LED: n med en roterande potentiometer. Vi kommer att använda en teknik som kallas Pulse Width Modulation (PWM), den tillåter oss att dimma lysdioden med upp till 256 inställningar.

Observera: Alla stiften i ESP8266 kan användas som en PWM -stift utom GPIO16 (D0).

Gör mig i ordning:

Du behöver följande saker för att utföra detta STEG:

1 x NodeMCU

1 x röd 5 mm LED

1 x 50 KΩ roterande potentiometer.

1 x brödbräda

Jumper Wires

The Build

Anslutningen är som visas i diagrammet ovan: När installationen är klar ansluter du ESP8266 -kortet till din dator via en USB -kabel.

Hur man gör det…

Skriv in följande kod i din REPL:

# Fading LED varje 0,5 genom att läsa data från potentiometern

importera maskin från tid importera sömn led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # skapa LED objekt LED_pwm = machine. PWM (LED, freq = 500) # skapa LED_pwm objekt och ställ in frekvensen till 500Hz medan True: LED_pwm.duty (POT.read ()) # hämta värdet från grytan och ställ in det på drifttimmets viloläge (0,5) # vänta 0,5

Detta kommer att ändra ljusstyrkan för lysdioden ansluten till GPIO 5 genom att ändra värdet på potentiometern.

Tryck på ctrl+c för att lämna körkoden.

Kontrollera videon om du fastnade.

Steg 9: Var ska du härifrån?

Hittills har vi sett hur man konfigurerar och kör MicroPython på ESP8266-baserade kort. vi lärde oss att styra stiften för att blinka en lysdiod sedan lade vi till en potentiometer för att styra ljusstyrkan på lysdioden med hjälp av pulsbreddsmoduleringsteknik.

Nu kan vi läsa data från sensorn och skicka den till molnet, vi kan också skapa en HTTP -server där du kan skriva ut våra data på en enkel webbsida osv …

Detta ger oss många uppfattningar om Internet of Things (IoT).

Steg 10: Slutsats

Där har du det! Gå ut och erövra MicroPythons värld.

om du har några frågor såklart kan du lämna en kommentar.

Besök min YouTube -kanal för att se mer om mina verk:

myYouTube

myGitHub

myLinkedin

Tack för att du läste detta instruerbara ^^ och ha en trevlig dag.

Vi ses.

Ahmed Nouira.

Rekommenderad: