Programmeren met Python op een Raspberry Pi Pico: hoe en wat?

Elwin Hodžić
0

Als gadget voor eenvoudige taken is het goedkopere microcontrollerboard Raspberry Pi Pico interessanter dan de gewone Raspberry Pi. In dit artikel vertellen wij hoe je op de Pi Pico kan programmeren met Python.

Hoe draai ik Python programma’s op de Pi Pico?

Om Python programma’s te draaien voor de Pi Pico die ontwikkeld zijn voor de Raspberry Pi heb je MicroPython-firmware nodig.  Deze firmware is een variant van Python 3 die speciaal voor microcontrollers is ontwikkeld en ook beschikbaar is voor bijvoorbeeld de ESP32.

Hierbij moet je wel rekening houden met het feit dat MicroPython niet volledig compatibel met Python 3 op de Raspberry Pi is. Dit komt omdat er tussen de twee bibliotheken verschillen zijn. Python programma’s voor de gewone Raspberry Pi zou je dus moeten aanpassen voor de Pi Pico. Hiervoor kun je het beste gebruikmaken van de Python-ontwikkelomgeving Thonny.

De Python-ontwikkelomgeving Thonny

Bij Linux zit Thonny vaak in de standaard repository’s van de betreffende distributie, maar die pakketten zijn vaak verouderd. Dan moet je de laatste versie van Thonny uit de Python-package-repository installeren met het commando sudo pip3 install thonny of de flatpak org.thonny.Thonny gebruiken.

In Thonny kun je niet alleen je Pi-programma’s laden en bewerken, maar je kunt ze ook overzetten naar de Pico en uitvoeren. Selecteer daarvoor eerst de Raspberry Pi Pico als ontwikkelplatform rechtsonder in Thonny en activeer Files in het menu View, dan zie je zowel de bestanden op je computer als de programma’s die op de Pi Pico opgeslagen zijn. Het normale bestandsbeheer op je computer is daar niet geschikt voor.

Zodra de MicroPython-firmware geïnstalleerd is, registreert de Pico zich niet meer als usb-opslagapparaat.  Via de bootloader kun je alleen nieuwe firmware uploaden, maar geen bestanden in het geheugen van de Pico beheren.

Een Python programma uitproberen

Om een programma op de Pico uit te proberen, hoef je het niet handmatig te uploaden. Het is voldoende als de Python-code in Thonny open staat. Als je op Run klikt, zet Thonny het vervolgens automatisch over en voert het uit. Wanneer je de code opslaat, vraagt Thonny of je dat op je computer of op de Pico wilt doen. Op de Pico passen meerdere Python-programma’s tegelijk, die je dan kunt openen en uitvoeren in Thonny.

Als er een programma is met de naam main.py, dan zal de MicroPython-firmware dat meteen na het aanzetten automatisch uitvoeren totdat je het stopt door op Stop te klikken in Thonny. Daarna kun je andere code uitvoeren en de bestanden beheren. Op dezelfde manier stop je elk ander programma dat in een eindeloze loop draait of tevergeefs op een gebeurtenis wacht.


Krijg gratis info over Python, programmeren en meer, schrijf je in voor de nieuwsbrief

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.

Verschillen in de Python bibliotheken bij programmeren met Python op een Pi Pico

De grootste verschillen tussen Python op de Raspberry Pi en MicroPython op de Pi Pico zitten in de bibliotheken. In plaats van de bibliotheek RPi.GPIO importeer je op de Pico machine om toegang tot de pinnen te krijgen.

Het grootste probleem zijn echter de fabrikant specifieke bibliotheken. Als die al zijn overgezet naar MicroPython, ontbraken vaak de specifieke aanpassingen voor de Pi Pico. In MicroPython voor de Pi Pico zijn de nodige I2C-busfuncties al opgenomen in de basisbibliotheek machine.

Er zijn echter kleine verschillen bij de namen. Want terwijl je op de Pi met i2c.write_byte_data() een functie van een display aanspreekt, moet je op de Pico i2c. writeto() gebruiken. Om extra data over te sturen, gebruik je in plaats van i2c.write_byte_data() de functie  i2c.writeto_mem().

Een ander belangrijk verschil tussen Python op de Pi en MicroPython op de Pico: zonder een besturingssysteem is er geen multitasking op de microcontroller. Om te kunnen reageren op gebeurtenissen zoals het indrukken van een knop, moet je de interrupt-controller dus opdracht geven de gewenste functie op te roepen.

Je kunt meer te weten komen over dergelijke bijzonderheden door de documentatie van het MicroPythonproject te bekijken.

Conclusie

Dankzij zijn lage prijs en lage energieverbruik verruimt de Pi Pico met MicroPython-firmware je experimenteerhorizon zonder dat je een nieuwe programmeertaal hoeft te leren of volledig nieuwe schakelingen hoeft te ontwerpen.

Wel moet je met een paar factoren rekening houden als je met Python wilt gaan programmeren op een Pi Pico. Zo zijn enkele functies veranderd en zijn de bibliotheken ook net iets anders dan dat je waarschijnlijk gewend bent.

Lees meer over Python in c't 05/2024

Deel dit artikel

Elwin Hodžić
Elwin Hodžić(Web)redacteur bij c't. Ondanks de studie geschiedenis, altijd al een passie gehad voor alles wat met IT te maken heeft. Sleutelt in zijn vrije tijd graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen om een pc zo optimaal mogelijk te laten werken.

Lees ook

Chat GPT gebruiken: dit kun je allemaal doen met de chatbot van OpenAI

OpenAI heeft de ChatGPT-bot ontwikkeld als een taalmodel dat is getraind op een enorme hoeveelheid tekst op het internet. Je kunt ChatGPT gebruiken om...

Smart App Control: Windows 11 beveiligingsfunctie met beperkingen

De beveiligingsfunctie Smart App Control die bij de 2022-update geïntroduceerd is, moet Windows 11 eindelijk veilig maken. Het concept kan werken, maa...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er