在本教程中,您将了解如何使用 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”(按钮)

  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”(按钮)也将点亮,如下所示:


arrow
arrow
    全站熱搜

    tttt 發表在 痞客邦 留言(0) 人氣()