概述
ESP8266接入阿里云物联网平台全过程:
先来看一下MQTT.fx客户端软件与ESP8266云下设备的关系:
本文讲述MQTT.fx客户端软件通过阿里云物联网平台远程控制ESP8266点亮/熄灭LED的过程。
1.阿里云物联网平台配置
①创建产品
②在设备管理->设备处,点击添加设备,产品选择刚刚创建的TEST
点击确认,弹出设备证书(三元素,很重要),可先将三元素一键复制到TXT文件中
此时,新添加的设备显示未激活
③同理,再新建一个设备
此时可以看到,我们添加的两个新设备都未激活。
④点击产品栏,双击选择TEST产品,可以看到产品信息,我们选择Topic类列表,点击定义Topic类。设备操作权限选择发布和订阅。
之后我们可以在新添加的两个设备中看到多出了发布和订阅的Topic
把这两个设备的Topic也复制到TXT文件中(后面要用上的)
2.MQTT.fx客户端软件接入阿里云物联网平台:
①我们接下来要根据三元素获取MQTT域名、ClientID、UserName和Password。(我使用的是MQTT单片机编程工具)
输入SN/MAC处一般是填写设备序列号或者MAC地址,我此处就随意起个名字了(就用云端设备的名字吧)
黏贴激活凭证的product_key、device_name和device_secret对应云端设备的三元素。
输入完三元素后点击生成基本信息:
同理,获得另外一个设备的MQTT域名、ClientID、UserName和Password。
②打开MQTT.fx软件客户端
配置完成,点击OK。我们点击Connect,右侧绿灯显示MQTT.fx客户端软件已经连接上了阿里云物联网平台。
③将MQTT@Ali_CloudEndDevice的Topic复制到Subscribe,点击Subscribe订阅主题。
④将MQTT@Ali_CloudEndDevice的Topic复制到Publish,在输入框中输入hello world,点击Publish发布主题。
⑤在Subscribe可以看到,MQTT.fx订阅消息成功
这过程是MQTT.fx客户端软件与阿里云物联网平台建立TCP连接后,通过MQTT.fx发布消息向阿里云物联网平台传输“hello world”,然后MQTT.fx又从阿里云物联网平台订阅消息获取“hello world”
3.ESP8266接入阿里云物联网平台:
①规则引擎->创建规则:
②编写SQL:
③添加操作:
转发数据总览:
此时,我们创建的规则状态显示“未启动”,需要我们在操作栏点击“启动”运行规则。
4.修改代码相关参数
之后,点击保存,选中项目右键Clean Project和Build Project。
再下载:
5.测试运行
①按下开发板的reset,等待一会(等待ESP8266与阿里云物联网平台建立TCP连接成功)
②Publish
③Subscribe
④Publish
{
"Button":"ON"
}
则LED点亮
若Publish
{
"Button":"OFF"
}
则LED熄灭
我们在阿里云物联网平台上可以看到,此时MQTT.fx对应的云端设备和ESP8266对应的云端设备都已经被激活。
6.测试过程中遇到的问题:ESP8266对应的云端设备无法激活
Publish
{
"Button":"ON"
}
并不能点亮LED。
尝试的解决方法:
打开安信可串口调试助手,reset开发板查看原因:
ESP8266与阿里云物联网平台未能成功建立TCP连接
a.检查代码中MQTT域名、ClientID、UserName和Password有没有问题
b.检查规则引擎中转发数据的转发目的地的主题(Topic)有没有问题
然而我检查来检查去,都没能找到问题在哪里。
后来我就自己再新添加了一个云端设备ESP8266IOT,再把规则引擎中转发数据的转发目的地改为新添加的云端设备ESP8266IOT,对应的代码也进行相关的参数更改。
最后运行时TCP建立成功:
MQTT.fx客户端发
{
"Button":"ON"
}
点亮LED,
发
{
"Button":"OFF"
}
熄灭LED,并能在串口调试助手看到接收到的消息。
附:
MQTT.fx官方下载
安信可串口调试助手下载
MQTT单片机编程小工具
ESP8266接入阿里云物联网平台代码
最后
以上就是感动歌曲为你收集整理的ESP8266接入阿里云物联网平台全过程的全部内容,希望文章能够帮你解决ESP8266接入阿里云物联网平台全过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复