Nawiązywanie połączenia z oprogramowaniem QNAP QIoT Suite Lite z układu ESP8266
W tym samouczku dowiesz się jak, używać protokołu MQTT do przesyłania i odbierania danych z aplikacji QIoT Suite Lite za pomocą ESP8266. Ponieważ urządzenie ESP8266 ma różne oprogramowania układowe, specyfikacje i instrukcje, powszechnie stosowane są dwie metody:
- ESP8266 z wykorzystaniem Arduino Core
- ESP8266 z wykorzystaniem AT Command w połączeniu z Arduino
Gotowe zadanie (z użyciem interfejsu Arduino IDE do instalacji Library (Biblioteka) i ustanowienia aplikacji IoT Application)
- W tym przykładzie korzystamy z protokołu MQTT (aby uzyskać więcej informacji, odwiedź stronę https://pubsubclient.knolleary.net/).
- Dodaj nową aplikację IoT (zobacz „Jak pokazać dane DHT11 na pulpicie nawigacyjnym QIoT”)
Używamy nazw „button” i „led” jako przykładów (zarówno Nazwa zasobu jak Identyfikator zasobu to „button” i „led”).

- Przejdź do strony „Reguła”, połącz dane „button” z pulpitem nawigacyjnym i wyślij również stan do urządzenia.

- Skonfiguruj węzeł QBroker: Skonfiguruj zasób „button” jako „Wejście komunikatu MQTT”

- Skonfiguruj QDashboard: Użyj nazwy „Przycisk” (dotyczy to tylko oprogramowania QIoT Suite Lite w wersji 1.1.1xx). W przypadku stosowania późniejszej wersji aplikacji QIoT Suite Lite zobacz: „Jak korzystać z Pulpitu nawigacyjnego po aktualizacji QIoT Suite Lite z wersji v1.1.1 do v1.1.2?”

- Skonfiguruj węzeł zmiany: Przenieś „msg.payload.value” do „msg.payload”

- Skonfiguruj węzeł QBroker: Skonfiguruj zasób „led” jako „Wyjście komunikatu MQTT”

- Przejdź do strony „Panel sterowania”, aby zobaczyć stan elementu Przycisk

Aby zobaczyć więcej przykładów pliku json, zobacz łącze niżej:
https://github.com/qnap-dev/qnap-qiot-sdks/blob/master/projects/esp8266-example/qiot-suite-lite-export/ESP8266.json
ESP8266 z wykorzystaniem Arduino Core
Z wykorzystaniem bibliotek Open Source innych firm — Arduino core dla układu WiFi ESP8266: https://github.com/esp8266/Arduino
Przykładowy program:
https://github.com/qnap-dev/qnap-qiot-sdks/blob/master/projects/esp8266-example/arduino-core/mqtt-esp8266-example/mqtt-esp8266-example.ino
Korzystając z nodemcu jako przykładu (jest taki sam jak w przypadku innych gotowych pakietów ESP8266) zmodyfikuj obwód powiązania samodzielnie. Poniżej przedstawiamy ilustrację referencyjną:


Zmodyfikuj następujące instrukcje w oparciu o plik resourceinfo.json:

Ten kod służy do obsługi danych przedstawiających odbieranie komunikatu, a następnie sterujących diodą LED (np. jeśli wartość odebranych danych to 1, dioda zostaje zaświecona).

Ten kod służy do obsługi pierwszego połączenia i ponownego połączenia. Można tutaj również skonfigurować subskrypcje.

Ten kod służy do obsługi głównego zadania, które pakuje komunikaty wejściowe do „{"value":"0"}” i „{"value":"1"}”, a następnie publikuje je w aplikacji QIoT Suite Lite.

Po skonfigurowaniu kliknij Przycisk, a zaświeci doda LED. Równocześnie Przycisk w Panelu sterowania QIoT Suite Lite będzie włączony, jak widać niżej:


Układ ESP8266 z wykorzystaniem polecenia AT w połączeniu z Arduino
Korzystanie z bibliotek Open Source innych firm — WiFiEsp: https://github.com/bportaluri/WiFiEsp
Przykładowy program:
https://github.com/qnap-dev/qnap-qiot-sdks/blob/master/projects/esp8266-example/at-command-with-arduino/mqtt-esp8266-Wifiesp-example/mqtt-esp8266-Wifiesp-example.ino
Z wykorzystaniem Seeeduino jako przykładem i jest taki sam jak inne tablice do rozwijania Arduino Uno
Uwaga: Układ ESP-01 obsługuje tylko napięcie 3,3 V, toteż w przypadku korzystania z Seeeduino należy zmienić napięcie do 3,3 V. (W przypadku korzystania z płyt deweloperskich Arduino Uno lub innych należy zmodyfikować obwód powiązania samodzielnie. Poniżej przedstawiamy ilustrację referencyjną).


Zmodyfikuj następujące instrukcje w oparciu o plik resourceinfo.json:

Ten kod służy do obsługi danych przedstawiających odbieranie komunikatu, a następnie sterujących diodą LED (np. jeśli wartość odebranych danych to 1, dioda zostaje zaświecona).

Ten kod służy do obsługi pierwszego połączenia i ponownego połączenia. Można tutaj również skonfigurować subskrypcje.

Ten kod służy do obsługi głównego zadania, które pakuje komunikaty wejściowe do „{"value":"0"}” i „{"value":"1"}”, a następnie publikuje je w aplikacji QIoT Suite Lite.

Po skonfigurowaniu kliknij Przycisk, a zaświeci doda LED. Równocześnie Przycisk w Panelu sterowania QIoT Suite Lite będzie włączony, jak widać niżej:

