如何使用 ESP8266 连接到 QNAP QIoT Suite Lite?


最后修订日期: 2018-10-24

在本教程中,您将了解如何使用 ESP8266 通过 MQTT 将数据传输并接收到 QIoT Suite Lite。由于 ESP8266 具有不同的固件、规范和说明,因此有两种常见的方法:

  • 使用 Arduino Core 的 ESP8266
  • 结合使用 AT 命令与 Arduino 的 ESP8266

就绪任务(使用 Arduino IDE 安装库并建立 IoT 应用程序)

  1. 在本示例中,我们使用 MQTT(有关更多信息,请访问 https://pubsubclient.knolleary.net/)。
  2. 添加新 IoT 应用程序(请参考“如何在 QIoT 仪表板上显示 DHT11 数据?”)
    我们使用“button”和“led”作为示例(“Resource Name”(资源名称)和“Resource ID”(资源 ID)都是“button”和“led”)。
  3. 转到“Rule”(规则)页面,将数据从“button”连接到仪表板,同时将状态发送到您的设备。
  4. 设置 QBroker 节点:将“button”资源设置为“MQTT Message In
  5. 设置 QDashboard:使用名称“Button”(仅适用于 QIoT Suite Lite 版本 1.1.1xx。如果使用的是较高版本的 QIoT Suite Lite,请参考:“将 QIoT Suite Lite 从 v1.1.1 更新到 v1.1.2 后如何使用仪表板?
  6. 设置更改节点:将“msg.payload.value”移动到“msg.payload
  7. 设置 QBroker 节点:将“led”资源设置为“MQTT Message Out
  8. 转到“Dashboard”(仪表板)页面查看“Button”(按钮)状态

有关 json 文件的更多示例,请参考以下链接:
https://github.com/qnap-dev/qnap-qiot-sdks/blob/master/projects/esp8266-example/qiot-suite-lite-export/ESP8266.json


使用 Arduino Core 的 ESP8266

使用第三方开源库 -适用于 ESP8266 WiFi 芯片的 Arduino core:https://github.com/esp8266/Arduino

示例程序:
https://github.com/qnap-dev/qnap-qiot-sdks/blob/master/projects/esp8266-example/arduino-core/mqtt-esp8266-example/mqtt-esp8266-example.ino

使用 nodemcu 作为示例(其与其他 ESP8266 封装晶元一样)自行修改关系电路。参考图像如下: 


根据您的 resourceinfo.json 文件修改以下内容:

此代码完成代表接收消息随后控制 LED 的数据(例如,如果收到的数据值为“1”,则点亮 LED)。

此代码完成第一次连接和重新连接。也可以在此处设置订阅。

此代码完成将输入消息打包为“{"value":"0"}”和“{"value":"1"}”且随后发布到 QIoT Suite Lite 的主任务。

设置后,单击“Button”(按钮),随后将点亮 LED。同时 QIoT Suite Lite 仪表板中的“Button”(按钮)也将点亮,如下所示:



结合使用 AT 命令与 Arduino 的 ESP8266

使用第三方开源库 -WiFiEsp:https://github.com/bportaluri/WiFiEsp

示例程序:
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

使用 Seeeduino 作为示例,其与其他 Arduino Uno 开发板一样

注意:ESP-01 仅支持 3.3V,因此,当使用 Seeeduino 时,请将电压更改为 3.3V。(使用 Arduino Uno 或其他开发板时,自行修改关系电路。参考图像如下)。


根据您的 resourceinfo.json 文件修改以下内容:

此代码完成代表接收消息随后控制 LED 的数据(例如,如果收到的数据值为“1”,则点亮 LED)。

此代码完成第一次连接和重新连接。也可以在此处设置订阅。

此代码完成将输入消息打包为“{"value":"0"}”和“{"value":"1"}”且随后发布到 QIoT Suite Lite 的主任务。

设置后,单击“Button”(按钮),随后将点亮 LED。同时 QIoT Suite Lite 仪表板中的“Button”(按钮)也将点亮,如下所示:


这篇文章有帮助吗?

84% 的人认为有帮助。
谢谢您,我们已经收到您的意见。

请告诉我们如何改进这篇文章:

如果您想提供其他意见,请于下方输入。

选择规格

      显示更多 隐藏更多
      open menu
      back to top