文章目录
-
-
- 1 阿里云物联网平台
- 2 MQTT.fx虚拟设备连接
-
- 2.1 配置设备连接(建立连接)
- 2.2 配置订阅和发布(数据通信)
- 3 ESP8266真实设备连接
-
- 3.1 配置设备连接(建立连接)
- 3.2 配置订阅和发布(数据通信)
- 4 设置云产品流转(以MQTT.fx和ESP8266为例)
- 5 生活物联网与手机APP连接
-
1 阿里云物联网平台
-
官方文档:https://help.aliyun.com/product/30520.html
官方控制台:https://iot.console.aliyun.com/lk/summary/new -
左边有产品和设备,产品是抽象的品类,比如说电灯,空调等等。
设备是品类下具体的物品,和实物一一对应的云端信息,比如电灯1,电灯2,电灯-卧室,电灯-门口等等。
-
新建一个产品,可以看到物品属性的定义,比如等有开关,亮度,色温等等,这些信息的json数据简称物模型。
-
新建一个设备,可以看到设备唯一标识与MQTT连接参数,用于后面的本地连接。
-
另外,可以在文档与工具类里找到IOT Studio的文档,进行简易的云上APP开发。
控制台地址为:https://studio.iot.aliyun.com/
2 MQTT.fx虚拟设备连接
2.1 配置设备连接(建立连接)
-
首先原本设备是离线或未激活状态。
-
MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端,支持Windows、Mac和Linux操作系统,可用于验证设备是否可与物联网平台正常连接,并通过Topic订阅和发布消息。
官网地址:https://mqttfx.jensd.de/index.php/download -
单击菜单栏中的Extras,选择Edit Connection Profiles。
在Edit Connection Profiles页面,完成以下参数的设置。
-
TLS直连模式(即securemode=2)下,单击SSL/TLS,选中Enable SSL/TLS,设置Protocol为TLSv1.2。
-
然后保存并且连接就行,此时可以看到云设备在线。
2.2 配置订阅和发布(数据通信)
-
在云端的产品中,定义一个支持发布和订阅的Topic类,之后将使用该类作为地址进行数据通信
-
拷贝该地址到MQTT.fx,并替换${deviceName}为自己的设备名称,此时就可以点publish进行上传数据到云端。
-
也可以点击订阅subcribe自动接收和下载云端的数据。
-
可以在本地和云端查看通信的日志:
3 ESP8266真实设备连接
3.1 配置设备连接(建立连接)
- 在连接之前,首先要用烧录器烧录支持MQTT的固件
软件是这个flash_download_tool_3.8.7
固件是这个ESP8266-AT-1M
固件是通用的,烧过一次以后换不同的账号,平台,设备,都可以直接用
注意烧录用的连接电脑的USB主板和平时通信的不是同一个。
- 然后开始设备和阿里云的连接,我们使用XCOM V2.0.exe工具进行,指令如下。
AT是命令,RST和RESTORE都是重启设备的意思,是通用的,ntp1.aliyun也是通用域名,都直接复制就行。
需要修改的是wifi账号密码,MQTT的用户名,密码,ClienID,连接域名这部分。
这些信息与上面连接MQTT.fx的时候是一样的,在云端设备的MQTT连接参数中可以找到。AT+RST AT+RESTORE AT+CWMODE=1 AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com" AT+CWJAP="WiFi名字","WiFi密码" AT+MQTTUSERCFG=0,1,"NULL","用户名","密码",0,0,"" AT+MQTTCLIENTID=0,"ClienId" //clientId第二个参数注意每个逗号后加分隔符“”,例如:t|securemode=3,signmethod=hmacsha1, AT+MQTTCONN=0,"连接域名",1883,1 //连接域名中的端口号已经被提到后面了,所以删去“:1883”
- 下面正式建立连接,注意要选一下串口和波特率。
3.2 配置订阅和发布(数据通信)
- 在云端的产品中,定义一个支持发布和订阅的Topic类,之后将使用该类作为地址进行数据通信
- 本地使用如下指令进行发布和订阅
通信指令 AT+MQTTSUB=0,"topic",1 订阅 AT+MQTTPUB=0,"topic","test_message",1,0 发布 可以使用自定义的Topic,在日志服务上看 注意如果使用AJSON的Topic及物模型形式 则发布中"test"为JSON字符串 "和,前加
4 设置云产品流转(以MQTT.fx和ESP8266为例)
- 云产品流转原理:
实现有2个设备,设备1发送信息给云,云将信息发送给设备2的操作。这里我们以MQTT.fx和ESP8266为例配置云产品流转。
- 在云产品流转中设置数据源和数据目的。数据源为ESP8266自定义的Topic类,数据目的为MQTT.fx设备自定义的Topic类。
- 然后配置解析器,进行指向操作,这里有一份简单的代码编写。意思是从接受到的数据中取出一部分items进行转发到另一个数据源。
- 此时再使用AT让ESP8266向云端发送数据,会发现本地的MQTT.fx上接收到了刚才发送的内容,配置完成。
5 生活物联网与手机APP连接
-
官方文档:https://help.aliyun.com/document_detail/142147.html
官方控制台:https://living.aliyun.com/
-
我们发现,物联网平台的IoTStudio开发的手机APP非常简陋,因此需要自己使用SDK进行APP的开发。生活物联网也有这种操作,但是它也提供了另外一种方式,官方的APP可供使用。公版APP名为云智能,可以在应用市场上下载到。
-
这是生活物联网的配置。
-
一个值得注意的点,生活物理网里新建的产品和设备会被自动同步到物理网平台里,而物理网平台里新建的不会。
但是同步的产品会有一个缺陷,那就是不能自定义Topic类。 因此无法完成较为复杂功能的开发,只能用现有的功能实现。
1,点击进入阿里云官方网站:阿里云-上云就上阿里云 (aliyun.com) 2,注册登录并且进行实名认证; 如下图: 点击右上角 控制台,进入如图界面: 3,在阿里物联网云平台创建设备: 首先创建产品:大致过程如下(多图预警) 添加自定义功能: …