【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

文章目录

      • 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,电灯-卧室,电灯-门口等等。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 新建一个产品,可以看到物品属性的定义,比如等有开关,亮度,色温等等,这些信息的json数据简称物模型
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 新建一个设备,可以看到设备唯一标识与MQTT连接参数,用于后面的本地连接。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 另外,可以在文档与工具类里找到IOT Studio的文档,进行简易的云上APP开发
    控制台地址为:https://studio.iot.aliyun.com/
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

2 MQTT.fx虚拟设备连接

2.1 配置设备连接(建立连接)

  • 首先原本设备是离线或未激活状态。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端,支持Windows、Mac和Linux操作系统,可用于验证设备是否可与物联网平台正常连接,并通过Topic订阅和发布消息。
    官网地址:https://mqttfx.jensd.de/index.php/download

  • 单击菜单栏中的Extras,选择Edit Connection Profiles。
    在Edit Connection Profiles页面,完成以下参数的设置。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • TLS直连模式(即securemode=2)下,单击SSL/TLS,选中Enable SSL/TLS,设置Protocol为TLSv1.2。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 然后保存并且连接就行,此时可以看到云设备在线。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

2.2 配置订阅和发布(数据通信)

  • 在云端的产品中,定义一个支持发布和订阅的Topic类,之后将使用该类作为地址进行数据通信
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 拷贝该地址到MQTT.fx,并替换${deviceName}为自己的设备名称,此时就可以点publish进行上传数据到云端
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 也可以点击订阅subcribe自动接收和下载云端的数据
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 可以在本地和云端查看通信的日志:
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

3 ESP8266真实设备连接

3.1 配置设备连接(建立连接)

  • 在连接之前,首先要用烧录器烧录支持MQTT的固件
    软件是这个flash_download_tool_3.8.7
    固件是这个ESP8266-AT-1M
    固件是通用的,烧过一次以后换不同的账号,平台,设备,都可以直接用
    注意烧录用的连接电脑的USB主板和平时通信的不是同一个
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
  • 然后开始设备和阿里云的连接,我们使用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”
    
  • 下面正式建立连接,注意要选一下串口和波特率。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

3.2 配置订阅和发布(数据通信)

  • 在云端的产品中,定义一个支持发布和订阅的Topic类,之后将使用该类作为地址进行数据通信
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
  • 本地使用如下指令进行发布和订阅
    通信指令
    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真实设备AT串口连接,支持MQTT协议通信
  • 在云产品流转中设置数据源和数据目的。数据源为ESP8266自定义的Topic类,数据目的为MQTT.fx设备自定义的Topic类。【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
  • 然后配置解析器,进行指向操作,这里有一份简单的代码编写。意思是从接受到的数据中取出一部分items进行转发到另一个数据源。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
  • 此时再使用AT让ESP8266向云端发送数据,会发现本地的MQTT.fx上接收到了刚才发送的内容,配置完成。

5 生活物联网与手机APP连接

  • 官方文档:https://help.aliyun.com/document_detail/142147.html
    官方控制台:https://living.aliyun.com/
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 我们发现,物联网平台的IoTStudio开发的手机APP非常简陋,因此需要自己使用SDK进行APP的开发。生活物联网也有这种操作,但是它也提供了另外一种方式,官方的APP可供使用。公版APP名为云智能,可以在应用市场上下载到。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 这是生活物联网的配置。
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信
    【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

  • 一个值得注意的点,生活物理网里新建的产品和设备会被自动同步到物理网平台里,而物理网平台里新建的不会
    但是同步的产品会有一个缺陷,那就是不能自定义Topic类。 因此无法完成较为复杂功能的开发,只能用现有的功能实现。

本文章来源于互联网,如有侵权,请联系删除!原文地址:【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信

相关推荐: 搭建阿里云物联网平台实现MQTT通信

1,点击进入阿里云官方网站:阿里云-上云就上阿里云 (aliyun.com) 2,注册登录并且进行实名认证; 如下图: 点击右上角 控制台,进入如图界面:  3,在阿里物联网云平台创建设备:   首先创建产品:大致过程如下(多图预警)    添加自定义功能: …