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

3.1 KiB

Hallitse yövaloa Internetin kautta - Virtuaalinen IoT-laitteisto ja Raspberry Pi

Tässä oppitunnin osassa lähetät telemetriatietoja valotasoista Raspberry Pi -laitteeltasi tai virtuaaliselta IoT-laitteeltasi MQTT-välityspalvelimelle.

Telemetrian julkaiseminen

Seuraava vaihe on luoda JSON-dokumentti telemetriatiedoista ja lähettää se MQTT-välityspalvelimelle.

Tehtävä

Julkaise telemetria MQTT-välityspalvelimelle.

  1. Avaa yövaloprojekti VS Code -sovelluksessa.

  2. Jos käytät virtuaalista IoT-laitetta, varmista, että terminaali käyttää virtuaaliympäristöä. Jos käytät Raspberry Pi:tä, et käytä virtuaaliympäristöä.

  3. Lisää seuraava tuonti app.py-tiedoston alkuun:

    import json
    

    json-kirjastoa käytetään telemetriatietojen koodaamiseen JSON-dokumentiksi.

  4. Lisää seuraava client_name-määrittelyn jälkeen:

    client_telemetry_topic = id + '/telemetry'
    

    client_telemetry_topic on MQTT-aihe, johon laite julkaisee valotasot.

  5. Korvaa tiedoston lopussa olevan while True: -silmukan sisältö seuraavalla:

    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)
    

    Tämä koodi pakkaa valotason JSON-dokumentiksi ja julkaisee sen MQTT-välityspalvelimelle. Sen jälkeen se odottaa hetken vähentääkseen viestien lähetysfrekvenssiä.

  6. Suorita koodi samalla tavalla kuin edellisen tehtävän osan koodi. Jos käytät virtuaalista IoT-laitetta, varmista, että CounterFit-sovellus on käynnissä ja että valosensori ja LED on luotu oikeille pinneille.

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

💁 Löydät tämän koodin code-telemetry/virtual-device -kansiosta tai code-telemetry/pi -kansiosta.

😀 Olet onnistuneesti lähettänyt telemetriatietoja laitteeltasi.


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.