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

3.1 KiB

Valdykite savo naktinę lempą internetu virtuali IoT įranga ir Raspberry Pi

Šioje pamokos dalyje siųsite telemetrijos duomenis apie šviesos lygį iš savo Raspberry Pi arba virtualaus IoT įrenginio į MQTT brokerį.

Telemetrijos publikavimas

Kitas žingsnis sukurti JSON dokumentą su telemetrijos duomenimis ir išsiųsti jį į MQTT brokerį.

Užduotis

Publikuokite telemetriją MQTT brokeriui.

  1. Atidarykite naktinės lempos projektą VS Code programoje.

  2. Jei naudojate virtualų IoT įrenginį, įsitikinkite, kad terminale veikia virtuali aplinka. Jei naudojate Raspberry Pi, virtualios aplinkos naudoti nereikės.

  3. Pridėkite šį importą į app.py failo viršų:

    import json
    

    Biblioteka json naudojama telemetrijos duomenims užkoduoti kaip JSON dokumentą.

  4. Pridėkite šį kodą po client_name deklaracijos:

    client_telemetry_topic = id + '/telemetry'
    

    client_telemetry_topic yra MQTT tema, į kurią įrenginys publikuos šviesos lygius.

  5. Pakeiskite while True: ciklo turinį failo pabaigoje šiuo kodu:

    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)
    

    Šis kodas supakuoja šviesos lygį į JSON dokumentą ir publikuoja jį MQTT brokeriui. Po to programa padaro pauzę, kad sumažintų siunčiamų pranešimų dažnį.

  6. Paleiskite kodą taip pat, kaip paleidote kodą iš ankstesnės užduoties dalies. Jei naudojate virtualų IoT įrenginį, įsitikinkite, kad CounterFit programa veikia ir šviesos jutiklis bei LED yra sukurti tinkamuose kaiščiuose.

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

💁 Šį kodą galite rasti code-telemetry/virtual-device aplanke arba code-telemetry/pi aplanke.

😀 Jūs sėkmingai išsiuntėte telemetrijos duomenis iš savo įrenginio.


Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.