MicroPython er en lett versjon av Python-programmeringsspråket utviklet for programmering av mikrokontrollere, SOC-er og andre innebygde systemenheter. Den ble opprettet for å gjøre det mulig for utviklere å utnytte det " enkle å lære og bruke" pythons natur for innebygd systemutvikling. Da Python nå er det viktigste introduksjonsspråket på de fleste skoler, og med at det er et av de mest populære og mest brukte programmeringsspråkene over hele verden, gjennom mikro-python, er mange Python-brukere i stand til å omgå den stressende bratte læringskurven forbundet med bruk av C og C ++ for å programmere mikrokontrollere. De kan umiddelbart begynne å bruke kunnskapen de har tilegnet seg gjennom årene for å få tilgang til maskinvaren på lavt nivå, akkurat som med de andre språkene. Micro-python er spesifikt en mager implementering av Python 3 og er som sådan kompatibel med syntaksen til python 3.
Mens MicroPython ennå ikke er på samme popularitetsnivå som C og C ++ for innebygd systemutvikling, har populariteten økt i takt med at flere og flere mikrokontrollere, IDEer og utviklingstavler støtter bruken. For dagens opplæring vil vi se på et av slike brett som firmware kan utvikles for ved hjelp av MicroPython.
For dagens opplæring vil vi se på å utvikle koden for ESP32 ved hjelp av MicroPython.
Vi begynner med å ta en titt på hvorfor MicroPython er bra for ESP32 og jobbe oss gjennom å sette opp ESP32 for MicroPython og laste opp blinkskissen med MicroPython på ESP32.
Hvorfor MicroPython? (MicroPython vs Arduino C)
En av de velprøvde, enkleste måtene å programmere ESP32 er å bruke Arduino IDE, som betyr bruk av Arduino-versjonen av C eller C ++. C og C ++ har i flere tiår vært de to mest populære språkene for innebygd systemutvikling, og Arduino-versjonen av språket gjorde det enda enklere, noe som utgjør populariteten blant produsenter og hobbyister på grunn av den enkle koden som kan utvikles. I tillegg til dette har Arduino et av de største teknologisamfunnene i verden med nye biblioteker, programvareoppdateringer, ny styrestøtte etc. som blir utgitt av samfunnet daglig. Alle disse gjør det til et formidabelt verktøy for programmering av innebygde systemkort. Den eneste virkelige begrensningen man kunne knytte til Arduino C er det faktum at den bare fungerer innenfor Arduino IDE.Da IDE er begrenset og mangler noen funksjoner som virkelig kan være nyttige når du utvikler en stor kodebase, er Arduino C ikke den mest effektive.
MicroPython er derimot relativt nytt. Mens brukerens fellesskap vokser, med støtte for flere plattformer som frigjøres, kan ikke styrken sammenlignes med Arduino. På oppsiden er MicroPython egentlig en mager versjon av python som er et av de mest populære programmeringsspråkene i verden, og som sådan kan ethvert problem som ikke kan løses av MicroPython-samfunnet ta innsikt fra det generelle pythonsamfunnet.
Bortsett fra samfunnets støtte, har MicroPython også visse funksjoner som setter det langt over Arduino-klassen. En av slike funksjoner er REPL. REPL står for Read-Evaluate-Print. Denne funksjonen lar deg koble til et tavle og utføre koden raskt uten å måtte kompilere eller laste opp hele koden. Som sådan kan du teste hver del av koden din mens du utvikler dem.
Uansett hvilken av disse to du velger for prosjektet ditt, vær sikker på hva som tjener deg best. Med det ute av veien, la oss hoppe inn i å bygge blinkeksemplet ved hjelp av ESP32 med MicroPython.
Nødvendige komponenter
For å bygge blinkeksemplet trenger vi følgende komponenter;
- DOIT ESP32 DevKit v1 (1)
- En LED (1)
- 100 Ohm motstand (1)
- Jumper ledninger
- Brettbrett (1)
Du kan bruke hvilket som helst av de andre ESP32-baserte kortene i stedet for DOIT ESP32 DevKit V1, og du kan velge å jobbe med den innebygde LED-en, noe som betyr at du bare trenger ESP32-kortet for denne opplæringen. Tidligere blinket vi ESP32 LED ved å programmere den ved hjelp av Arduino IDE.
I tillegg til maskinvarekomponentene, vil vi også kreve programvare som Thonny IDE