MicroPython

Men hvorfor egentlig bruge MicroPython ? - MicroPython er let og hurtig at implementere. Det er ikke helt så lav-niveau som C,C++ og Arduino. Det betyder at din kode er mere intuitiv og hurtigere at skrive. Omvendt vil man med MicroPython aldrig opnå kode der er så let og hurtig for processor og hukommelse som man kan med C og C++.

MicroPyhon er pakket med fede funktioner. Der er eksempelvis interaktiv prompt REPL(read-eval-print loop), hvilket altså vil sige at du kan skrive kode i prompten live til ESP32. Det vil altså sige at du manuelt kan tænde og slukke for en LED uden at skulle bygge og kompilere din kode. 

Formålet er at kunne være så tæt på kompatibel med almindelig Python kode, for at tilbyde en let overførsel af kode fra skrivebords programmer til indlejret systemer. Det vil altså sige at du som hobbyist kan lave fede mikrocontroller projekter vha. et rigtig dejligt sprog som Python. 

 

INDHOLDSFORTEGNELSE

DOWNLOAD

For at komme igang med MicroPython skal Thonny downloades. Thonny kan hentes på Thonny, Python IDE for beginners. Når du kommer ind på siden er det muligt at downloade Thonny til Windows, Mac eller Linux

THONNY

Installation af Thonny er ret lige til og du kan blot følgende nedenstående guide.

MICROPYTHON

Eftersom Thonny nu er installeret på computeren skal der nu hentes MicroPython firmware fra deres hjemmeside : MicroPython - Python for microcontrollers 
På siden hvor nedenstående billede ses et udsnit af de MicroPython versioner der er tilgængelige. Der kan med fordel vælges den seneste nye stable version, for at sikre stabilitet og knap så mange bugs. Ligeledes får man ved de nyeste versioner også mulighed for at importere flere biblioteker til sine projekter.
Filen downloads ned på din computer/mac. Filen vil blive benyttet til installering af MicroPython i Thonny. 

FIND COM-PORT

Ved installering af MicroPython er det vigtigt at det kan ses hvilken COM-port ESP32'en tilsluttes. For at finde frem til det. Højreklikkes på Windows-ikonet i venstrehjørne --> Enhedshåndtering.

Herefter vælges Porte(COM og LPT). ESP32 vil være navngivet Silicon Labs CP210x USB to UART Bridge (COMX).

INSTALLERING AF MICROPYTHON

For at installere Micropython på din ESP32, skal boardet først kobles til din computer/mac. Herefter trykkes der på Run -> Select interpreter.

 

Herefter vælges MicroPyton(ESP32), i dropdown menuen.

 

Herefter vælges der i den nederste dropdown menu, den COM-Port din ESP32 registres på. Den står med navnet Silicon Labs CP210x USB to UART Bridge. Hvis ikke du kan finde din i menuen. Kan du med fordel gå tilbage til kapitlet FIND COM-PORT

Herefter vælges Port og Firmwaren som vi tidligere har downloadet ned på computeren/mac. Det er vigtigt at enable boksen med Erase flash before installing
Herefter trykkes der blot på install og vinduet vil se ud som nedenstående. Her skal ikke gøres noget før installering er fuldført.

 

KOMPILLERING AF KODE

For at kompillere og køre koden på ESP32. Skal man gemme projektet. Der gøres ved at navigere til File -> Save As.

 Herefter skal der vælges MicroPython device.

Det er vigtigt at du kalder projektet for main.py. MicroPython kører nemlig ved boot, boot.py, som herefter vil lede efter en fil ved navn main.py.
Herefter trykkes der på den grønne knap i toolbaren.

 

HELLO WORLD!

Lad os prøve at lave et simpelt program der tænder og slukker for den indbyggede LED (GPIO2) på ESP32-boardet. Nedenstående kode implementeres i Thonny.

from machine import Pin
from time import sleep

led = Pin(2,Pin.OUT)

for _ in range(1000):
       led.value(1)
       sleep(1)
       led.value(0)
       sleep(1)
Når projektet er gemt trykkes på den grønne knap.

IMPLEMENTERING AF SENSOR

Det er også muligt at tilføje sensorer som DHT11 Temperatur og Luftfugtigheds sensoren. Her viser MicroPython en af sine stærke sider. Det er nemlig ufatteligt nemt at kode. Der skal blot importeres dht og derefter hvilken pin DHT11-sensoren er tilkoblet på ESP32'en. Herefter kaldes blot temperature()- eller humidity()- funktionen alt hefter hvad der ønskes aflæst. Af nedenstående link ses et kodeudsnit og et link med en udførlig dokumentation af netop DHT11 sensoren i sammenspil med MicroPython.

13. Temperature and Humidity — MicroPython 1.17 documentation

from machine import Pin
import dht
import time
 
while True:
    sensor = dht.DHT11(Pin(23))
    sensor.measure()
 
    print('Temperature = %.2f' % sensor.temperature())
    print('Humidity = %.2f' % sensor.humidity())
    time.sleep(3)

Når ovenstående kode kompileres og køres i Thonny er det muligt at aflæse shell. Hvor vi i ovenstående eksempel udskriver temperatur og fugtighed hver 3. sekund.

REPL

Med MicroPython kan der anvendes REPL(read-eval-print loop). Det er et interaktivt programmeringsmiljø. Hvor man kan programmere ESP32'en live, uden at skulle kompilere og bygge. Med andre ord kan man tænde og slukke for den indbyggede LED som man ønsker. Denne feature er meget nyttig til hurtigt at teste kode. Nedenstående video illustrer et par funktioner som kunne være nyttige. Eksempelvis kan den interne temperatur udskrives, så man kan overvåge den.

 

Dokumentation af yderligere features i MicroPython

Af linket, kan en masse dokumentation af opsætning af forskellige drivere, wifi, timere, spi, i2c osv findes:

Getting started with MicroPython on the ESP32 — MicroPython 1.17 documentation 

Skriv kommentar!

Relevante produkter

TS100 digital loddekolbeTS100 digital loddekolbe
TS100 digital loddekolbe
Tilbudspris Fra 599,00 kr
8 på lager
TS80P USB-C Loddekolbe kitTS80P USB-C Loddekolbe kit
TS80P USB-C Loddekolbe kit
Tilbudspris 899,00 kr
Udsolgt :(
Luksus kolberenserLuksus kolberenser
Luksus kolberenser
Tilbudspris 89,00 kr
12 på lager