You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/da/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md

4.0 KiB

Styr din natlampe over internettet - Virtuel IoT-hardware og Raspberry Pi

IoT-enheden skal kodes til at kommunikere med test.mosquitto.org ved hjælp af MQTT for at sende telemetridata med lysfølerens aflæsninger og modtage kommandoer til at styre LED'en.

I denne del af lektionen vil du forbinde din Raspberry Pi eller virtuelle IoT-enhed til en MQTT-broker.

Installer MQTT-klientpakken

For at kommunikere med MQTT-brokeren skal du installere en MQTT-biblioteks-pip-pakke enten på din Pi eller i dit virtuelle miljø, hvis du bruger en virtuel enhed.

Opgave

Installer pip-pakken

  1. Åbn natlampeprojektet i VS Code.

  2. Hvis du bruger en virtuel IoT-enhed, skal du sikre dig, at terminalen kører det virtuelle miljø. Hvis du bruger en Raspberry Pi, vil du ikke bruge et virtuelt miljø.

  3. Kør følgende kommando for at installere MQTT-pip-pakken:

    pip3 install paho-mqtt
    

Kod enheden

Enheden er klar til at blive kodet.

Opgave

Skriv enhedens kode.

  1. Tilføj følgende import øverst i app.py-filen:

    import paho.mqtt.client as mqtt
    

    Biblioteket paho.mqtt.client gør det muligt for din app at kommunikere via MQTT.

  2. Tilføj følgende kode efter definitionerne af lysføleren og LED'en:

    id = '<ID>'
    
    client_name = id + 'nightlight_client'
    

    Erstat <ID> med en unik ID, der vil blive brugt som navnet på denne enhedsklient og senere til de emner, som denne enhed publicerer og abonnerer på. Brokeren test.mosquitto.org er offentlig og bruges af mange mennesker, inklusive andre studerende, der arbejder med denne opgave. At have et unikt MQTT-klientnavn og emnenavne sikrer, at din kode ikke konflikter med andres. Du vil også få brug for denne ID, når du opretter serverkoden senere i denne opgave.

    💁 Du kan bruge en hjemmeside som GUIDGen til at generere en unik ID.

    client_name er et unikt navn for denne MQTT-klient på brokeren.

  3. Tilføj følgende kode under denne nye kode for at oprette et MQTT-klientobjekt og forbinde til MQTT-brokeren:

    mqtt_client = mqtt.Client(client_name)
    mqtt_client.connect('test.mosquitto.org')
    
    mqtt_client.loop_start()
    
    print("MQTT connected!")
    

    Denne kode opretter klientobjektet, forbinder til den offentlige MQTT-broker og starter en behandlingssløjfe, der kører i en baggrundstråd og lytter efter meddelelser på alle abonnerede emner.

  4. Kør koden på samme måde, som du kørte koden fra den forrige del af opgaven. Hvis du bruger en virtuel IoT-enhed, skal du sikre dig, at CounterFit-appen kører, og at lysføleren og LED'en er oprettet på de korrekte pins.

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Light level: 0
    Light level: 0
    

💁 Du kan finde denne kode i mappen code-mqtt/virtual-device eller mappen code-mqtt/pi.

😀 Du har med succes forbundet din enhed til en MQTT-broker.


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at sikre nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.