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

3.1 KiB

Ovládejte svůj noční světlo přes internet - Virtuální IoT zařízení a Raspberry Pi

V této části lekce budete odesílat telemetrii s úrovněmi světla z vašeho Raspberry Pi nebo virtuálního IoT zařízení do MQTT brokeru.

Publikování telemetrie

Dalším krokem je vytvoření JSON dokumentu s telemetrií a jeho odeslání do MQTT brokeru.

Úkol

Publikujte telemetrii do MQTT brokeru.

  1. Otevřete projekt nočního světla ve VS Code.

  2. Pokud používáte virtuální IoT zařízení, ujistěte se, že terminál běží ve virtuálním prostředí. Pokud používáte Raspberry Pi, nebudete používat virtuální prostředí.

  3. Přidejte následující import na začátek souboru app.py:

    import json
    

    Knihovna json se používá k zakódování telemetrie jako JSON dokumentu.

  4. Přidejte následující po deklaraci client_name:

    client_telemetry_topic = id + '/telemetry'
    

    client_telemetry_topic je MQTT téma, do kterého zařízení bude publikovat úrovně světla.

  5. Nahraďte obsah smyčky while True: na konci souboru následujícím:

    while True:
        light = light_sensor.light
        telemetry = json.dumps({'light' : light})
    
        print("Sending telemetry ", telemetry)
    
        mqtt_client.publish(client_telemetry_topic, telemetry)
    
        time.sleep(5)
    

    Tento kód zabalí úroveň světla do JSON dokumentu a publikuje ji do MQTT brokeru. Poté se uspí, aby se snížila frekvence odesílání zpráv.

  6. Spusťte kód stejným způsobem, jako jste spouštěli kód z předchozí části úkolu. Pokud používáte virtuální IoT zařízení, ujistěte se, že aplikace CounterFit běží a že světelný senzor a LED byly vytvořeny na správných pinech.

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Sending telemetry  {"light": 0}
    Sending telemetry  {"light": 0}
    

💁 Tento kód najdete ve složce code-telemetry/virtual-device nebo ve složce code-telemetry/pi.

😀 Úspěšně jste odeslali telemetrii ze svého zařízení.


Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.