Comment commander la LED interne en toute simplicité sur un Raspberry Pi Pico W ?

Suivez le code ci-après et envoyer le via Thonny par exemple :

import machine
import time
from umqtt.simple import MQTTClient
import network

# Configuration WiFi
ssid = "nom_du_reseau_wifi"
password = "mot_de_passe_wifi"

station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)

while not station.isconnected():
    pass
print("Connexion Wi-Fi établie")


# Configuration client MQTT
mqtt_server = "adresse_serveur_mqtt"
mqtt_port = 1883
mqtt_user = "login_mqtt"
mqtt_password = "mot_de_passe_mqtt"
mqtt_topic = b"/maison/led"
client_id = "wemosd1"
client = MQTTClient(client_id, mqtt_server, mqtt_port, mqtt_user, mqtt_password)

# Set up LED pin
led = machine.Pin("LED", machine.Pin.OUT)

# Define MQTT callback function
def mqtt_callback(topic, msg):
    if topic == mqtt_topic:
        if msg == b"on":
            led.value(1)
            print("LED allumée")
        elif msg == b"off":
            led.value(0)
            print("LED éteinte")

# Subscribe to MQTT topic
client.set_callback(mqtt_callback)
client.connect()
client.subscribe(mqtt_topic)

# Main loop
while True:
    client.check_msg()
    time.sleep(1)

Vous allez pouvoir maintenant tester votre nouveau script en micro-python, par exemple depuis un terminal sous Linux, et allumer la LED interne :

mosquitto_pub -h mon_serveur_mqtt -u mon_login -P mon_mon_de_passe -t "/maison/led" -m "on"

Simple non ? Ce script a été généré à la base par ChatGPT, mais a par la suite été modifié pour corriger quelques erreurs.