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

3.3 KiB

Steruj swoją lampką nocną przez Internet - Wirtualny sprzęt IoT i Raspberry Pi

W tej części lekcji wyślesz dane telemetryczne dotyczące poziomu światła z Raspberry Pi lub wirtualnego urządzenia IoT do brokera MQTT.

Wysyłanie danych telemetrycznych

Kolejnym krokiem jest utworzenie dokumentu JSON z danymi telemetrycznymi i wysłanie go do brokera MQTT.

Zadanie

Wyślij dane telemetryczne do brokera MQTT.

  1. Otwórz projekt lampki nocnej w VS Code.

  2. Jeśli korzystasz z wirtualnego urządzenia IoT, upewnij się, że terminal działa w środowisku wirtualnym. Jeśli używasz Raspberry Pi, nie będziesz korzystać ze środowiska wirtualnego.

  3. Dodaj następujący import na początku pliku app.py:

    import json
    

    Biblioteka json jest używana do kodowania danych telemetrycznych jako dokument JSON.

  4. Dodaj poniższy kod po deklaracji client_name:

    client_telemetry_topic = id + '/telemetry'
    

    Zmienna client_telemetry_topic to temat MQTT, na który urządzenie będzie wysyłać poziomy światła.

  5. Zamień zawartość pętli while True: na końcu pliku na poniższą:

    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)
    

    Ten kod pakuje poziom światła w dokument JSON i publikuje go do brokera MQTT. Następnie wprowadza opóźnienie, aby zmniejszyć częstotliwość wysyłania wiadomości.

  6. Uruchom kod w taki sam sposób, jak uruchamiałeś kod z poprzedniej części zadania. Jeśli korzystasz z wirtualnego urządzenia IoT, upewnij się, że aplikacja CounterFit jest uruchomiona, a czujnik światła i dioda LED zostały utworzone na odpowiednich pinach.

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

💁 Ten kod znajdziesz w folderze code-telemetry/virtual-device lub code-telemetry/pi.

😀 Udało Ci się pomyślnie wysłać dane telemetryczne z Twojego urządzenia.

Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.