🛠 Client HTTP : requête GET vers une API

Raspberry Pi Pico 2 W · intermediaire · Schéma : IMG-pico-2-w-intermediaire-5-pico2w-http-client-get.svg — Pico 2 W envoyant une requête HTTP GET vers un serveur distant via la box Internet, réponse JSON affichée en console.

Objectifs

Une fois connecté au Wi-Fi (tutoriel connexion), interroger une API HTTP : construire une requête GET manuelle, lire la réponse, vérifier le code d'état et extraire les données. Le CYW43439 est limité au 2,4 GHz et son débit est borné par le lien SPI ~33 MHz vers le RP2350 : gardez les reponses legeres.

Matériel

Code complet

# main.py - MicroPython : GET HTTP sur le port 80
import network, socket, time

wlan = network.WLAN
wlan.active(True)
if not wlan.isconnected:
    wlan.connect('mon_ssid', 'mon_mot_de_passe')
    while not wlan.isconnected:
        time.sleep_ms(200)

hote = 'httpbin.org'
chemin = '/get'
s = socket.socket
s.connect(socket.getaddrinfo(hote, 80)[0][-1])
s.send(('GET %s HTTP/1.0\r\nHost: %s\r\nConnection: close\r\n\r\n'
        % (chemin, hote)).encode)
entete = s.readline                    # b'HTTP/1.1 200 OK'
print('Statut :', entete.decode.split[1])
while s.readline.strip:              # sauter les entetes
    pass
print('Corps :', s.read(120).decode)
s.close

En C, le pico-examples officiel pico_w/wifi/http_client (picow_http_client.c) fait la même chose avec tcp_new/tcp_write.

Vérification attendue

La console affiche Statut : 200 puis les premiers octets du corps JSON. En coupant le Wi-Fi, la connexion échoue proprement avec une exception ou un code erreur au lieu de bloquer la carte.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels