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

3.8 KiB

Vezéreld az éjszakai fényedet az interneten keresztül - Virtuális IoT eszköz és Raspberry Pi

A lecke ezen részében feliratkozol az MQTT broker által küldött parancsokra, hogy azokat a Raspberry Pi vagy virtuális IoT eszközöd fogadja.

Feliratkozás parancsokra

A következő lépés az, hogy feliratkozz az MQTT broker által küldött parancsokra, és válaszolj rájuk.

Feladat

Iratkozz fel a parancsokra.

  1. Nyisd meg az éjszakai fény projektet a VS Code-ban.

  2. Ha virtuális IoT eszközt használsz, győződj meg róla, hogy a terminál a virtuális környezetet futtatja. Ha Raspberry Pi-t használsz, akkor nem fogsz virtuális környezetet használni.

  3. Add hozzá a következő kódot a client_telemetry_topic definíciói után:

    server_command_topic = id + '/commands'
    

    A server_command_topic az az MQTT téma, amelyre az eszköz feliratkozik, hogy LED parancsokat fogadjon.

  4. Add hozzá a következő kódot közvetlenül a fő ciklus fölé, a mqtt_client.loop_start() sor után:

    def handle_command(client, userdata, message):
        payload = json.loads(message.payload.decode())
        print("Message received:", payload)
    
        if payload['led_on']:
            led.on()
        else:
            led.off()
    
    mqtt_client.subscribe(server_command_topic)
    mqtt_client.on_message = handle_command
    

    Ez a kód egy handle_command nevű függvényt definiál, amely egy üzenetet JSON dokumentumként olvas be, és megkeresi benne az led_on tulajdonság értékét. Ha az érték True, akkor a LED bekapcsol, ellenkező esetben kikapcsol.

    Az MQTT kliens feliratkozik arra a témára, amelyre a szerver üzeneteket küld, és beállítja, hogy a handle_command függvény fusson le, amikor egy üzenet érkezik.

    💁 Az on_message kezelő minden feliratkozott témára lefut. Ha később olyan kódot írsz, amely több témát figyel, az üzenet objektumból, amelyet a kezelő függvény kap, kiolvashatod, hogy melyik témára érkezett az üzenet.

  5. Futtasd a kódot ugyanúgy, ahogy a feladat előző részében futtattad. Ha virtuális IoT eszközt használsz, győződj meg róla, hogy a CounterFit alkalmazás fut, és a fényérzékelő és LED a megfelelő lábakon lett létrehozva.

  6. Állítsd be a fizikai vagy virtuális eszközöd által érzékelt fény szintjét. Az érkező üzenetek és küldött parancsok megjelennek a terminálban. A LED a fény szintjétől függően be- és kikapcsol.

💁 Ezt a kódot megtalálod a code-commands/virtual-device mappában vagy a code-commands/pi mappában.

😀 Sikeresen megírtad a kódot, amely lehetővé teszi, hogy az eszközöd reagáljon az MQTT broker parancsaira.


Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.