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-mqtt.md

4.2 KiB

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

IoT zařízení musí být naprogramováno tak, aby komunikovalo s test.mosquitto.org pomocí MQTT, odesílalo telemetrické hodnoty s údaji ze světelného senzoru a přijímalo příkazy k ovládání LED.

V této části lekce připojíte svůj Raspberry Pi nebo virtuální IoT zařízení k MQTT brokeru.

Instalace balíčku MQTT klienta

Pro komunikaci s MQTT brokerem je potřeba nainstalovat knihovnu MQTT jako pip balíček, buď na vašem Raspberry Pi, nebo ve virtuálním prostředí, pokud používáte virtuální zařízení.

Úkol

Nainstalujte pip balíček

  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, virtuální prostředí používat nebudete.

  3. Spusťte následující příkaz pro instalaci MQTT pip balíčku:

    pip3 install paho-mqtt
    

Naprogramujte zařízení

Zařízení je připraveno k programování.

Úkol

Napište kód zařízení.

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

    import paho.mqtt.client as mqtt
    

    Knihovna paho.mqtt.client umožňuje vaší aplikaci komunikovat přes MQTT.

  2. Přidejte následující kód za definice světelného senzoru a LED:

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

    Nahraďte <ID> unikátním ID, které bude použito jako název tohoto klienta zařízení a později pro témata, která toto zařízení publikuje a odebírá. Broker test.mosquitto.org je veřejný a používá ho mnoho lidí, včetně dalších studentů pracujících na tomto úkolu. Mít unikátní název MQTT klienta a názvy témat zajistí, že váš kód nebude kolidovat s kódem někoho jiného. Toto ID budete také potřebovat při vytváření serverového kódu později v tomto úkolu.

    💁 Můžete použít webovou stránku jako GUIDGen pro vygenerování unikátního ID.

    client_name je unikátní název tohoto MQTT klienta na brokeru.

  3. Přidejte následující kód pod tento nový kód pro vytvoření objektu MQTT klienta a připojení k MQTT brokeru:

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

    Tento kód vytvoří objekt klienta, připojí se k veřejnému MQTT brokeru a spustí zpracovávací smyčku, která běží na pozadí ve vlákně a naslouchá zprávám na všech odebíraných tématech.

  4. 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!
    Light level: 0
    Light level: 0
    

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

😀 Úspěšně jste připojili své zařízení k MQTT brokeru.


Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. I když 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 závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.