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/no/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md

3.9 KiB

Kontroller nattlampen din over Internett - Virtuell IoT-maskinvare og Raspberry Pi

IoT-enheten må kodes for å kommunisere med test.mosquitto.org ved hjelp av MQTT for å sende telemetridata med lysensoravlesninger, og motta kommandoer for å kontrollere LED-en.

I denne delen av leksjonen skal du koble din Raspberry Pi eller virtuelle IoT-enhet til en MQTT-broker.

Installer MQTT-klientpakken

For å kommunisere med MQTT-brokeren må du installere en MQTT-bibliotekpakke via pip, enten på din Pi eller i ditt virtuelle miljø hvis du bruker en virtuell enhet.

Oppgave

Installer pip-pakken

  1. Åpne nattlampe-prosjektet i VS Code.

  2. Hvis du bruker en virtuell IoT-enhet, sørg for at terminalen kjører det virtuelle miljøet. Hvis du bruker en Raspberry Pi, vil du ikke bruke et virtuelt miljø.

  3. Kjør følgende kommando for å installere MQTT-pakken via pip:

    pip3 install paho-mqtt
    

Kode enheten

Enheten er klar til å kodes.

Oppgave

Skriv kode for enheten.

  1. Legg til følgende import øverst i app.py-filen:

    import paho.mqtt.client as mqtt
    

    Biblioteket paho.mqtt.client lar appen din kommunisere via MQTT.

  2. Legg til følgende kode etter definisjonene av lysensoren og LED-en:

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

    Erstatt <ID> med en unik ID som vil bli brukt som navnet på denne enhetsklienten, og senere for emnene som denne enheten publiserer og abonnerer på. Broker test.mosquitto.org er offentlig og brukes av mange mennesker, inkludert andre studenter som jobber med denne oppgaven. Å ha et unikt MQTT-klientnavn og emnenavn sikrer at koden din ikke kolliderer med andres. Du vil også trenge denne ID-en når du lager serverkoden senere i oppgaven.

    💁 Du kan bruke en nettside som GUIDGen for å generere en unik ID.

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

  3. Legg til følgende kode under denne nye koden for å opprette et MQTT-klientobjekt og koble til MQTT-brokeren:

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

    Denne koden oppretter klientobjektet, kobler til den offentlige MQTT-brokeren, og starter en behandlingssløyfe som kjører i en bakgrunnstråd og lytter etter meldinger på alle abonnerte emner.

  4. Kjør koden på samme måte som du kjørte koden fra forrige del av oppgaven. Hvis du bruker en virtuell IoT-enhet, må du sørge for at CounterFit-appen kjører og at lysensoren og LED-en er opprettet på de riktige pinnene.

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

💁 Du finner denne koden i mappen code-mqtt/virtual-device eller mappen code-mqtt/pi.

😀 Du har koblet enheten din til en MQTT-broker med suksess.


Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.