首先需要拿到两个信息:
- 华为云物联网平台的接入信息,也就是URL和PORT。接入信息通过下图可以看到。
2. 华为云物联网平台的设备连接鉴权信息。可以参考设备连接鉴权 。简单来讲,就是通过注册设备时的设备ID和密钥生成设备连接鉴权所需的参数(ClientId、Username、Password)。生成参数的链接
安装代码库
其次,设备侧作为MQTT的客户端,需要编写相关代码。基于Arduino IDE开发,可以使用现成的库减少工作量。
- 安装
PubSubClient
库,用于连接和交互MQTT代理服务器(IoTDA)。 - 安装
ArduinoJson
库,用于解析和生成 JSON 数据。
功能实现
基于IoTDA平台实现智能开关,代码要实现以下功能:
- 设备进行WiFi连接与网络通信。
- 设备通过MQTT协议接入IoTDA平台。
- 设备接收IoTDA平台下发的消息。
- 设备根据消息执行相应的控制操作。
WiFi连接
#include <ESP8266WiFi.h>
const char\* ssid = "xxx"; //wifi名称
const char\* password = "xxx"; //wifi密码
void setup\_wifi() {
delay(10);
// We start by connecting to WiFi
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiF