ESP8266接入阿里云物联网平台全过程

ESP8266接入阿里云物联网平台全过程:

先来看一下MQTT.fx客户端软件与ESP8266云下设备的关系:
ESP8266接入阿里云物联网平台全过程_第1张图片
本文讲述MQTT.fx客户端软件通过阿里云物联网平台远程控制ESP8266点亮/熄灭LED的过程。

1.阿里云物联网平台配置

①创建产品
ESP8266接入阿里云物联网平台全过程_第2张图片

②在设备管理->设备处,点击添加设备,产品选择刚刚创建的TEST
ESP8266接入阿里云物联网平台全过程_第3张图片

点击确认,弹出设备证书(三元素,很重要),可先将三元素一键复制到TXT文件中
ESP8266接入阿里云物联网平台全过程_第4张图片

此时,新添加的设备显示未激活

③同理,再新建一个设备
ESP8266接入阿里云物联网平台全过程_第5张图片

ESP8266接入阿里云物联网平台全过程_第6张图片

此时可以看到,我们添加的两个新设备都未激活。
ESP8266接入阿里云物联网平台全过程_第7张图片

④点击产品栏,双击选择TEST产品,可以看到产品信息,我们选择Topic类列表,点击定义Topic类。设备操作权限选择发布和订阅。
ESP8266接入阿里云物联网平台全过程_第8张图片

之后我们可以在新添加的两个设备中看到多出了发布和订阅的Topic
ESP8266接入阿里云物联网平台全过程_第9张图片

ESP8266接入阿里云物联网平台全过程_第10张图片
把这两个设备的Topic也复制到TXT文件中(后面要用上的)

2.MQTT.fx客户端软件接入阿里云物联网平台:

①我们接下来要根据三元素获取MQTT域名、ClientID、UserName和Password。(我使用的是MQTT单片机编程工具)
输入SN/MAC处一般是填写设备序列号或者MAC地址,我此处就随意起个名字了(就用云端设备的名字吧)
黏贴激活凭证的product_key、device_name和device_secret对应云端设备的三元素。
输入完三元素后点击生成基本信息:
ESP8266接入阿里云物联网平台全过程_第11张图片

同理,获得另外一个设备的MQTT域名、ClientID、UserName和Password。

②打开MQTT.fx软件客户端
ESP8266接入阿里云物联网平台全过程_第12张图片

ESP8266接入阿里云物联网平台全过程_第13张图片
配置完成,点击OK。我们点击Connect,右侧绿灯显示MQTT.fx客户端软件已经连接上了阿里云物联网平台。

③将MQTT@Ali_CloudEndDevice的Topic复制到Subscribe,点击Subscribe订阅主题。
ESP8266接入阿里云物联网平台全过程_第14张图片
④将MQTT@Ali_CloudEndDevice的Topic复制到Publish,在输入框中输入hello world,点击Publish发布主题。
ESP8266接入阿里云物联网平台全过程_第15张图片

⑤在Subscribe可以看到,MQTT.fx订阅消息成功
ESP8266接入阿里云物联网平台全过程_第16张图片
这过程是MQTT.fx客户端软件与阿里云物联网平台建立TCP连接后,通过MQTT.fx发布消息向阿里云物联网平台传输“hello world”,然后MQTT.fx又从阿里云物联网平台订阅消息获取“hello world”

3.ESP8266接入阿里云物联网平台:

①规则引擎->创建规则:
ESP8266接入阿里云物联网平台全过程_第17张图片
②编写SQL:
ESP8266接入阿里云物联网平台全过程_第18张图片
③添加操作:
ESP8266接入阿里云物联网平台全过程_第19张图片
转发数据总览:
ESP8266接入阿里云物联网平台全过程_第20张图片

此时,我们创建的规则状态显示“未启动”,需要我们在操作栏点击“启动”运行规则。
ESP8266接入阿里云物联网平台全过程_第21张图片

4.修改代码相关参数

ESP8266接入阿里云物联网平台全过程_第22张图片

ESP8266接入阿里云物联网平台全过程_第23张图片
ESP8266接入阿里云物联网平台全过程_第24张图片
之后,点击保存,选中项目右键Clean Project和Build Project。
再下载:
ESP8266接入阿里云物联网平台全过程_第25张图片

5.测试运行

①按下开发板的reset,等待一会(等待ESP8266与阿里云物联网平台建立TCP连接成功)
②Publish
ESP8266接入阿里云物联网平台全过程_第26张图片
③Subscribe
ESP8266接入阿里云物联网平台全过程_第27张图片
④Publish

{
    "Button":"ON"
}

则LED点亮
ESP8266接入阿里云物联网平台全过程_第28张图片
若Publish

{
    "Button":"OFF"
}

则LED熄灭

我们在阿里云物联网平台上可以看到,此时MQTT.fx对应的云端设备和ESP8266对应的云端设备都已经被激活。
ESP8266接入阿里云物联网平台全过程_第29张图片

6.测试过程中遇到的问题:ESP8266对应的云端设备无法激活

Publish

{
    "Button":"ON"
}

并不能点亮LED。

尝试的解决方法:
打开安信可串口调试助手,reset开发板查看原因:
ESP8266接入阿里云物联网平台全过程_第30张图片
ESP8266与阿里云物联网平台未能成功建立TCP连接
a.检查代码中MQTT域名、ClientID、UserName和Password有没有问题
b.检查规则引擎中转发数据的转发目的地的主题(Topic)有没有问题

然而我检查来检查去,都没能找到问题在哪里。

后来我就自己再新添加了一个云端设备ESP8266IOT,再把规则引擎中转发数据的转发目的地改为新添加的云端设备ESP8266IOT,对应的代码也进行相关的参数更改。
最后运行时TCP建立成功:
ESP8266接入阿里云物联网平台全过程_第31张图片
MQTT.fx客户端发

{
    "Button":"ON"
}

点亮LED,

{
    "Button":"OFF"
}

熄灭LED,并能在串口调试助手看到接收到的消息。
ESP8266接入阿里云物联网平台全过程_第32张图片
附:
MQTT.fx官方下载
安信可串口调试助手下载
MQTT单片机编程小工具
ESP8266接入阿里云物联网平台代码

你可能感兴趣的:(ESP8266,阿里云物联网平台,远程控制)