|

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

  • |

    Banana Pi D1 : découverte du WiFi

    La petite caméra Banana Pi D1 ne se livre pas facilement sur une connexion WiFi : n’importe quel dongle USB ne fonctionnera pas, même si le chipset 8188eu requis s’y trouve ! Selon mon expérience, après avoir testé bon nombre de clés, seule une seule a pu fonctionner sans faillir : la TL-WN725N, proposée sur le lien sponsorisé chez Amazon.fr Une fois sous tension, il faut appuyer sur le petit commutateur situé juste à côté du port USB OTG recevant la…

  • Twine : et le WiFi devient domotique

    Avec une simple petite interface, le WiFi va hériter de capacités domotiques jusqu’à présent peu ou pas exploitées. Le modèle de base dispose de deux capteurs : accéléromètre et température. Alimenté par deux piles AAA ou via son port mini-USB, il sera capable de fonctionner durant des mois. Un port d’extension permet de venir relier d’autres capteurs pour arriver au final à : capteur interne de température accéléromètre interne (vibration, impact, détection de mouvement) interrupteur magnétique (ouverture de portes) capteur…

  • |

    Doit-on avoir peur des ondes WiFi ?

    « Doit-on avoir peur des ondes WiFi ?« , c’est par ce titre accrocheur que Greenzer.fr s’interroge sur la nocivité des ondes. Seulement voilà, le WiFi n’est pas un rayonnement mais une norme, un protocole, utilisable sur 2.4 GHz (802.11b/g/n) ou 5 GHz (802.11a/n). L’amalgame consistant à uniformiser les avantages et inconvénients de deux gammes de fréquences bien différentes ne tient donc pas ! Le début de l’article est lui évocateur de ce bel amalgame que nous allons retrouver tout du long…

  • Wimax en France : quel avenir ?

    En France, le Wimax a depuis des années été présenté comme LA solution ultime pour apporter le haut débit aux zones blanches ADSL. C’est du moins ainsi que nous le présentait cet excellent animateur du journal de 13 h qu’est Jean-Pierre Pernaut, insistant sur les fabuleuses possibilités de cette nouvelle norme. Quelques années plus tard, qu’avons-nous ? Un démarrage hésitant, des licences achetées à prix d’or par quelques entreprises et revendues à une seule (Bolloré Télécom), des zones de couverture…

  • |

    Les antennes sectorielles

    Pour couvrir une zone précise, entre 90 et 120°, on fait appel aux antennes sectorielles. Elles se positionnent le plus haut possible et vont éclairer une zone, en fonction de leur angle d’ouverture. Par analogie, imaginez un phare de voiture en pleine nuit, éclairant sur 120° : tout ce qui sera éclairé sera donc couvert par radio, c’est aussi simple que cela ! Ces antennes sont en général  légèrement inclinées vers le bas, de façon à véritablement se focaliser sur…