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

4.0 KiB

Nadzorujte svojo nočno lučko prek interneta - Virtualna IoT strojna oprema in Raspberry Pi

IoT napravo je treba programirati tako, da komunicira s test.mosquitto.org prek MQTT za pošiljanje telemetrijskih vrednosti z odčitki svetlobnega senzorja in prejemanje ukazov za upravljanje LED diode.

V tem delu lekcije boste povezali svoj Raspberry Pi ali virtualno IoT napravo z MQTT posrednikom.

Namestitev paketa MQTT odjemalca

Za komunikacijo z MQTT posrednikom morate na svojem Pi-ju ali v virtualnem okolju, če uporabljate virtualno napravo, namestiti knjižnico MQTT prek pip paketa.

Naloga

Namestite pip paket

  1. Odprite projekt nočne lučke v VS Code.

  2. Če uporabljate virtualno IoT napravo, poskrbite, da terminal izvaja virtualno okolje. Če uporabljate Raspberry Pi, ne boste uporabljali virtualnega okolja.

  3. Za namestitev MQTT pip paketa zaženite naslednji ukaz:

    pip3 install paho-mqtt
    

Programiranje naprave

Naprava je pripravljena za programiranje.

Naloga

Napišite kodo za napravo.

  1. Na vrh datoteke app.py dodajte naslednji uvoz:

    import paho.mqtt.client as mqtt
    

    Knjižnica paho.mqtt.client omogoča vaši aplikaciji komunikacijo prek MQTT.

  2. Po definicijah svetlobnega senzorja in LED dodajte naslednjo kodo:

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

    Zamenjajte <ID> z unikatnim ID-jem, ki bo uporabljen kot ime tega odjemalca naprave, kasneje pa tudi za teme, ki jih ta naprava objavlja in na katere se naroča. Posrednik test.mosquitto.org je javen in ga uporablja veliko ljudi, vključno z drugimi študenti, ki delajo na tej nalogi. Unikatno ime MQTT odjemalca in tem zagotavlja, da se vaša koda ne bo spopadala s kodo drugih. Ta ID boste potrebovali tudi, ko boste kasneje v tej nalogi ustvarjali strežniško kodo.

    💁 Za ustvarjanje unikatnega ID-ja lahko uporabite spletno stran, kot je GUIDGen.

    client_name je unikatno ime za tega MQTT odjemalca na posredniku.

  3. Pod to novo kodo dodajte naslednjo kodo za ustvarjanje MQTT odjemalca in povezavo z MQTT posrednikom:

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

    Ta koda ustvari objekt odjemalca, se poveže z javnim MQTT posrednikom in zažene obdelovalno zanko, ki teče v ozadju in posluša sporočila na vseh naročenih temah.

  4. Zaženite kodo na enak način, kot ste zagnali kodo iz prejšnjega dela naloge. Če uporabljate virtualno IoT napravo, poskrbite, da je aplikacija CounterFit zagnana in da sta svetlobni senzor in LED ustvarjena na pravilnih pinih.

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

💁 To kodo lahko najdete v mapi code-mqtt/virtual-device ali v mapi code-mqtt/pi.

😀 Uspešno ste povezali svojo napravo z MQTT posrednikom.


Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.