Débuter en micro python avec le Raspberry Pi PICO W2
Introduction
MicroPython est une implémentation légère du langage de programmation Python, conçue pour fonctionner sur des microcontrôleurs et des systèmes embarqués. Le Raspberry Pi Pico est une carte de développement basée sur le microcontrôleur RP2040, qui prend en charge MicroPython. Dans cet article, nous allons explorer comment débuter en MicroPython avec le Raspberry Pi Pico, en couvrant les étapes d'installation, les bases de la programmation et quelques exemples pratiques pour vous aider à démarrer.
Premier branchement du Raspberry pi Pico 2W
Si c’est la première utilisation du micro-contrôleur, l’espace de stockage devrait directement apparaitre.
Si ce n’est pas le cas, essayez de maintenir le bouton BOOTSEL enfoncé tout en branchant le Pico à votre ordinateur.
Si le Pico est correctement reconnu, vous devriez voir un lecteur de stockage USB nommé "RP350" apparaître sur votre ordinateur.
Cette étape est cruciale pour pouvoir installer MicroPython sur votre Raspberry Pi Pico.
Installation de MicroPython sur le Raspberry Pi Pico 2W
Pour installer MicroPython sur votre Raspberry Pi Pico 2W, suivez ces étapes :
- Téléchargez le firmware MicroPython depuis le site officiel de MicroPython : https://micropython.org/download/RPI_PICO2_W/RPI_PICO2_W-latest.uf2
- Copiez le fichier .uf2 téléchargé dans la mémoire du Raspberry Pi Pico 2W. Le Pico redémarrera automatiquement avec MicroPython installé.
On installe Thonny, un IDE MicroPython multiplateforme
Thonny est un environnement de développement intégré (IDE) spécialement conçu pour les débutants en programmation, et il prend en charge MicroPython. Pour installer Thonny, suivez ces étapes :
- Rendez-vous sur le site officiel de Thonny : https://thonny.org/
- Téléchargez la version de Thonny compatible avec votre système d'exploitation (Windows, macOS ou Linux).
- Installez Thonny en suivant les instructions spécifiques à votre système d'exploitation.
Lancez Thonny. Sur l'interface graphique, vérifiez en bas à droite que vous êtes bien connecté au micro-contrôleur et pas en « local ».
Il suffit sinon de cliquer dessus pour changer et passer sur le Raspberry Pi Pico
Premier programme
Voici un exemple de programme simple en MicroPython pour faire clignoter la LED intégrée du Raspberry Pi Pico 2W :
from machine import Pin
from time import *
led_int = Pin("LED", Pin.OUT)
while True:
led_int.value(1)
sleep_ms(500)
led_int.value(0)
sleep_ms(250)
Creer un servuer web pour controler la led
Voici un exemple de programme en MicroPython pour créer un serveur web simple qui permet de contrôler la LED intégrée du Raspberry Pi Pico 2W via une interface web :
Replacez les valeurs de 'ssid' et 'pw' par les informations de votre réseau Wi-Fi pour que le Pico puisse se connecter à Internet.
import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
import socket
# Set country to avoid possible errors
rp2.country('FR')
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# If you need to disable powersaving mode
# wlan.config(pm = 0xa11140)
# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac ='+ mac)
ssid =''
pw =''
wlan.connect(ssid, pw)
# Wait for connection with 10 second timeout
timeout = 10
while timeout > 0:
if wlan.status() < 0 or wlan.status() >= 3:
break
timeout -= 1
print('Waiting for connection...')
time.sleep(1)
wlan_status = wlan.status()
if wlan_status != 3:
raise RuntimeError('Wi-Fi connection failed')
else:
print('Connected')
status = wlan.ifconfig()
print('ip ='+ status[0])
# HTTP server with socket
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)
print('Listening on', addr)
led = machine.Pin('LED', machine.Pin.OUT)
# Listen for connections
while True:
try:
cl, addr = s.accept()
print('Client connected from', addr)
r = cl.recv(1024)
# print(r)
r = str(r)
led_on = r.find('?led=on')
led_off = r.find('?led=off')
print('led_on =', led_on)
print('led_off =', led_off)
if led_on > -1:
print('LED ON')
led.value(1)
if led_off > -1:
print('LED OFF')
led.value(0)
cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
cl.send('<!DOCTYPE html>')
cl.send('<html>')
cl.send('<head><title>Pico W2</title></head>')
cl.send('<body>')
cl.send('<h1>Controler la LED intégrée </h1>')
cl.send('<a href="?led=on"><button>ON</button></a>')
cl.send('<a href="?led=off"><button>OFF</button></a>')
cl.send('</body>')
cl.send('</html>')
cl.close()
except OSError as e:
cl.close()
print('Connection closed')
Une fois le programme exécuté, vous pouvez accéder à l'interface web en ouvrant un navigateur et en entrant l'adresse IP du Raspberry Pi Pico 2W (affichée dans la console de Thonny). Par exemple : http://192.168.1.18.
Vous verrez une page avec deux boutons "ON" et "OFF" pour contrôler la LED intégrée du Pico. Cliquez sur les boutons pour allumer ou éteindre la LED.