La sortie du Framboise Pi Pico W apporte une opportunité intéressante. Dans le passé, si nous voulions connecter un Raspberry Pi au monde, nous aurions besoin de l’un des plus grands modèles. La Raspberry Pi Zéro 2Wet Framboise Pi 4 ont souvent été contraints à des tâches de collecte de données. Le Raspberry Pi 4 est un peu gourmand en énergie, le Zero 2 W est un peu meilleur mais toujours exagéré pour un simple projet d’information.
Avec l’arrivée du Raspberry Pi Pico W, nous avons un microcontrôleur basse consommation avec une puce Wi-Fi compétente, au format Pico et à seulement 6 $ !
Alors, par où commencer ? Comment mettre en ligne notre Raspberry Pi Pico W, et où trouver des données intéressantes à collecter ? Laissez-nous vous guider pour tirer le meilleur parti de votre Raspberry Pi Pico W à 6 $.
Obtenir le Raspberry Pi Pico W en ligne
Le Raspberry Pi Pico W est livré avec une puce Wi-Fi Infineon CYW43439 2,4 GHz et une antenne embarquée. Cela signifie que nous obtenons une bonne réception Wi-Fi sans avoir besoin de beaucoup de fils. Nous utilisons la dernière version de MicroPython pour le Pico W car elle offre le moyen le plus simple de se connecter et de réaliser des projets amusants.
1. Configurez votre Raspberry Pi Pico W en suivant notre Guide de Démarrage. Vous devrez installer MicroPython sur votre Pico W avant de pouvoir continuer.
2. Ouvrez l’éditeur Thonny sur un document vierge.
3. Créez un objet appelé SSID et stockez-y le SSID de votre point d’accès Wi-Fi.
SSID = "YOUR WIFI AP"
4. Créez un objet appelé PASSWORD et stockez votre mot de passe Wi-Fi.
PASSWORD = "TRUSTNO1"
5. Enregistrez le fichier sur le Raspberry Pi Pico W sous secrets.py En stockant nos détails sensibles dans un fichier secret, nous pouvons librement partager le code du projet avec des amis ou en ligne. N’oubliez pas de ne pas partager le fichier secrets aussi.
6. Cliquez sur Nouveau fichier pour créer un nouveau document vierge.
sept. Importez trois modules de code, réseau, secrets et temps. Ces trois modules permettent à notre Pico de se connecter à un réseau Wi-Fi, d’utiliser les données stockées dans secrets.py et d’ajouter une pause au code.
import network
import secrets
import time
8. Créez un objet, wlan, pour créer une connexion entre notre code et la puce sans fil Pico W. Nous utilisons cette connexion pour émettre des commandes qui se connecteront et vérifieront notre connexion Wi-Fi.
wlan = network.WLAN(network.STA_IF)
9. Activez le Wi-Fi du Raspberry Pi Pico W.
wlan.active(True)
dix. Connectez-vous à votre routeur en utilisant le SSID et le PASSWORD stockés dans le fichier secrets.py.
wlan.connect(secrets.SSID, secrets.PASSWORD)
11. Imprimez l’état de la connexion au shell Python. Cela imprimera True si connecté et False si la connexion a échoué.
12. Cliquez sur Enregistrer puis sélectionnez « Raspberry Pi Pico ». Enregistrez le fichier sous Wi-Fi.py sur le Raspberry Pi Pico W.
13. Cliquez sur Exécuter pour lancer le code.
14. Regardez dans le Python Shell pour Vrai ou Faux. Vrai signifie que nous sommes connectés.
Liste complète des codes
import network
import secrets
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
print(wlan.isconnected())
Utilisation du Raspberry Pi Pico W avec des données externes
Maintenant que nous avons une connexion Internet, nous allons l’utiliser avec des ensembles de données accessibles au public pour extraire des données de sources externes et les afficher sur le Pico W. Pour cet exemple, nous allons utiliser « Combien de personnes sont dans l’espace en ce moment » d’Open Notify. base de données. Cela a le nombre et les noms de tous les astronautes actuellement sur la Station spatiale internationale.
Nous allons adapter notre exemple de code précédent, Wi-Fi.py.
1. Ajoutez une ligne après « import time » et importez le module urequests. Ce module nous permet de travailler avec des requêtes réseau telles que HTTP et JSON.
import urequests
2. Après print(wlan.isconnected()) ajoutez une nouvelle ligne qui crée un objet « astronauts » puis utilise urequests pour obtenir les informations au format JSON. JavaScript Object Notation est un format de fichier standard ouvert qui présente une ressemblance frappante avec le dictionnaire Python qui utilise des clés (noms) pour récupérer les valeurs de l’objet.
astronauts = urequests.get("http://api.open-notify.org/astros.json").json()
3. Créez un objet, number, qui ouvrira l’objet astronautes et recherchez la clé ‘number’. La valeur liée à cette clé est ensuite stockée dans l’objet nombre.
number = astronauts['number']
4. Créez une boucle for qui itérera pour le nombre de personnes sur la Station spatiale internationale. Cette valeur peut changer au fur et à mesure que les astronautes vont et viennent, donc plutôt que de coder en dur une valeur, nous utilisons les données en direct.
for i in range(number):
5. Imprimez le nom de chaque astronaute sur la Station spatiale internationale à l’aide d’une série de touches qui ciblent les données spécifiques. Notre dictionnaire « astronautes » a de nombreuses clés, mais nous nous intéressons aux « personnes », la valeur de « i » s’incrémente à chaque tour de boucle, et il sélectionne chaque personne dans une liste intégrée dans l’ensemble de données. Nous utilisons ensuite une autre clé, ‘name’ pour obtenir le nom de cet astronaute.
print(astronauts['people'][i]['name'])
6. Enregistrez le code et lorsque vous êtes prêt, cliquez sur Exécuter pour démarrer le code.
sept. Les noms de tous les astronautes de la Station spatiale internationale apparaîtront dans le Python Shell. Notez que « True » apparaît toujours, confirmant que notre connexion Internet est établie.
Liste complète des codes
import network
import secrets
import time
import urequests
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
print(wlan.isconnected())
astronauts = urequests.get("http://api.open-notify.org/astros.json").json()
number = astronauts['number']
for i in range(number):
print(astronauts['people'][i]['name'])