Archives par étiquette : pico w

Réutilisation d’un PC portable HS : les batteries

Force est de constater que notre bon vieux Thomson franco-français n’est plus synonyme de qualité, pour preuve leur PC portable tout simple :


La carte mère est tellement compacte qu’il n’y a rien de modifiable, réparable ou améliorable, c’est poubelle directement, non sans avoir au préalable récupéré une dalle d’écran LCD, des HP miniatures, et deux batteries.

Ce sont ces batteries qui vont pouvoir nous servir :

En zyeutant de près, on découvre qu’elles ont été montées en série, fournissant ensemble près de 7.9 V., un peu trop pour être utilisées sur des modules alimentables jusqu’à 5 V… Après quelques coups de fer à souder et après les avoir séparées, voici le résultat une fois reliées en parallèle :

 

La gaine thermo permet de protéger les pattes de sortie entre elles, le scotch d’éviter tout autre contact sur les quelques parties métalliques impossibles à recouvrir totalement. Prochainement, le tout sera branché sur un régulateur de charge, un panneau solaire et un Raspberry Pi Pico W pour quelques essais d’autonomie.

A suivre…

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 !