Tout sur le Raspberry Pi Pico W

Aujourd'hui, 30 juin 2022, à 8 heures du matin, heure du Royaume-Uni, Raspberry Pi a publié la brochure intitulée Pico W.

Voici tout (ce que nous savons) sur le tout dernier Raspberry Pi.

Contenu cacher

Cette nouvelle variante du Pico bien-aimé possède des capacités sans fil grâce à la puce sans fil CYW43439.
Tout comme le Pico, au cœur de chaque Pico W est RP2040, qui est la première puce en silicium de Raspberry Pi.

Pour couronner le tout, Raspberry Pi a également sorti les variantes Pico H et Pico WH.

Note : si vous cherchez à réserver un accélérateur USB Raspberry Pi 4 / 4 GB ou Pi 4 / 8 GB ou Coral, et que vous êtes situé dans l'UE + Suisse, jetez un œil à notre toute nouvelle fonctionnalité PiCockpit, la Outil de réservation Raspberry Pi - un par client, et vous êtes dans une file d'attente équitable au lieu de devoir vous précipiter lorsque les Pis se libèrent. Si suffisamment de personnes nous le demandent, nous pourrions également rendre le Pico W disponible à la réservation.

Variantes du Raspberry Pi Pico

VariantePrix Des collecteurs ?Sans fil ?Libération (M/AA)
Pico$4NonNon1/21
Pico H$5OuiNon6/22
Pico W$6NonOui6/22
Pico WH$7OuiOuiDans le courant de l'année 2022

Pico H - $5 - Un Pico Raspberry Pi avec des connecteurs pré-soudés.

Pico W - $6 - Un Pico Raspberry Pi avec un système sans fil

Pico WH - $7 - Un Pico Raspberry Pi avec des connecteurs sans fil et pré-soudés.

Les Pico H et Pico W sont sortis le 30 juin 2022, tandis que le Le Pico WH sortira en août 2022..

La date de sortie du Pico WH a été mise à jour et se situe "plus tard cette année", en 2022. Alasdair Allen de Raspberry Piqui a déclaré : "Plus tard dans l'année, vous verrez probablement l'arrivée du Pico WH, et je pense que vous pouvez découvrir ce que c'est par vous-mêmes".

Voici une mise à jour sur le Pico WH en octobre. J'ai reçu une mise à jour d'Alasdair Allen qui a dit,

"Il est terriblement proche d'être sorti [...] et il devrait sortir "à tout moment maintenant". Nous voulions être sûrs d'avoir un volume décent avant de le pousser vers la sortie pour que les gens puissent facilement l'acheter."

Dans cet article, nous allons expliquer les similitudes et les différences entre le Pico W et le Pico. Bien sûr, nous présenterons également quelques projets de Pico W.

Le Pico H est-il simplement un Pico traditionnel avec des connecteurs pré-soudés ?

Raspberry Pi Pico vs Pico H. La principale différence réside dans les têtes de débogage SWD.

En gros, oui.

Mais il y a une légère différence au niveau des têtes de débogage SWD et il n'y a pas de castellation (trous en demi-cercle sur le bord) sur les broches.

Pour utiliser l'embase de débogage SWD sur le Pico H, vous devez utiliser ces connecteurs : Connecteur JST 'SH' à 3 broches au pas de 1,0 mm, de type BM03B-SRSS-TB (entrée supérieure) ou SM03B-SRSS-TB (entrée latérale), ou des alternatives compatibles.

Les broches de terre sont aussi nettement carrées sur le Pico H, au lieu d'être un trou rond ordinaire.

Où puis-je acheter un Pico W ?

Prenez votre Pico W dans notre magasin.

Contenu cacher

Pour un aperçu rapide, regardez cette vidéo.

Matériel informatique

Interface sans fil Pico W (CYW43439)

Le CYW43439 d'Infineon prend en charge le réseau local sans fil IEEE 802.11 b/g/n et Bluetooth 5.2. Au lancement, seul le LAN sans fil sera pris en charge.

Contrairement au Raspberry Pi 4, le Pico W ne dispose que du Wi-Fi 4 à bande unique de 2,4 GHz. Le Pi 4 dispose d'un Wi-Fi bi-bande 2,4/5 GHz, mais en ce qui concerne le Bluetooth, le Pico W surpasse le fleuron du Raspberry Pi, qui ne dispose que du Bluetooth 5.0. Le CYW43439 prend en charge BLE et une antenne unique partagée entre le Wi-Fi et le Bluetooth.

Note Le Bluetooth n'est pas encore disponible. Il sera probablement ajouté dans une future mise à jour du firmware.

Si vous regardez de plus près le Pico W, vous remarquerez l'antenne PCB en forme de triangle, similaire à celle du Raspberry Pi 4. Le Raspberry Pi utilise une antenne embarquée sous licence ABRACON.

Antenne PCB
Antenne PCB

Cela signifie qu'aucune antenne supplémentaire n'est nécessaire. L'interface sans fil est connectée via SPI au RP2040.

Selon la fiche technique officielle, l'Infineon CYW43439 présente également les caractéristiques suivantes :

- WiFi 4 (802.11n), mono-bande (2,4 GHz)
- WPA3
- SoftAP (jusqu'à 4 clients)

La fiche technique officielle suggère également que pour de meilleures performances sans fil, vous devez placer l'antenne dans un espace libre.

Le fait de placer du métal sous ou à proximité de l'antenne peut réduire ses performances en termes de gain et de bande passante.

Cependant, l'ajout de métal mis à la terre sur les côtés de l'antenne peut améliorer la bande passante de l'antenne.

Le Pico W peut-il être transformé en point d'accès WiFi ?

Oui, car son Infineon CYW43439 supporte le SoftAP (jusqu'à 4 clients).

En fait, vous pouvez également transformer le Pico W en un portail captif !

Suivez le tutoriel ci-dessous.

raspberry pi pico w captive portal set up

Matériel de traitement

À l'exception de l'interface sans fil, le matériel est presque identique au Pico original.

  • Microcontrôleur RP2040 avec 2MB de mémoire flash
  • Interfaces sans fil intégrées à bande unique de 2,4 GHz (802.11n)
  • Port Micro USB B pour l'alimentation et les données (et pour la reprogrammation de la flash)
  • Circuit imprimé 40 broches 21mmx51mm style 'DIP' de 1mm d'épaisseur avec des broches à trou traversant de 0,1″ également avec des créneaux de bord.
  • Expose 26 E/S polyvalentes de 3,3 V (GPIO).
  • 23 GPIO sont uniquement numériques, dont trois sont également capables d'ADC.
  • Peut être monté en surface comme un module
  • Port ARM de débogage par fil série (SWD) à 3 broches
  • Une architecture d'alimentation simple mais très flexible
  • Diverses options permettant d'alimenter facilement l'unité à partir d'un micro USB, d'une alimentation externe ou de piles.
  • Cortex M0+ à double cœur jusqu'à 133MHz
  • La PLL intégrée permet de varier la fréquence du noyau
  • SRAM haute performance multibanque de 264 kByte
  • Flash Quad-SPI externe avec eXecute In Place (XIP) et cache sur puce de 16kByte
  • Tissu de bus haute performance à barres transversales complètes
  • USB1.1 intégré (périphérique ou hôte)
  • 30 E/S multifonctions à usage général (quatre peuvent être utilisées pour l'ADC)
  • 1,8-3,3V Tension E/S
  • Convertisseur analogique-numérique (CAN) 12 bits 500 kps
  • Divers périphériques numériques
  • 2 × UART, 2 × I2C, 2 × SPI, 16 × canaux PWM
  • 1 × minuterie avec 4 alarmes, 1 × horloge en temps réel
  • 2 × blocs d'E/S programmables (PIO), 8 machines à états au total

Le brochage externe est presque identique à celui du Raspberry Pi Pico.

Brochage du Pico W
Brochage du Pico W

La seule différence réside dans les broches de débogage LED et SWD.

La LED embarquée est contrôlée par la broche WL_GPIO0 de la puce Infineon 43439. Sur le Pico, la LED était connectée à la broche GPIO 25.

De plus, les broches de débogage SWD ont été déplacées vers le centre de la carte, afin de créer de l'espace pour l'antenne du PCB. Vous pouvez les trouver entre le RP2040 et le CYW43439 et l'ordre de gauche à droite est toujours SWCLK, GND, SWDIO.

Logiciel

Comme le Pico W est basé sur la puce RP2040, vous pouvez le programmer comme le Pico. Cela signifie que vous pouvez le programmer en C/C++ et MicroPython et que le code écrit pour le Pico (qui n'utilise pas la LED intégrée) devrait fonctionner sur le Pico W.

Le Raspberry Pi fournit un Se connecter à l'Internet avec Raspberry Pi Pico W" (en anglais) pour C/C++ et MicroPython. Pour faciliter vos débuts avec le Pico W, nous avons également rassemblé quelques projets d'exemple.

C/C++ et le Pico-SDK

Il existe un mise à jour du Pico-SDK pour activer les capacités sans fil de votre Pico W. La configuration et l'utilisation sont exactement les mêmes que pour le Pico. Regardez notre vidéo pour commencer à utiliser le Pico W et C/C++.

Le site Pico-SDK mis à jour contient également quelques exemples pour une utilisation sans fil.

MicroPython et Thonny

La manière la plus pratique d'utiliser MicroPython avec le Pico W est d'utiliser l'IDE Thonny. Raspberry Pi a publié une nouveau portage MicroPython pour le Pico W.

Note MicroPython est spécifique à chaque carte. Il existe donc des versions différentes (et incompatibles) de MicroPython pour le Pico et le Pico W. Veillez à toujours utiliser la version correcte pour votre carte.

Cela dit, la façon de programmer le Pico W est exactement la même, donc si vous avez déjà utilisé le Pico avec MicroPython, cela devrait être un jeu d'enfant.

Pico H et Pico WH

Comme nous l'avons mentionné, Raspberry Pi a également sorti le Pico H et le Pico WH. Le 'H' ajouté au nom signifie qu'il est livré avec des connecteurs présoudés. Le Pico H est identique à notre Pico Comfort, mais pour les broches de débogage SWD, Raspberry Pi utilise un connecteur de débogage JTAG horizontal. Le Pico WH utilisera probablement les deux mêmes rangées de connecteurs 1×20 et un connecteur vertical pour les broches de débogage.

Démarrer avec le Raspberry Pi Pico W

Cette section présente des astuces et des modèles simples qui vous aideront à démarrer avec votre Raspberry Pi Pico W.

Brochage du Raspberry Pi Pico W

Brochage du Raspberry Pi Pico W (image de la fiche technique officielle)

Flashing du MicroPython UF2

Une tâche fondamentale de configuration que vous devrez effectuer est de flasher le MicroPython UF2 sur votre Pico W.

D'abord, télécharger le fichier UF2 spécialement conçu pour le Raspberry Pi Pico W ici. Alternativement, vous pouvez trouver les constructions nocturnes ici.

Notez que vous ne pouvez pas utiliser l'UF2 du Raspberry Pi Pico original.

Appuyez sur le bouton BOOTSEL et maintenez-le enfoncé, puis branchez votre USB dans le Raspberry Pi Pico W.
Appuyez sur le bouton BOOTSEL et maintenez-le enfoncé, puis branchez votre USB dans le Raspberry Pi Pico W.

Pour télécharger le fichier UF2, vous devrez appuyer sur le bouton BOOTSEL et le maintenir enfoncé, puis brancher l'USB.

Vous verrez un nouveau volume appelé RPI-RP2 dans votre explorateur de fichiers.

Copiez le fichier UF2 sur ce lecteur.

Il se déconnectera automatiquement lors du téléchargement.

Voilà, c'est fait ! Votre Raspberry Pi Pico W est maintenant prêt à accepter du code MicroPython.

Passons à l'étape suivante...

Installation de l'IDE Thonny

Thonny qui dirige notre projet pour débutants (voir ci-dessous)

Le moyen le plus simple d'exécuter du code MicroPython et d'accéder à un shell sur le Raspberry Pi Pico W est d'utiliser l'IDE Thonny.

Thonny est livré par défaut sur le système d'exploitation Raspberry Pi. Cependant, vous pouvez l'installer sur votre ordinateur principal pour plus de commodité.

Voici comment procéder : allez sur https://thonny.org/ et vous pourrez trouver les dernières versions sur la page d'accueil.

Vous serez probablement accueilli par une fenêtre pop-up vous demandant d'effectuer la mise à jour. Allez-y.

La mise à jour a fonctionné correctement lorsque j'ai exécuté Thonny sur mon système d'exploitation Raspberry Pi, mais sous Windows, l'erreur suivante s'est produite : " SSL : CERTIFICATE_VERIFY_FAILED ".

Vous pouvez résoudre ce problème en téléchargeant ce certificat (https://letsencrypt.org/certs/lets-encrypt-r3.der), puis faites un clic droit sur le fichier téléchargé et "Installer le certificat" et vous ne rencontrerez plus cette erreur.

Assurez-vous que vous avez choisi "MicroPython (Raspberry Pi Pico)"dans le coin inférieur droit.

Téléchargement de fichiers sur votre Raspberry Pi Pico W

Téléchargez les fichiers sur votre Raspberry Pi Pico W en cliquant sur Télécharger vers /

Voici comment vous pouvez télécharger vos fichiers MicroPython sur le Raspberry Pi Pico W avec Thonny.

Branchez votre Raspberry Pi Pico W.

À Thonny, allez à Vue > Fichiers.

Vous verrez deux sections. Les fichiers sur votre ordinateur en haut et les fichiers sur le Raspberry Pi Pico W.

Faites un clic droit sur les fichiers que vous voulez télécharger et sélectionnez Télécharger vers /

Clignotement de la DEL de la carte

Une différence fondamentale entre le Raspberry Pi Pico original et le Pico W est la manière de faire clignoter la LED intégrée.

Auparavant, vous contrôliez la LED en utilisant ce code :

led = machine.Pin(25, machine.Pin.OUT)

Cependant, sur le Raspberry Pi Pico W, vous utiliseriez "LED" plutôt que 25.

led = machine.Pin('LED', machine.Pin.OUT)

Donc, pour faire clignoter la LED de la carte, vous devez écrire ce code :

import machine
import time

led = machine.Pin('LED', machine.Pin.OUT)

while (True):
    led.on()
    time.sleep(.2)
    led.off()
    time.sleep(.2)
   

Enregistrer sous main.py et il sera automatiquement lancé lorsque le Pico W sera mis sous tension.

Se connecter au WiFi

Vous trouverez ci-dessous un code simplifié qui vous permettra de

  • Se connecter au WiFi
  • Délai de 10 secondes
  • Imprimer "Waiting for connection" lors de la connexion au réseau défini dans les variables ssid et pw
  • Allumez la LED embarquée lorsque la connexion est réussie
import network
import time

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

ssid = "insert-your-SSID-here"
pw = "insert-your-pw-here"

wlan.connect(ssid, pw)

def light_onboard_led():
    led = machine.Pin('LED', machine.Pin.OUT)
    led.on();

timeout = 10
while timeout > 0:
    if wlan.status() >= 3:
        light_onboard_led()
        break
    timeout -= 1
    print('Waiting for connection...')
    time.sleep(1)
   
wlan_status = wlan.status()

Dans un projet du monde réel, il serait préférable de créer un fichier séparé (par exemple, secrets.py) et stocker le ssid et pw là, puis l'importer dans le fichier principal.

Il n'y a pas non plus beaucoup de retour d'information avec ce code, ni de gestion des erreurs. Si vous réussissez, vous obtenez une LED allumée. Dans le cas contraire, il n'y a pas de retour d'information.

Voici donc une façon plus élégante de se connecter à un réseau.

Le code suivant s'ajuste aux différences régionales dans le rp2.country("DE"). Remplacez cette valeur par votre pays, par exemple "GB", "US", etc.

Lorsque vous vous connectez avec succès à un réseau WiFi, vous verrez trois clignotements de la LED embarquée lors de la connexion. Tout autre nombre de clignotements signifiera autre chose, en fonction du nombre de clignotements suivants :

# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

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)

# Other things to query
# print(wlan.config('channel'))
# print(wlan.config('essid'))
# print(wlan.config('txpower'))

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['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)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)
    
# Handle connection error
# Error meanings
# 0  Link Down
# 1  Link Join
# 2  Link NoIp
# 3  Link Up
# -1 Link Fail
# -2 Link NoNet
# -3 Link BadAuth

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])

secrets.py

secrets = {
    'ssid': 'your-ssid',
    'pw': 'your-pw',
    }

Servir une page web sur l'IP locale

Afin de servir une page web en utilisant le Raspberry Pi Pico W, vous aurez besoin de trois fichiers.

  • main.py - l'essentiel du code (qui s'exécute automatiquement sur le Pico W)
  • secrets.py - contenant le ssid et le pw
  • index.html - contenant la page web qui sera servie

main.py se connectera à votre réseau WiFi, défini dans secrets.py. Ensuite, il ouvrira un socket qui écoutera toute connexion au Raspberry Pi Pico W.

Si quelqu'un se connecte, il délivrera la page web, nommée index.html.

Voici le code pour main.py et index.html. secrets.py peut être reprise de l'exemple précédent.

main.py

import rp2
import network
import ubinascii
import machine
import urequests as requests
import time
from secrets import secrets
import socket

# Set country to avoid possible errors
rp2.country('DE')

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

# See the MAC address in the wireless chip OTP
mac = ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
print('mac = ' + mac)

# Load login data from different file for safety reasons
ssid = secrets['ssid']
pw = secrets['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)

# Define blinking function for onboard LED to indicate error codes    
def blink_onboard_led(num_blinks):
    led = machine.Pin('LED', machine.Pin.OUT)
    for i in range(num_blinks):
        led.on()
        time.sleep(.2)
        led.off()
        time.sleep(.2)

wlan_status = wlan.status()
blink_onboard_led(wlan_status)

if wlan_status != 3:
    raise RuntimeError('Wi-Fi connection failed')
else:
    print('Connected')
    status = wlan.ifconfig()
    print('ip = ' + status[0])
    
# Function to load in html page    
def get_html(html_name):
    with open(html_name, 'r') as file:
        html = file.read()
        
    return html

# 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)

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('Client connected from', addr)
        response = get_html('index.html')
        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(response)
        cl.close()
        
    except OSError as e:
        cl.close()
        print('Connection closed')

index.html

<!DOCTYPE html>
<html>
    <head>
        <title>Pico W</title>
    </head>
    <body>
        <h1>Pico W</h1>
    
    </body>
</html>

Diffusion d'un réseau WiFi (point d'accès SoftAP)

J'écris ces lignes au milieu du mois de juillet 2022, donc les choses évoluent rapidement.

Si vous n'avez pas flashé votre Raspberry Pi Pico W avec la dernière version de MicroPython UF2, faites-le maintenant car les ingénieurs de Raspberry Pi sont en train de le mettre à jour en ce moment même. Obtenez la dernière version ici.

La dernière nightly build, publiée le 15 juillet, comporte plusieurs mises à jour. Tout d'abord, elle vous permet de sécuriser votre réseau WiFi avec un mot de passe (auparavant, cette fonction n'était pas disponible).

Il y a quelques bogues. Par exemple, je n'ai pas pu changer le nom du SSID en arrêtant et en exécutant le script dans Thonny. J'ai dû faire une réinitialisation plus difficile en retirant l'USB du Pico W.

La partie cruciale pour configurer un point d'accès est ce segment ici :

import network
import machine

ssid = '<your-ap-name>'
password = '<your-pw>'

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())
Point d'accès diffusé par le Raspberry Pico W. Si vous ne voyez pas votre point d'accès tel que vous l'avez nommé, essayez de débrancher la prise USB et de remettre le Pico W sous tension.

Voici un résumé complet du responsable de la documentation de Raspberry Pi, Alasdair Allen.ce qui fait de votre Pico W un point d'accès avec SSID MicroPython-APmot de passe 123456789.

Lorsque vous vous y connectez, il envoie une page web avec "Hello from Pico W".

import socket
import network
import machine

ssid = 'MicroPython-AP'
password = '123456789'

led = machine.Pin("LED",machine.Pin.OUT)

ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password)
ap.active(True)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())

html = """<!DOCTYPE html>
<html>
    <head> <title>Pico W</title> </head>
    <body> <h1>Pico W</h1>
        <p>Hello from Pico W.</p>
    </body>
</html>
"""

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)

print('listening on', addr)
led.off()

# Listen for connections
while True:
    try:
        cl, addr = s.accept()
        print('client connected from', addr)
        request = cl.recv(1024)
        led.on()
        print(request)

        cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
        cl.send(html)
        cl.close()
        led.off()

    except OSError as e:
        cl.close()
        print('connection closed')

Tutoriels pour débutants sur Raspberry Pi Pico W

Nous avons compilé quelques tutoriels pour débutants afin de vous aider à vous familiariser avec le Raspberry Pi Pico W.

Méga tutoriel sur le Raspberry Pi Pico W

Tutoriel sur les composants de raspberry pi pico w

Pour les débutants absolus disposant d'un kit de composants, ce tutoriel vous aidera à interagir avec vos composants sans fil.

Ce tutoriel est spécifiquement axé sur le Pico W, ce qui signifie qu'il tente d'utiliser le module WiFi autant que possible. Ainsi, au lieu de boutons, nous utiliserons un navigateur web avec des boutons virtuels pour contrôler les LEDs, les buzzers. Nous utiliserons un navigateur pour afficher les données de température et de distance au lieu d'un écran LCD.

CLIQUEZ ICI : Tutoriel sur les composants du Raspberry Pi Pico W pour les débutants

Contrôler la LED intégrée du Pico W avec un serveur web

Raspberry Pi Pico W contrôle les LED embarquées avec un serveur web

Il s'agit du tutoriel le plus basique qui vous aidera à comprendre comment connecter votre Raspberry Pi Pico W au WiFi, lancer un serveur web et contrôler la LED embarquée avec le serveur web.

Une page web sera servie avec un bouton "on/off" qui peut être utilisé pour contrôler la LED embarquée.

Ce tutoriel constitue la base de nombreux autres projets qui nécessitent une commande à distance par WiFi.

CLIQUEZ ICI : Contrôlez la LED embarquée du Pico W avec un service webr

Streamer les données des capteurs via un serveur web sur le Raspberry Pi Pico W

Tutoriel Raspberry Pi Pico W pour le streaming des données de capteurs

En utilisant l'accéléromètre ADXL343, ce tutoriel vous montrera comment mettre à jour dynamiquement les lectures sur une page web qui est servie par votre Raspberry Pi Pico W.

La page web se met à jour toutes les secondes lorsqu'un client visite l'adresse IP du Pico W. Il y a également une fonction de dé numérique qui est activée lorsque l'ADXL343 est touché.

Vous apprendrez à utiliser les bibliothèques, à configurer le WiFi, à servir une page Web et à afficher les valeurs du capteur sur la page Web.

CLIQUEZ ICI : Streaming de données de capteurs par WiFi avec Raspberry Pi Pico W

Tutoriel sur la sonnette Wi-Fi Raspberry Pi Pico W (requêtes HTTP et IFTTT)

Le Raspberry Pi Pico W projette une sonnette d'entrée et une notification en WiFi

Ce tutoriel vous apprendra à utiliser le Raspberry Pi Pico W pour lancer une requête HTTP.

Nous allons utiliser un bouton pour simuler une sonnette. Lorsqu'il sera pressé, le bouton déclenchera le Pico W pour toucher le point de terminaison d'IFTTT, qui déclenchera ensuite une notification par courriel ou une notification de l'application.

CLIQUEZ ICI : Tutoriel sur la sonnette Wi-Fi Raspberry Pi Pico W (requêtes HTTP et IFTTT)

Station météo à distance Raspberry Pi Pico W (alimentation solaire et SoftAP)

Station météo softap Raspberry Pi Pico W

Dans ce tutoriel, apprenez à diffuser un point d'accès SoftAP qui transmet les données d'une station météo sans fil et à l'alimenter avec de l'énergie solaire !

CLIQUEZ ICI : Station météo à distance Raspberry Pi Pico W (alimentation solaire et SoftAP)

Contrôlez votre Pico W sans fil avec PiCockpit !

Vous pouvez contrôler et obtenir des données de votre Pico W sans fil en utilisant PiCockpit.

PiCockpit vous permet d'obtenir des valeurs, de contrôler et d'utiliser le PWM à travers une interface graphique via son applet GPIO.

Vous pouvez également voir les statistiques de votre Pico W grâce à l'applet PiStats.

L'intégration de PiCockpit dans votre Pico W est très simple.

Suivez ce tutoriel.

Écrire encore moins de code avec PiCockpit et le Pico W

PiCockpit vous permet de contrôler facilement vos broches GPIO sans avoir à écrire le moindre code.

Si vous regardez tutoriel numéro 2Remarquez la quantité de code nécessaire pour faire basculer une LED.

Grâce à notre nouvelle intégration du Pico W, PiCockpit vous facilite grandement la tâche puisque vous n'avez pas à programmer quoi que ce soit. Pas même la configuration du WiFi, qui est effectuée par notre assistant de configuration.

10. Contrôle simple des LED avec PiCockpit et Pico W

Si vous avez configuré votre LED exactement comme je l'ai fait dans le tutoriel n°2, il ne vous reste plus qu'à la configurer sur PiCockpit.

Si vous codifiez, vous déclarerez sur quelle broche se trouve votre LED en utilisant led = machine.Pin(2, machine.Pin.OUT)

Sur PiCockpit, vous devez aller dans votre applet GPIO, et faire défiler jusqu'à "GPIO Output (On/Off)".

Choisissez BCM02 dans le menu déroulant car votre LED est sur GPIO 2.

Ensuite, dans la colonne "Contrôle", basculez l'interrupteur pour allumer la LED.

Vous pouvez aussi facilement utiliser la section PWM du logiciel ci-dessous pour contrôler la luminosité de votre LED.

Notez que vous devrez supprimer le paramètre précédent car vous ne pouvez pas avoir deux sorties sur le même GPIO.

Lorsque vous faites basculer le curseur "Contrôle", vous remarquerez que la luminosité de la LED change.

télécommande picockpit gpio pwm

11. Pico W, ventilateur 5V et un transistor, contrôlé par PiCockpit

Essayons quelque chose d'un peu plus complet mais en utilisant la même bascule de sortie GPIO.

Pour illustrer certains cas d'utilisation réels, je vais alimenter un ventilateur 5V en utilisant PiCockpit.

Il s'agit d'un ventilateur 5V à faible puissance provenant de mon Raspberry Pi 4, ce qui correspond bien aux capacités de sortie du Raspberry Pi Pico W.

Cela dit, comme il s'agit d'un ventilateur 5V, je ne peux pas utiliser une broche GPIO. Pour les composants moins gourmands en énergie, comme une LED, vous pouvez faire en sorte que le GPIO fasse double emploi en alimentant le composant et en étant le "commutateur" qui l'allume et l'éteint.

Mais le ventilateur 5V nécessiterait une tension trop élevée. Donc, la meilleure solution suivante est de mettre un transistor au milieu.

Cela me permet de fournir 5V au ventilateur, tout en m'assurant que je peux l'allumer et l'éteindre.

Encore une fois, grâce à PiCockpit, je n'ai fait aucune programmation. Je n'ai fait que le matériel, qui est câblé comme suit :

Le ventilateur est un ventilateur 5V/0.12A, connecté à 5V sur l'extrémité positive (fil rouge), et le fil négatif va à la patte émettrice du transistor.

Le transistor est un transistor PN2222 (NPN), ce qui signifie qu'il s'allume lorsqu'il reçoit un signal élevé.

De gauche à droite, la partie en demi-cercle étant tournée vers l'extérieur, les jambes sont l'émetteur, la base et le collecteur.

La patte Base est connectée à une résistance de 1K, puis connectée à GPIO 15.

La branche du collecteur est connectée à la masse.

Configuration de PiCockpit pour travailler avec un transistor

Encore une fois, super facile.

Allez dans le menu déroulant de la section GPIO Output et ajoutez BCM15.

Une fois qu'il est en place, vous pouvez cliquer sur la flèche vers le bas et changer les noms d'état en "ventilateur éteint" et "ventilateur allumé".

Basculez l'interrupteur de commande et vous devriez voir le ventilateur se mettre en marche.

Vous pouvez également utiliser PiStats pour voir la baisse des températures sur votre carte.

Projets Pico W

Avec le Raspberry Pi Pico W, vous pouvez faire tout ce que vous pouvez faire avec le Pico. Mais vous pouvez l'améliorer en ajoutant un contrôle ou une sortie sans fil.

La plupart des projets requièrent du matériel supplémentaire, c'est pourquoi nous avons prévu de vous couvrir avec notre Kits Pico.

Burgerbot : mise à niveau d'un Pico ordinaire

Kevin McAleer a construit un Burgerbot avec le Pico ordinaire et lorsque le Pico W est sorti, il a saisi l'occasion de le mettre à niveau.

Dans sa vidéo YouTube, il explique comment il utilise le Pico W, Node-Red et a mis à jour son code afin de connecter le Pico W au Burgerbot via MQTT.

Kevin a choisi Node-Red pour construire un tableau de bord et programmer ses messages MQTT parce qu'il rend le processus plus facile.

pico w robot kevin mcaleer burgerbot
Burgerbot de Kevin McAleer (capture d'écran de YouTube).

randomisateur d'images de chatons sur papier électronique

Placekitten est un site Web qui héberge des images de chats mignons à utiliser comme espace de remplacement pour les concepteurs de sites Web.

Phil Howard a réussi à faire en sorte que le Pico W fasse un ping sur le site Web de Placekitten et charge une photo aléatoire d'un chat sur son écran à encre électronique.

Capture d'écran de Placekitten, où vous pouvez obtenir des photos de chats en envoyant une URL.

Pimoroni fabrique le Pico Inky Pack qui est un écran e-ink de 2,9″ qui s'adapte parfaitement à un Pico W (avec les headers soudés).

Une fois connecté au WiFi, Phil a envoyé une URL afin d'obtenir une image à afficher sur l'écran e-ink. Le Pico Inky a un affichage de 296x128px, ce qui signifie que si vous utilisiez l'url http://placekitten.com/296/128vous obtiendrez une image qui s'intègre parfaitement à l'écran.

Faites en sorte que vos plantes vous envoient des SMS

Lorsque vos amis ont soif, ils vous envoient un SMS pour vous demander si vous voulez aller boire un verre.

Pourquoi ne pas faire la même expérience avec vos plantes d'intérieur ?

C'est exactement ce que Sandeep Mistry a fait avec le Raspberry Pi Pico W, le kit de culture Pimoroni et l'API SMS Twilio.

Plus fondamentalement, la plante vous dira quand elle a besoin d'eau. Le capteur émet un signal d'impulsion numérique dont la fréquence est comprise entre 1 Hz et 30 Hz. Si elle est sèche, la fréquence sera élevée, ce qui déclenchera l'envoi d'un message par le Pico W à l'API SMS Twilio.

Consultez le guide complet ici.

Raspberry Pi Pico W vs Espressif ESP32

Le Raspberry Pi Pico W a changé la donne.

Lorsque nous avons comparé le Raspberry Pi Pico à l'ESP32, nous avons choisi le PICO-KIT parce qu'il avait le facteur de forme le plus similaire au Pico.

Le grand avantage de l'ESP32 par rapport au Pico W est le WiFi et le Bluetooth.

Mais ce n'est plus le cas. Le Pico W est désormais équipé du WiFi et, bien que la puce WLAN puisse faire du Bluetooth, celui-ci n'est pas encore activé depuis début juillet.

Donc, si vous avez besoin de la fonction Bluetooth maintenant, vous ferez mieux avec l'ESP32.

Cela dit, l'ESP32 présente d'autres avantages, notamment des fréquences de CPU variables, dont deux plus rapides que le Pico W.

L'ESP32 est également sur le marché depuis bien plus longtemps, ce qui explique qu'il y ait beaucoup plus de projets construits sur cette base. Sa documentation, son expérimentation et ses modules complémentaires sont bien supérieurs à ceux de la gamme Raspberry Pi Pico.

Raspberry Pi Pico WEspressif ESP32-PICO-KIT
Fréquence du CPU133MHz80/160/240MHz
MicrocontrôleurRP2040Xtensa LX6
Cœurs22
Mémoire flash2MB4MB
RAM264KB520KB
GPIO26 (utilisable par l'utilisateur)36
A l'USB ?microUSBmicroUSB
WiFi et/ou BT ?Oui, les deux, BT n'est pas activé au lancementOui, les deux
Tension1,8 - 5,5V ou 5V USB3.3V (via les broches) ou 5V via USB ou 5V-12V (via un régulateur de tension)
Taille51x21mm52x20mm
LanguesMicroPython / CMicroPython / C

Réflexions de la communauté sur Pico W vs ESP32

Nous avons lancé un fil de discussion sur le forum Raspberry Pi à propos de ce sujet précis et voici quelques excellentes réflexions de la communauté :

scruss, utilisateur du forum Raspberry Pi a déclaré que l'ESP32 a une plus grande puissance de traitement avec la variante 160MHz, citant 1639 pystones/seconde contre 1243 sur le Pico W. Le 240MHz est encore plus rapide.

Il a également énuméré les raisons suivantes pour lesquelles l'ESP32 triompherait du Pico W.

  • minuteries matérielles
  • ADC vraiment sympa, avec réglage de la gamme et lecture directe de la tension.
  • DAC à 2 canaux
  • touche capacitive
  • Capteur magnétique à effet Hall (on lui applique un aimant et il peut vous dire que vous lui appliquez un aimant).
  • Des canaux RMT pour un PWM plutôt astucieux

D'autre part, l'utilisateur scotty101 a ceci à dire sur les avantages du Pico W :

  • Environnement de développement
  • Soutenir Raspberry Pi et ses objectifs éducatifs
  • La prévalence et la taille de la communauté.
  • Facilité de mise en place d'un nouveau binaire sur le Pico

"J'aime ESP32 mais je déteste devoir télécharger l'esptool à chaque fois que je redémarre un projet abandonné. J'ai si peu de temps que MicroPython sur le Pico est rapide et facile à utiliser", a déclaré scotty101.

Enfin, cleverca22 a donné une vision équilibrée de ce qu'il a vu dans les deux conseils. Au-delà des arguments exposés ci-dessus, voici les points complémentaires :

Le Raspberry Pi Pico W possède des entrées/sorties programmables (PIO).

Cleverca22 pense que la plateforme ESP dispose d'une unité de gestion de la mémoire spéciale entre le XIP et la flash, ce qui permet de stocker plusieurs applications à la fois et de procéder à des rollbacks.

De plus, la plate-forme ESP contrôle le WiFi et le Bluetooth directement à partir de l'unité centrale, ce qui permet des actions RF non standard, tandis que le Pico W est susceptible d'être géré à l'aide d'un blob à source fermée, ce qui n'autorise que les actions RF approuvées.

Pico W vs Zero 2 W

Vous êtes peut-être en train de lever les yeux au ciel parce que vous pensez que nous comparons des pommes et des oranges.

Mais le sommes-nous vraiment ?

Parlons de la différence fondamentale. Le Raspberry Pi Pico W est un microcontrôleur tandis que le Raspberry Pi Zero 2 W est un micro-ordinateur.

Pour faire simple, le Raspberry Pi Pico W est conçu pour exécuter une seule chose. Le Zero 2 W est conçu pour être plus dynamique - il peut exécuter plusieurs tâches, différents systèmes d'exploitation et vous pouvez le programmer dans plusieurs langues.

Voici un tableau expliquant les différences :

Peut-il...Microcontrôleur (par exemple Raspberry Pi Pico W)Micro-ordinateur (par exemple, Raspberry Pi Zero 2 W)
Faire fonctionner un serveur ?NonOui
Faire clignoter une LED ?Beaucoup plus rapide du début à la finBeaucoup plus lent ; beaucoup plus de processus à suivre
Redémarrage automatique du programme en cas de panne de courant ?OuiPas par défaut
Jouer à des jeux vidéoPas sans beaucoup d'effortsOui
Fonctionne sur batterie ?Oui, ils sont susceptibles de durer plus longtemps en moyenneOui, ne dure pas aussi longtemps en moyenne
Gestion de la chaleur ?Aucun requis habituellementDissipateurs thermiques, ventilateurs, boîtiers thermoconducteurs.
Les coûts ?Plus basPlus haut
La taille ?Plus petitPlus grand

Le WiFi n'est plus l'avantage du Pi Zero W

L'une des choses qui a vraiment attiré certains utilisateurs vers la série Pi Zero est le sans fil intégré.

Dans le passé, il fallait acheter un accessoire pour donner à la Pico originale une capacité sans fil. C'est à peu près ce qui a poussé les gens à utiliser le Zero comme substitut pour leurs projets.

Cela dit, le Pico W étant désormais doté de la technologie sans fil, l'avantage dont bénéficiait le Zero W n'existe plus.

Le Bluetooth reste un avantage du Pi Zero W... pour le moment

Au moment de sa sortie, le Pico W est équipé d'une puce Bluetooth, mais celle-ci n'a pas été activée.

Raspberry Pi a déclaré qu'il l'activerait à l'avenir. Quand ce sera le cas.

Donc, pour l'instant, si vous avez besoin de Bluetooth, le Pi Zero W est la meilleure option.

Pénurie de W du Raspberry Pi Zero 2 = avantage du Pico W

Un autre élément qui donne au Pico W un tel avantage sur le Zero 2 W est sa disponibilité.

Dans les deux premières semaines de sa sortie, Le stock était encore disponible dans de nombreux magasins, dont le nôtre. Cela ne reflète certainement pas la situation du Pi Zero 2, dont l'offre devrait être faible pour le reste de l'année 2022.

Bien sûr, si vous avez un compte PiCockpit, les utilisateurs de l'UE/Suisse pouvez également utiliser notre outil de réservation pour réserver votre prochain Raspberry Pi.

Comment décider ?

Voici la logique que j'utilise pour décider lequel utiliser :

ScénarioCe qu'il faut prendre
je suis meilleur dans un langage autre que C/PythonZéro
J'ai une puissance "illimitée" (c'est-à-dire un cas d'utilisation non solaire ou par batterie).Zéro
J'ai besoin de sauvegarder des données (par exemple, des registres de température).Zéro
J'ai besoin d'utiliser un appareil photoZéro
Je veux une interface graphique/une sortie vidéoZéro
J'ai besoin du WiFiSoit
J'ai besoin de BluetoothZéro (à partir de juillet 2022)
J'ai besoin de l'installation la plus compactePico W
J'ai besoin d'un redémarrage rapide en cas d'accident ou de panne de courant.Pico W
Je ne veux pas mettre en place un OSPico W
Je veux l'option la moins chèrePico W

Sous le microscope

Peter Mount a filmé cette vidéo du Pico W...

Comment Raspberry Pi a-t-il annoncé la sortie du Pico W ?

Selon Raspberry Pi, personne n'a reçu le teaser qui était une vache avec des graphiques Raspberry Pi partout.

Le teaser de Raspberry Pi pour le Pico W

Ils ont déclaré : "Nous n'arrivons toujours pas à croire que pas un seul d'entre vous n'ait compris le teaser très abstrait que nous avons lâché sur Twitter la nuit précédant le lancement de Pico W. C'est une vache. Vous comprenez ?"

Raspberry Pi Cow réarrangé est Raspberry Pico W.

Je suppose que maintenant que le chat est sorti du sac, en parler est plutôt... moot.

Plus d'informations

Nous avons une encyclopédie d'informations pour le Raspberry Pi Pico ordinaire qui vous aidera à démarrer avec le Raspberry Pi Pico W. Voici où vous pouvez commencer à apprendre à connaître le Raspberry Pi Pico..

CLIQUEZ ICI : Tout ce que vous devez savoir sur le Raspberry Pi Pico

Il existe également une documentation générale et spécifique disponible directement auprès de Raspberry Pi :

11 commentaires

  1. Pico User sur juillet 15, 2022 à 11:12 am

    Les connecteurs de débogage du Pico H pour le côté câble/fil sont en fait
    SHR-03V-S (sans bride) ou SHR-03V-S-B (avec bride).

    https://www.jst.co.uk/downloads/series/eSH_(21-03-24).pdf
    https://shop.pimoroni.com/products/pimoroni-pico-debug-cable
    https://kabel-me.eu/details/48010

    • Xuyun Zeng sur juillet 16, 2022 à 10:00 am

      Hmm, j'ai raté quelque chose ou c'est juste un connecteur compatible ? Voici ce que j'ai trouvé dans la documentation officielle :

      "Nous spécifions que le connecteur doit être un connecteur JST 'SH' à 3 broches avec un pas de 1,0 mm, soit BM03B-SRSS-TB (haut), soit BM03B-SRSS-TB (bas).
      (entrée latérale) ou SM03B-SRSS-TB (entrée latérale), ou des alternatives compatibles".

      https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf

  2. JJE sur octobre 30, 2022 à 2:14 pm

    Excellent travail, qui serait encore plus utile si vous n'aviez pas fait passer le code python par le traducteur.

    • Xuyun Zeng sur novembre 4, 2022 à 8:15 pm

      Merci JJE d'avoir attiré notre attention sur ce point. C'est un point sur lequel nous devons travailler.

  3. iApe sur mars 4, 2023 à 11:05 pm

    Danke !

    Le fonctionnement est parfait !

  4. Andrew sur avril 2, 2023 à 8:57 pm

    Merci de fournir ces informations à la communauté, elles m'ont été très utiles.

  5. [...] ont déjà un article couvrant tout ce que vous devez savoir sur le Pico W. De plus, si vous êtes un débutant avec le Pico W, vous pouvez consulter ce [...]

  6. [...] Alors que le monde du développement web est passé à l'utilisation d'un framework frontal comme React, Angular ou Vue, servir des sites web sur le Raspberry Pi Pico nécessite généralement de savoir écrire du JavaScript vanille. Si vous regardez nos tutoriels dans notre article Pico W mega, vous verrez. [...]

  7. [...] À l'heure où nous écrivons ces lignes, le Pico WH (H pour headers) n'est pas encore sorti. Notre méga-article sur le Pico W suit l'évolution de sa sortie. [...]

  8. [...] Suivez ce lien pour apprendre à le mettre à jour. Ce lien vous montrera également une méthode rapide pour diffuser votre propre réseau WiFi. [...]

  9. [...] À bien des égards, l'humidimètre pour plantes est le compagnon idéal du programme d'envoi de SMS aux plantes dont nous avons déjà parlé sur ce blog. [...]

Laissez un commentaire