赞
踩
用arduino软件让ESP8266连接到阿里云,进而和云进行通信。
效果图:
首先要用Arduino的SDK,需要下载库文件 AliyunIoTSDK、ArduinoJson、 PubSubClient、Crypto、AWS-SDK-ESP8266库。
AliyunIoTSDK,包含连接阿里云功能的SDK。
PubSubClient,包含阿里云发布/订阅功能的SDK。
Crypto,有加密功能的sdk。
ArduinoJson,解析Json数据格式的SDK。
库文件准备好,配置阿里云的环境。
Arduino编程
1、写入你自己的产品名称
#define PRODUCT_KEY "PRODUCT_KEY"
#define DEVICE_NAME "DEVICE_NAME"
#define DEVICE_SECRET "DEVICE_SECRET"
#define REGION_ID "REGION_ID"
AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
接收
AliyunIoTSDK::bindData("LightSwitch(你自己设置的标识符)", lightCallback(回调函数);
发送
AliyunIoTSDK::send("LightLuminance(标识符)", 100(数据));
void lightCallback(JsonVariant data1)
{
int LightSwitch = data1["LightSwitch"];
if (LightSwitch == 1)
{
Serial.println("kaideng");
digitalWrite(LED, HIGH); // 启动设备
}
else {
Serial.println("guandeng");
digitalWrite(LED, LOW);
}
}
6、编译,如果串口返回MQTT Connect err : 2,说明MQTT没有连接
此时更改PubSubClient.h文件中的两个宏MQTT_MAX_PACKET_SIZE和MQTT_KEEPALIVE,将其改大点,改成1024和60。
7、现在可以开始调试了,如图登陆成功就会显示在线或离线以及最后一次连接时间
调试,点击设备在线调试,如果想发什么数据,发送数据,点击设置就是发送,读取数据点击获取就ok了,至此调试完成。
源码公众号可留言邮箱。
最后,请多多支持,谢谢大家!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。