|

Raspberry Pi Pico W : utilisation de la LED interne

Voici venir le tout nouveau Raspberry Pi Pico W, avec le WiFi intégré :

Force est de constater que cette p’tite framboise à 6 € offre de multiples possibilités pour qui voudra programmer en Python, oubliant le langage plutôt hermétique des ardui-bidules, pas forcément ma tasse de thé vous l’aurez compris.

Nous allons voir ici comment connecter le Pico W au WiFi, créer une simple page Web et venir allumer la LED interne sitée à proximité du connecteur USB. Nous supposerons que vous avez déjà installé le firmware et allez utiliser Thonny, le soft idéal pour programmer et injecter vos scripts python.

Commençons par créer un fichier secrets.py que nous allons sauvegarder sur le Pico W, fichier qui aura le contenu suivant :

SSID = "nom_du_réseau_wifi"
PASSWORD = "clé_de_sécurité"

Passons ensuite au script principal qui sera lui sauvegardé dans main.py sur le Pico W :

import usocket as socket
import network
from machine import Pin
import secrets

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
light = machine.Pin("LED", machine.Pin.OUT)

Led = "ON"

htmlresponse = """HTTP/1.0 200 OK
Content-Type: text/html

<!DOCTYPE html>
<meta charset="UTF-8">
<html>
    <head>
        <title>Serveur RaspiPicoW</title>
    </head>
    <body>
        <p>Etat de la LED : {} </p>
        <p> <a href = "/?etat=on" >Led ON </a>  </p>
        <p> <a href = "/?etat=off" >Led OFF </a> </p>
        <p> <a href = "/?etat=toggle" >TOGGLE </a> </p>
    </body>
</html>
"""

def connexion_wifi(ssid,password):
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print("connexion",ssid)
        wlan.connect(secrets.SSID, secrets.PASSWORD)
        while not wlan.isconnected():
            pass
    print("Adresse IP :", wlan.ifconfig()[0])
    print("Masque réseau : ", wlan.ifconfig()[1])
    print("Gateway :", wlan.ifconfig()[2])
    print("Serveur DNS :", wlan.ifconfig()[3])
    return wlan.ifconfig()[0]

AdresseIP = connexion_wifi(secrets.SSID, secrets.PASSWORD)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((AdresseIP,8080))
s.listen(1)

while True :
    print("Attente connexion ...")
    connexion = s.accept()
    ClientAddress = connexion[1]
    ClientSocket = connexion[0]
    print("Adresse client connecté :",ClientAddress[0])
    request = ClientSocket.recv(2048)
    Lrequest = request.decode('utf-8').split(' ')
    if Lrequest[0] == 'GET' :
        url =Lrequest[1]
        if url[0:7] =="/?etat=":
            if url[7:] == 'on':
                light.on()
                Led = "ON"
            elif url[7:] == 'off':
                light.off()
                Led = "OFF"
            elif url[7:] == 'toggle':
                light.toggle()
        ClientSocket.send(htmlresponse.format(Led))
    ClientSocket.close()

Il ne vous reste plus qu’à exécuter le script, le Shell vous affichera l’adresse IP obtenue une fois le WiFi connecté. Rendez vous sur cette adresse IP via votre navigateur internet et hop :

La page web interne s’affiche, à vous de jouer maintenant !

Publications similaires

  • Unifi 3.1.1 disponible

    J’avais passé l’information sous silence, faute de temps disponible pour un véritable essai, mais il me semble qu’elle mérite un peu de publicité tout de même : la version 3.1.1 beta du contrôleur logiciel Unifi est désormais disponible pour le grand public. Oui, vous avez bien lu, il s’agit d’une version BETA, donc à éviter sur une ligne en production. On peut toutefois penser qu’elle reste assez stable, puis dévoilée à tout le monde. Les notes de mise à jour,…

  • Haut débit pour tous : la solution du Cher

    Haut débit pour tous : la solution du Cher, ainsi titre E-Alsace dans un récent article, mettant en avant des débits de 3 à 4 Mbps pour desservir les zones blanches du département. C’est un investissement de plus de 9 M€ qu’a ainsi réalise SFR Collectivités pour desservir près de 260 communes avec une connexion internet mais également de la VoIP.

  • |

    Les Charrues à St Nolff 2010

    Quand l’équipe informatique du festival des Vieilles Charrues se déplace au festival de St Nolff, voici ce que l’on obtient : Il faut dire qu’une partie du matériel utilisé lors des Vieilles Charrues 2010 est prêté ou loué à différents festivals, suivant les demandes, avec ou sans prestations de l’équipe informatique, très au fait des produits Ubiquiti. Après la pause, une vidéo pour visualiser la mise en place des Nanostation 5, en attendant leur fixation définitive :

  • Ubiquiti : nouveaux produits en approche !

    La rentrée est là, le monde redémarre enfin, et les nouveaux produits débarquent, tels les nouveaux matériels Ubiquiti, avec des bornes 802.11ac (1.3 Gbps de débit) et AirGateway, la borne 802.11bgn compacte du constructeur américain. Comme toujours avec Ubiquiti, attention aux stocks, contactez-nous AVANT de commander pour éviter toute mauvaise surprise. Cliquez sur les images pour arriver directement sur la page produit d’Infracom Online.

  • Orange : la 4G arrive !

    Bonne nouvelle, et ce n’est pas spécialement un étonnement, la 4G d’Orange va débarquer d’ici Juin. Ne vous bercez toutefois pas d’illusions, seule la ville de Marseille sera pour le moment concernée, avec des tests grandeur nature. Voici clairement là une attitude responsable : on lance le service sur une zone restreinte, on étudie le fonctionnement, on corrige les bugs, et ensuite, début 2013, Orange ouvrira l’exploitation nationale de la 4G. Si quelqu’un pouvait passer le message au Sieur Niel,…