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

3.6 KiB

Ovládajte svoje nočné svetlo cez internet - Virtuálny IoT hardvér a Raspberry Pi

V tejto časti lekcie sa naučíte, ako sa prihlásiť na odber príkazov odoslaných z MQTT brokeru na váš Raspberry Pi alebo virtuálne IoT zariadenie.

Prihlásenie na odber príkazov

Ďalším krokom je prihlásenie na odber príkazov odoslaných z MQTT brokeru a reagovanie na ne.

Úloha

Prihláste sa na odber príkazov.

  1. Otvorte projekt nočného svetla vo VS Code.

  2. Ak používate virtuálne IoT zariadenie, uistite sa, že terminál beží vo virtuálnom prostredí. Ak používate Raspberry Pi, virtuálne prostredie nebudete používať.

  3. Pridajte nasledujúci kód po definíciách client_telemetry_topic:

    server_command_topic = id + '/commands'
    

    server_command_topic je MQTT téma, na ktorú sa zariadenie prihlási, aby prijímalo príkazy pre LED.

  4. Pridajte nasledujúci kód tesne nad hlavný cyklus, po riadku mqtt_client.loop_start():

    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
    

    Tento kód definuje funkciu handle_command, ktorá číta správu ako JSON dokument a hľadá hodnotu vlastnosti led_on. Ak je nastavená na True, LED sa zapne, inak sa vypne.

    MQTT klient sa prihlási na tému, na ktorú server bude odosielať správy, a nastaví funkciu handle_command, ktorá sa zavolá, keď sa prijme správa.

    💁 Handler on_message sa volá pre všetky témy, na ktoré ste prihlásení. Ak neskôr napíšete kód, ktorý počúva viaceré témy, môžete získať tému, na ktorú bola správa odoslaná, z objektu message, ktorý sa odovzdáva funkcii handlera.

  5. Spustite kód rovnakým spôsobom, ako ste spustili kód z predchádzajúcej časti úlohy. Ak používate virtuálne IoT zariadenie, uistite sa, že aplikácia CounterFit beží a svetelný senzor a LED sú vytvorené na správnych pinoch.

  6. Nastavte úroveň svetla detekovanú vaším fyzickým alebo virtuálnym zariadením. Správy, ktoré sa prijímajú, a príkazy, ktoré sa odosielajú, budú zapísané do terminálu. LED sa tiež zapne a vypne v závislosti od úrovne svetla.

💁 Tento kód nájdete v priečinku code-commands/virtual-device alebo v priečinku code-commands/pi.

😀 Úspešne ste naprogramovali svoje zariadenie tak, aby reagovalo na príkazy z MQTT brokeru.


Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.