MicroPython er en letvægtsversion af Python-programmeringssproget udviklet til programmering af mikrocontrollere, SOC'er og andre indlejrede systemenheder. Det blev oprettet for at sætte udviklere i stand til at udnytte det " let at lære og bruge" karakteren af python til udvikling af integrerede systemer. Da Python nu er det vigtigste introduktionssprog i de fleste skoler, og med at det er et af de mest populære og mest anvendte programmeringssprog over hele verden gennem mikro-python, er scoringer af Python-brugere i stand til at omgå den stressende stejle indlæringskurve, der er forbundet med brug af C og C ++ til at programmere mikrokontroller. De kan straks begynde at bruge den viden, de har tilegnet sig gennem årene for at få adgang til hardware på lavt niveau ligesom med de andre sprog. Micro-python er specifikt en tynd implementering af Python 3 og er som sådan kompatibel med syntaxen for python 3.
Mens MicroPython endnu ikke er på samme popularitetsniveau som C og C ++ til indbygget systemudvikling, har dets popularitet været stigende med flere og flere mikrokontrollere, IDE'er og udviklingskort, der understøtter brugen. Til dagens vejledning ser vi på et af sådanne kort, for hvem firmware kan udvikles ved hjælp af MicroPython.
Til dagens vejledning vil vi undersøge udviklingen af koden til ESP32 ved hjælp af MicroPython.
Vi starter med at se på, hvorfor MicroPython er godt for ESP32, og vi arbejder os igennem opsætning af ESP32 til MicroPython og uploade blinkskitse med MicroPython på ESP32.
Hvorfor MicroPython? (MicroPython vs Arduino C)
En af de velprøvede, nemmeste måder at programmere ESP32 er ved hjælp af Arduino IDE, hvilket betyder brugen af Arduino-versionen af C eller C ++. C og C ++ har i årtier været de to mest populære sprog til integreret systemudvikling, og Arduino-versionen af sproget gjorde det endnu enklere, hvilket tegner sig for dets popularitet blandt producenter og hobbyister på grund af den lethed, hvormed koder kan udvikles. Derudover har Arduino et af de største teknologiske samfund i verden med nye biblioteker, softwarefixes, ny kortstøtte osv., Der dagligt frigives af samfundet. Alle disse gør det til et formidabelt værktøj til programmering af indlejrede systemkort. Den eneste virkelige begrænsning, man kunne knytte til Arduino C, er, at den kun fungerer inden for Arduino IDE.Da IDE er begrænset og mangler nogle funktioner, som virkelig kan være nyttige, når man udvikler en stor kodebase, er Arduino C ikke den mest effektive.
MicroPython er derimod relativt nyt. Mens brugerens samfund vokser med support til flere platforme, der frigives, kan dets styrke ikke sammenlignes med Arduino's. På toppen er MicroPython i det væsentlige en magert version af python, som er et af de mest populære programmeringssprog i verden, og som sådan kan ethvert problem, der ikke kan løses af MicroPython-samfundet, tage indsigt fra det generelle pythonsamfund.
Bortset fra samfundsstøtten har MicroPython også visse funktioner, der sætter det langt over Arduino-klassen. En af disse funktioner er REPL. REPL står for Read-Evaluate-Print. Denne funktion giver dig mulighed for at oprette forbindelse til et kort og udføre kode hurtigt uden behov for at kompilere eller uploade hele koden. Som sådan kan du teste hver del af din kode, når du udvikler dem.
Uanset hvilken af disse to du vælger til dit projekt, skal du være sikker på, hvad der tjener dig bedst. Med det ude af vejen, lad os hoppe ind i opbygningen af blinkeksemplet ved hjælp af ESP32 med MicroPython.
Nødvendige komponenter
For at opbygge blinkeksemplet har vi brug for følgende komponenter;
- DOIT ESP32 DevKit v1 (1)
- En LED (1)
- 100 Ohm modstand (1)
- Jumper ledninger
- Brødbræt (1)
Du kan bruge et hvilket som helst af de andre ESP32-baserede kort i stedet for DOIT ESP32 DevKit V1, og du kan vælge at arbejde med den indbyggede LED, hvilket betyder, at du kun har brug for ESP32-kortet til denne vejledning. Tidligere blinkede vi ESP32 LED ved at programmere den ved hjælp af Arduino IDE.
Udover hardwarekomponenterne vil vi også kræve software som Thonny IDE