W tym samouczku dowiesz się, jak używać protokołu MQTT do przesyłania i odbierania danych w QIoT Suite Lite za pomocą ESP8266. Ponieważ ESP8266 ma różne oprogramowanie układowe, specyfikacje i instrukcje, istnieją dwie popoolrne metody:
Więcej przykładów pliku json można znaleźć pod poniższym linkiem:
qnap-qiot-sdks/projects/esp8266-example/qiot-suite-lite-export/ESP8266.json at master · qnap-dev/qnap-qiot-sdks
Korzystanie z bibliotek open source firm trzecich – Arduino core dla układu WiFi ESP8266: GitHub - esp8266/Arduino: ESP8266 core for Arduino
Przykładowy program:
qnap-qiot-sdks/projects/esp8266-example/arduino-core/mqtt-esp8266-example/mqtt-esp8266-example.ino at master · qnap-dev/qnap-qiot-sdks
Używając nodemcu jako przykładu (działa tak samo jak inne układy ESP8266 w obudowie) zmodyfikuj schemat połączeń według własnych potrzeb. Poniżej znajduje się obraz referencyjny:
Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:
Ten kod zarządza danymi reprezentującymi odbiór wiadomości, a następnie sterowanie diodą LED (na przykład: jeśli odebrana wartość danych wynosi „1", dioda LED zostaje włączona).
Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.
Ten kod zarządza głównym zadaniem, które pakuje wiadomości wejściowe do formatu „{"value":"0"}" i „{"value":"1"}", a następnie publikuje je w QIoT Suite Lite.
Po skonfigurowaniu kliknij przycisk, a dioda LED zostanie włączona. Jednocześnie przycisk w pulpicie nawigacyjnym QIoT Suite Lite również zostanie włączony, jak pokazano poniżej:
Korzystanie z bibliotek open source firm trzecich – WiFiEsp: GitHub - bportaluri/WiFiEsp: Arduino WiFi library for ESP8266 modules
Przykładowy program:
qnap-qiot-sdks/projects/esp8266-example/at-command-with-arduino/mqtt-esp8266-Wifiesp-example/mqtt-esp8266-Wifiesp-example.ino at master · qnap-dev/qnap-qiot-sdks
Używając Seeeduino jako przykładu, działa tak samo jak inne płytki deweloperskie Arduino Uno
Uwaga: ESP-01 obsługuje tylko napięcie 3,3 V, dlatego podczas korzystania z Seeeduino należy zmienić napięcie na 3,3 V. (W przypadku używania Arduino Uno lub innych płytek deweloperskich zmodyfikuj schemat połączeń według własnych potrzeb. Poniżej znajduje się obraz referencyjny).
Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:
Ten kod zarządza danymi reprezentującymi odbiór wiadomości, a następnie sterowanie diodą LED (na przykład: jeśli odebrana wartość danych wynosi „1", dioda LED zostaje włączona).
Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.
Ten kod zarządza głównym zadaniem, które pakuje wiadomości wejściowe do formatu „{"value":"0"}" i „{"value":"1"}", a następnie publikuje je w QIoT Suite Lite.
Po skonfigurowaniu kliknij przycisk, a dioda LED zostanie włączona. Jednocześnie przycisk w pulpicie nawigacyjnym QIoT Suite Lite również zostanie włączony, jak pokazano poniżej:
- ESP8266 z użyciem Arduino Core
- ESP8266 z użyciem polecenia AT w połączeniu z Arduino
Zadanie wstępne (Używanie Arduino IDE do instalacji biblioteki i tworzenia aplikacji IoT)
- W tym przykładzie używamy protokołu MQTT (więcej informacji można znaleźć na stronie https://pubsubclient.knolleary.net/ ).
- Dodaj nową aplikację IoT (patrz „Jak wyświetlić dane DHT11 na pulpicie nawigacyjnym QIoT?")
Jako przykłady używamy „button" i „led" (zarówno Nazwa zasobu, jak i ID zasobu to „button" i „led").
- Przejdź do strony „Reguła", połącz dane z „button" z pulpitem nawigacyjnym i wyślij status do urządzenia.
- Skonfiguruj węzeł QBroker: Ustaw zasób „button" jako „MQTT Message In"
- Skonfiguruj QDashboard: Użyj nazwy „Button" (Dotyczy to wyłącznie QIoT Suite Lite w wersji 1.1.1xx. Jeśli używasz nowszej wersji QIoT Suite Lite, zapoznaj się z: „Jak używać pulpitu nawigacyjnego po aktualizacji QIoT Suite Lite z v1.1.1 do v1.1.2?"
- Skonfiguruj węzeł zmiany: Przenieś „msg.payload.value" do „msg.payload"
- Skonfiguruj węzeł QBroker: Ustaw zasób „led" jako „MQTT Message Out"
- Przejdź do strony „Pulpit nawigacyjny", aby zobaczyć status przycisku
Więcej przykładów pliku json można znaleźć pod poniższym linkiem:
qnap-qiot-sdks/projects/esp8266-example/qiot-suite-lite-export/ESP8266.json at master · qnap-dev/qnap-qiot-sdks
ESP8266 z użyciem Arduino Core
Korzystanie z bibliotek open source firm trzecich – Arduino core dla układu WiFi ESP8266: GitHub - esp8266/Arduino: ESP8266 core for Arduino
Przykładowy program:
qnap-qiot-sdks/projects/esp8266-example/arduino-core/mqtt-esp8266-example/mqtt-esp8266-example.ino at master · qnap-dev/qnap-qiot-sdks
Używając nodemcu jako przykładu (działa tak samo jak inne układy ESP8266 w obudowie) zmodyfikuj schemat połączeń według własnych potrzeb. Poniżej znajduje się obraz referencyjny:
Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:
Ten kod zarządza danymi reprezentującymi odbiór wiadomości, a następnie sterowanie diodą LED (na przykład: jeśli odebrana wartość danych wynosi „1", dioda LED zostaje włączona).
Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.
Ten kod zarządza głównym zadaniem, które pakuje wiadomości wejściowe do formatu „{"value":"0"}" i „{"value":"1"}", a następnie publikuje je w QIoT Suite Lite.
Po skonfigurowaniu kliknij przycisk, a dioda LED zostanie włączona. Jednocześnie przycisk w pulpicie nawigacyjnym QIoT Suite Lite również zostanie włączony, jak pokazano poniżej:
ESP8266 z użyciem polecenia AT w połączeniu z Arduino
Korzystanie z bibliotek open source firm trzecich – WiFiEsp: GitHub - bportaluri/WiFiEsp: Arduino WiFi library for ESP8266 modules
Przykładowy program:
qnap-qiot-sdks/projects/esp8266-example/at-command-with-arduino/mqtt-esp8266-Wifiesp-example/mqtt-esp8266-Wifiesp-example.ino at master · qnap-dev/qnap-qiot-sdks
Używając Seeeduino jako przykładu, działa tak samo jak inne płytki deweloperskie Arduino Uno
Uwaga: ESP-01 obsługuje tylko napięcie 3,3 V, dlatego podczas korzystania z Seeeduino należy zmienić napięcie na 3,3 V. (W przypadku używania Arduino Uno lub innych płytek deweloperskich zmodyfikuj schemat połączeń według własnych potrzeb. Poniżej znajduje się obraz referencyjny).
Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:
Ten kod zarządza danymi reprezentującymi odbiór wiadomości, a następnie sterowanie diodą LED (na przykład: jeśli odebrana wartość danych wynosi „1", dioda LED zostaje włączona).
Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.
Ten kod zarządza głównym zadaniem, które pakuje wiadomości wejściowe do formatu „{"value":"0"}" i „{"value":"1"}", a następnie publikuje je w QIoT Suite Lite.
Po skonfigurowaniu kliknij przycisk, a dioda LED zostanie włączona. Jednocześnie przycisk w pulpicie nawigacyjnym QIoT Suite Lite również zostanie włączony, jak pokazano poniżej: