Last Updated on 17 januari 2023 by Syds
In deze tutorial flashen we MicroPython op een Raspberry Pi Pico microcontroller.
Benodigdheden:
- Raspberry Pi Pico
- Micro USB kabel
Stap 1. Download laatste versie van Micropython
Je hebt de firmware voor een Raspberry Pi Pico microcontroller nodig, deze vindt je hier: https://micropython.org/download/rp2-pico/
Kies de meest recente versie van de firmware, in mijn geval was dat versie v1.19.1 (2022-06-18) .uf2. Download de v1.19.1 (2022-06-18) .uf2 file.
Stap 2. Firmware flashen naar de Raspberry Pi Pico
Dit is kinderlijk eenvoudig. Sluit de microcontroller middels een micro USB kabel aan op je computer. De microcontroller wordt automatisch door Windows herkent, en er wordt een extra “drive” zichtbaar in de verkenner genaamd “RPI-RP2”:
Klap de drive open:
Zoek de in stap 1. gedownloade firmware file op, waarschijnlijk onder Downloads. En sleep vervolgens de uf2 file naar je RPI-RP2 drive, in mijn geval drive E:
Je Raspberry Pi Pico is nu geflashed met de laatste versie van MicroPython en wordt automatisch gereset en de drive verdwijnt. We gaan nu een klein testje uitvoeren.
Stap 3. Hello world ! test
Open Putty en maak een seriële verbinding met de Raspberry Pi Pico (Achterhaal eventueel in Apparaatbeheer de COM poort die de Raspberry Pi Pico heeft gekregen)
De REPL van Micropython verschijnt. Typ hierin het commando
MicroPython v1.19.1 on 2022-06-18; Raspberry Pi Pico with RP2040 Type "help()" for more information. >>> print("Hello world!")
MicroPython is alive !
Stap 4. Extra modules installeren
Eigen of publieke micropython modules kun je installeren met de tool MPREMOTE vanaf je PC. Deze installeer je als volgt vanuit de command prompt op je Windows PC:
c:\Users\spost>pip install mpremote
Collecting mpremote
Downloading mpremote-0.4.0-py3-none-any.whl (29 kB)
Requirement already satisfied: pyserial>=3.3 in c:\users\spost\appdata\local\programs\python\python310\lib\site-packages (from mpremote) (3.5)
Installing collected packages: mpremote
Successfully installed mpremote-0.4.0
Om bijvoorbeeld de module “datetime”, wat een equivalent is voor de python module “datetime”, te installeren voer je achtereenvolgende het volgende commando uit op je command prompt:
mpremote connect <COM-port> mip install <package_name>
Alle beschikbare packages vindt je op https://github.com/micropython/micropython-lib. Vervang <COM-port> door de COM-poort waarop je Raspberry Pi Pico is aangesloten, en vervang <package_name> door de naam van je Micropython module/bibliotheek. In mijn geval COM8 respectievelijk “datetime”. Zorg er wel voor dat je je PUTTY sessie hebt beëindigt, anders blokkeert deze je COM-poort.
C:\Users\spost>mpremote connect COM8 mip install datetime
Install datetime
Installing datetime (latest) from https://micropython.org/pi/v2 to /lib
Installing: /lib/datetime.mpy
Done
Stap 5. MicroPython files laden en uitvoeren
Natuurlijk wil je je eigen gemaakte MicroPython code, of code die je ergens op bijv. github hebt gevonden, runnen op je Raspberry Pi Pico. Er zijn tools ontwikkeld die je daarbij helpen. Een daarvan is ampy, deze gebruik ik in deze tutorial. Installeer ampy als volgt. Open een CMD prompt op je laptop, en voer het volgende commando uit:
C:Usersspostpython>pip install adafruit-ampy Collecting adafruit-ampy Downloading adafruit_ampy-1.1.0-py2.py3-none-any.whl (16 kB) Requirement already satisfied: pyserial in c:usersspostappdatalocalprogramspythonpython310libsite-packages (from adafruit-ampy) (3.5) Collecting click Downloading click-8.0.4-py3-none-any.whl (97 kB) ---------------------------------------- 97.5/97.5 KB ? eta 0:00:00 Collecting python-dotenv Downloading python_dotenv-0.19.2-py2.py3-none-any.whl (17 kB) Collecting colorama Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB) Installing collected packages: python-dotenv, colorama, click, adafruit-ampy Successfully installed adafruit-ampy-1.1.0 click-8.0.4 colorama-0.4.4 python-dotenv-0.19.2
Je bent nu klaar om je eerste micropython programma te uploaden naar je Raspberry Pi Pico, terug naar de CMD prompt voer je het volgende commando uit
ampy --port <COM port> put <Micropython file.py>
Vervang <COM-port> door de COM-poort waarop je Raspberry Pi Pico is aangesloten, en vervang <Micropython file.py> door de bestandsnaam van je Micropython source code. In mijn geval COM8 respectievelijk “utils.py” uit de directory C:\Users\spost\python>. Zorg er wel voor dat je je PUTTY sessie hebt beëindigt, anders blokkeert deze je COM-poort.
C:\Users\spost\python>ampy --port COM8 put utils.py
Open opnieuw PUTTY en maak een seriële verbinding met je Raspberry Pi Pico. Als je onderstaande commando’s uitvoert in de RPEL interface zie je dat je MicroPython source file is toevoegd aan de lijst met bestanden.
import os >>> os.listdir() ['lib', 'utils.py'] >>>
Je voert nu de MicroPython code uit met het commando import, dus:
>>> import utils
Om de code bij het opstarten van de ESP32 uit te laten voeren dien je je MicroPython source code bestandsnaam te veranderen in “main.py”, en deze up te loaden met ampy. Bijvoorbeeld nadat je de filenaam op je laptop of linux systeem hebt aangepast.
ampy --port COM8 rm utils.py ampy --port COM8 put main.py