我是靠谱客的博主 无语鸡,最近开发中收集的这篇文章主要介绍ESP8266(NODMCU模块)+Arduino IDE连接阿里云物联网实现开关控制与温度传输(小白教程),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
-
开发环境准备
首先在arduino ide中安装开发板适配环境。(用到网址http://arduino.esp8266.com/stable/package_esp8266com_index.json)
-
相应库的准备
再管理库中找到额外需要的库。(这里用到了PubSubClient;ArduinoJson;U8g2lib;其中U8g2lib是为了在我的lcd屏幕做显示用的)
-
阿里云物联网设备的添加及设备在线调试
关于添加设备bilibili上有详细的视频教程。
关联网址:https://www.bilibili.com/video/av71299561?from=search&seid=581284989892673131
关于在线调试如下:
在编辑框中输入相应命令即可下发数据。 -
程序相关内容的修改(重要)
比较重要的几点都在这里了,要注意:1.设备证书信息的修改;2.password的生成与修改。
这里用到了一个生成工具,大家可以在网上找,也可以下载我的分享,解压后用浏览器打开sign即可。(链接: https://pan.baidu.com/s/1sCT0tgkYmlmOw6RI2cQWJA 提取码: igb6) -
下发数据的截取与上传数据的格式
在设备定义好其功能后,相应功能都有对应的标识符,根据这些标识符就可以将数据一一对应的提取与上传。其中云端下发数据在callback函数中的payload数组中。上传数据通过mqttIntervalPost函数中的sprintf(param, “{“标识符”:%d}”,数据);
void callback(char *topic, byte *payload, unsigned int length)//网络反馈数据
{
Serial.print("callback ");
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
payload[length] = '