我是靠谱客的博主 冷酷小甜瓜,最近开发中收集的这篇文章主要介绍【阿里云】物联网平台配置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,电灯-卧室,电灯-门口等等。
    在这里插入图片描述

  • 新建一个产品,可以看到物品属性的定义,比如等有开关,亮度,色温等等,这些信息的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类。 因此无法完成较为复杂功能的开发,只能用现有的功能实现。

最后

以上就是冷酷小甜瓜为你收集整理的【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信的全部内容,希望文章能够帮你解决【阿里云】物联网平台配置ESP8266真实设备AT串口连接,支持MQTT协议通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部