MicroPython är en lätt version av Python-programmeringsspråket utvecklat för programmering av mikrokontroller, SOC och andra inbäddade systemenheter. Den skapades för att göra det möjligt för utvecklare att utnyttja det " lätta att lära sig och använda" pythons natur för inbyggd systemutveckling. Med Python nu det viktigaste introduktionsspråket i de flesta skolor och eftersom det är ett av de mest populära och mest använda programmeringsspråken över hela världen, genom mikro-python, kan många Python-användare kringgå den stressiga branta inlärningskurvan som är förknippad med användning av C och C ++ för att programmera mikrokontroller. De kan omedelbart börja använda den kunskap de förvärvat genom åren för att få tillgång till hårdvaran på låg nivå precis som med de andra språken. Micro-python är specifikt en mager implementering av Python 3 och är som sådan kompatibel med syntaxen för python 3.
Även om MicroPython ännu inte är på samma popularitetsnivå som C och C ++ för utveckling av inbyggda system har dess popularitet ökat med fler och fler mikrokontroller, IDE och utvecklingskort som stöder dess användning. För dagens handledning kommer vi att titta på ett av sådana kort för vilka firmware kan utvecklas med MicroPython.
För dagens handledning kommer vi att undersöka utvecklingen av koden för ESP32 med MicroPython.
Vi börjar med att titta på varför MicroPython är bra för ESP32 och arbeta oss igenom att ställa in ESP32 för MicroPython och ladda upp blinkskissen med MicroPython på ESP32.
Varför MicroPython? (MicroPython vs Arduino C)
Ett av de väl beprövade, enklaste sätten att programmera ESP32 är att använda Arduino IDE, vilket innebär att Arduino-versionen av C eller C ++ används. C och C ++, i årtionden, har varit de två mest populära språken för inbyggd systemutveckling, och Arduino-versionen av språket gjorde det ännu enklare, vilket står för dess popularitet bland tillverkare och hobbyister på grund av hur enkelt koder kan utvecklas. Utöver detta har Arduino en av de största tekniska samhällena i världen med nya bibliotek, programfixar, nytt brädestöd etc. som släpps av samhället dagligen. Alla dessa gör det till ett formidabelt verktyg för programmering av inbyggda systemkort. Den enda verkliga begränsningen man kan fästa vid Arduino C är det faktum att den bara fungerar inom Arduino IDE.Med IDE är begränsad och saknar några funktioner som verkligen kan vara användbara när man utvecklar en stor kodbas är Arduino C inte den mest effektiva.
MicroPython, å andra sidan, är relativt nytt. Medan användarens community växer, med stöd för fler plattformar som släpps, kan dess styrka inte jämföras med Arduino. På toppen är MicroPython i huvudsak en mager version av python som är ett av de mest populära programmeringsspråken i världen och som sådant kan alla problem som inte kan lösas av MicroPython-communityn ta upp insikter från den allmänna pythonsamhället.
Förutom community-stödet har MicroPython också vissa funktioner som sätter det långt över Arduino-klassen. En av dessa funktioner är REPL. REPL står för Read-Evaluate-Print. Med den här funktionen kan du ansluta till ett kort och köra snabbt utan att behöva kompilera eller ladda upp hela koden. Som sådan kan du testa varje del av din kod när du utvecklar dem.
Oavsett vilken av dessa två du väljer för ditt projekt, var säker på vad som tjänar dig bäst. Med det ur vägen, låt oss hoppa in i att bygga blinkexemplet med ESP32 med MicroPython.
Nödvändiga komponenter
För att skapa ett blinkande exempel behöver vi följande komponenter;
- DOIT ESP32 DevKit v1 (1)
- En LED (1)
- 100 Ohm motstånd (1)
- Bygeltrådar
- Brödbräda (1)
Du kan använda någon av de andra ESP32-baserade korten istället för DOIT ESP32 DevKit V1 och du kan välja att arbeta med den inbyggda lysdioden, vilket innebär att du bara behöver ESP32-kortet för den här självstudien. Tidigare blinkade vi ESP32 LED genom att programmera den med Arduino IDE.
Förutom hårdvarukomponenterna kommer vi också att behöva programvara som Thonny IDE