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

4.3 KiB

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

Urządzenie IoT musi zostać zaprogramowane tak, aby komunikowało się z test.mosquitto.org za pomocą MQTT, wysyłając dane telemetryczne z odczytem czujnika światła oraz odbierając polecenia do sterowania diodą LED.

W tej części lekcji połączysz swoje Raspberry Pi lub wirtualne urządzenie IoT z brokerem MQTT.

Zainstaluj pakiet klienta MQTT

Aby komunikować się z brokerem MQTT, musisz zainstalować bibliotekę MQTT jako pakiet pip, albo na swoim Raspberry Pi, albo w środowisku wirtualnym, jeśli korzystasz z wirtualnego urządzenia.

Zadanie

Zainstaluj pakiet pip

  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. Uruchom następujące polecenie, aby zainstalować pakiet pip MQTT:

    pip3 install paho-mqtt
    

Programowanie urządzenia

Urządzenie jest gotowe do zaprogramowania.

Zadanie

Napisz kod urządzenia.

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

    import paho.mqtt.client as mqtt
    

    Biblioteka paho.mqtt.client pozwala Twojej aplikacji komunikować się za pomocą MQTT.

  2. Dodaj następujący kod po definicjach czujnika światła i diody LED:

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

    Zamień <ID> na unikalny identyfikator, który będzie używany jako nazwa tego klienta urządzenia, a później jako nazwa tematów, które to urządzenie publikuje i subskrybuje. Broker test.mosquitto.org jest publiczny i używany przez wiele osób, w tym innych uczniów realizujących to zadanie. Posiadanie unikalnej nazwy klienta MQTT i nazw tematów zapewnia, że Twój kod nie będzie kolidował z kodem innych osób. Będziesz również potrzebować tego identyfikatora podczas tworzenia kodu serwera w dalszej części tego zadania.

    💁 Możesz użyć strony internetowej, takiej jak GUIDGen, aby wygenerować unikalny identyfikator.

    client_name to unikalna nazwa tego klienta MQTT na brokerze.

  3. Dodaj następujący kod poniżej nowego kodu, aby utworzyć obiekt klienta MQTT i połączyć się z brokerem MQTT:

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

    Ten kod tworzy obiekt klienta, łączy się z publicznym brokerem MQTT i uruchamia pętlę przetwarzania, która działa w tle, nasłuchując wiadomości na dowolnych subskrybowanych tematach.

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

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

😀 Udało Ci się pomyślnie połączyć swoje urządzenie z brokerem MQTT.

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.