Instrukcja obsługi Jak używać ESP8266 do łączenia się z QNAP QIoT Suite Lite?

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:

  • 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)​


  1. W tym przykładzie używamy protokołu MQTT (więcej informacji można znaleźć na stronie https://pubsubclient.knolleary.net/ ).
  2. 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").

    esp8266-qiot_01.jpg
  3. Przejdź do strony „Reguła", połącz dane z „button" z pulpitem nawigacyjnym i wyślij status do urządzenia.

    esp8266-qiot_02.jpg
  4. Skonfiguruj węzeł QBroker: Ustaw zasób „button" jako „MQTT Message In"

    esp8266-qiot_03.jpg
  5. 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?"

    esp8266-qiot_04.jpg
  6. Skonfiguruj węzeł zmiany: Przenieś „msg.payload.value" do „msg.payload"

    esp8266-qiot_05.jpg
  7. Skonfiguruj węzeł QBroker: Ustaw zasób „led" jako „MQTT Message Out"

    esp8266-qiot_06.jpg
  8. Przejdź do strony „Pulpit nawigacyjny", aby zobaczyć status przycisku

    esp8266-qiot_07.jpg

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:

esp8266-qiot_08.jpg


esp8266-qiot_09.jpg


Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:

esp8266-qiot_10.jpg


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).

esp8266-qiot_11.jpg


Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.

esp8266-qiot_12.jpg


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.

esp8266-qiot_13.jpg


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-qiot_14.jpg


esp8266-qiot_15.jpg


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).

esp8266-qiot_16.jpg


esp8266-qiot_17.jpg


Zmodyfikuj poniższe elementy na podstawie pliku resourceinfo.json:

esp8266-qiot_18.jpg


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).

esp8266-qiot_19.jpg


Ten kod zarządza pierwszym połączeniem i ponownym łączeniem. Tutaj można również skonfigurować subskrypcje.

esp8266-qiot_20.jpg


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.

esp8266-qiot_21.jpg


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-qiot_22.jpg


esp8266-qiot_23.jpg