Raspberry-Pi Pico WIRELESS - WiFi et Bluetooth sur le Pico

Beaucoup d'entre-nous s'en doutait, il y avait trop de place disponible sur le Pico pour que la fondation n'ai pas envisager une version SANS FIL de son Pico.

Voila, nous y voilà.... aujourd'hui c'est la sortie du Pico-W aka Pico Wireless et toujours à un prix défiant toute concurrence... cela va chauffer pour l'ESP32.

 

Pico Wireless with Header @ MCHobby

Le Rapsberry Pico seul n'est normalement plus à présenter.... mais si cela devait encore être le cas, voyez notre précédent article "Pico & Microcontrôleur : la fondation Raspberry lance un microcontrôleur double coeur"

Le Pico-W (W pour Wireless) existe en deux formats:

Détails du Pico Wireless

Sur ce Pico, on retrouve donc le module WiFi des Raspberry-Pi et la toute nouvelle antenne entonnoir de ProAnt apparue il y a quelques années.
Ce module apporte le support WiFi 2.4 GHz 802.11 b/g/n et Bluetooth 5.2 grâce au module CYW43439 d'Infineon (anciennement Cypress).

Le microcontrôleur RP2040 (toujours double coeurs à 133 MHz) utilise un bus SPI pour communiquer avec le module WiFi.

Pico-W - gros plan sur le module WiFi

Le port de débogage (utilisé en C/C++) a été déplacé pour pouvoir placer l'antenne sur la carte. C'est la vrai seule modification sur la carte (celle qui déplace la connectique).
Le port utilise toujours un empattement 2.54mm et reste pratique à utiliser.

Pico-W - Port Debug déplacé

Renforcement de l'étage d'alimentation pour assurer les besoin énergétique du Module WiFi/Bluetooth. Il utilise un module RT6154 de Richtek capable de délivrer un courant assez important (

Pico-W - renforcement de l'alimentation

Et le GPIO ?

La bonne nouvelle, c'est que le Pico-W ne modifie en rien les GPIOs exposés sur les connecteurs. Sur ce plan, c'est identique au Pico.

le GPIO reste IDENTIQUE au Pico standard
Source: Github MCHobby

L'overlay d'identification des broches est donc toujours utilisable avec le Pico-W.

overlay d'identification des broches

Communication entre RP2040 et module WiFi 

Le module WiFi utilise une interface SPI pour communiquer avec le RP2040.
Quelques broches GPIO anciennement utilisées pour des fonctions "interne" du Pico ont été réutilisées.

Voici ce que j'en perçu de la fiche technique.

Broche Utilisation sur Pico-W
Utilisation
sur Pico
gp25 WiFi SPI Select
LED utilisateur
gp29 gp25=LOW => SPI Clock
gp25=HIGH => ADC3=VSys/3
ADC3=VSys/3
gp24 SPI Data / IRQ High if VBus=5V
gp23 WiFi Power On SMPS Power Safe
wl_gp2 HIGH if VBUS=5V not existing on Pico
wl_gp1 SMPS Power Safe not existing on Pico
wl_gp0 User LED not existing on Pico


Intérêt du WiFi

L'intérêt du WiFi est justement de pouvoir créer des objets connectés pouvant être interrogés ou poussant des données sur Internet. 

Il s'agit d'un WiFi 802.11 b/g/n + WPA3 qui est donc capable de coopérer avec les réseaux WiFi de nos entreprises, de nos Boxes internet, etc.

Voici quelques idées de réalisation autour d'un Pico Wireless:

  • Capture et envoi d'images: caméra de surveillance.
  • Affichage de données météo: collectées sur Internet.
  • Transmission de données météo: vers un broker MQTT par exemple 
  • Transmission de données télémétriques : suivit de consommation électrique, eau, etc.
  • Commande/surveillance d'objets/processus à distance.
  • Coopération entre robots (concours robotique)
  • Obtenir une connexion REPL MicroPython a distance via WiFi (dit WebREPL).

Rappelons que le module WiFi peut fonctionner en mode Station (STA) et en mode Point-d'accès (PA).

Le mode Station:

Le Pico est un client sur un réseau WiFi existant... comme votre ordinateur, smartphone, etc. 

Le peut donc communiquer avec tout ces appareils. Le Pico peut bien entendu recevoir/envoyer des informations depuis/vers ces autres clients.

Le Pico-W peut aussi accéder à Internet pour y recueillir des informations :-)

Le mode Point d'accès

Dans ce mode, le Pico génère son propre réseau WiFi et permet à des clients de s'y connecter (smartphone, ordinateur, etc). 4 Clients Max.

Il se comporte exactement comme un routeur WiFi... mais sans avoir accès a internet.

Ce mode est plus rarement utilisé mais permet.... par exemple... la communication directe entre son smartphone et un robot Pico (peut importe s'il y a 10 autres robot du même type autour) sans devoir passer par un réseau WiFi de l'établissement.

Permette la configuration du projet... par exemple pour lui fournir les détails de la connexion WiFi à utiliser par le projet. Dans ce cas, un réseau en Point-d'Accès sur le Pico est très utile pour configurer le Pico depuis son smartphone (et sans autre chose qu'un navigateur internet).

Intérêt du Bluetooth

Attention: le support Bluetooth n'est pas encore finalisé et ne sera pas disponible à la sortie du Pico W (30 juin 2022).

Cela permet de se connecter sur un Pico là où il n'y a pas de connexion WiFi envisageable.

Personnellement, je ne suis pas un fan de Bluetooth mais il faut avouer que cela reste pratique pour établir une communication proche, les projets Fringuable/Wearable. Avec une App JoyPad, il est même possible de commander un robot, un bras articuler ou simplement nourrir les poissons sans sortir du fautueil.

Je me souviens qu'Adafruit avait créé une chouette App pour Android et iPhone pour leur module Bluetooth. Elle permettait de réceptionner des données (accéléromètre, GPS, ...) ou fixer des valeurs numérique, couleur, utiliser un JoyPad, etc. A voir quelle App seront disponibles autour du Pico.

Et le bouton Reset?

Malgré les nombreuses récriminations faites au Pico simple pour ce manquement, La fondation n'a toujours pas rajouté celui-ci sur le Pico-W.


 Voyez notre article sur "Comment ajouter un bouton Reset au Pico", c'est exactement pareil pour le Pico-W.

Quel langage de programmation

Le Pico-W se programme en MicroPython, Arduino, C++, CircuitPython et bien d'autres langages.

Contrairement en au Pico Simple, le Pico W n'est pas livré pré-chargé avec MicroPython. 

Lors du premier branchement sur votre ordinateur, le Pico-W se présente comme un disque flash (disque USB). Il suffira alors de glisser le firmware (fichier UF2) sur ce disque pour programmer votre carte.

Pour nous, la meilleure option reste "MicroPython" Python pour MicroControleur (voir MicroPython.org).

Notre prochain article expliquera comment l'installer sur le Raspberry-Pi Pico W.

A tout bientôt,
Dominique


Aucun commentaire