MQTT.fx连接电信AEP平台MQTT协议

一、电信AEP平台介绍

1.注册登录AEP平台,个人用户需要认证和开启租户功能

2.进入控制台之后,可参考MQTT应用向导

本文参考AEP MQTT文档,个人进行测试觉得有些细节讲的不是很详细,没有使用过MQTT协议可能会遇到问题,
所以把我测试成功的分享给大家,写的不足的地方,烦请指出。

在这里插入图片描述

二、AEP MQTT协议使用

1.创建产品:

点击产品中心(左上角)→创建产品(右上角)
在这里插入图片描述
在这里插入图片描述
选择设备直连,特征串认证的方式进行连接MQTT,具体就不说明了,你也可以使用其他连接方式试试,在此不说明其他的连接方式,创建完成后,可点击详情进行查看,后面会讲到用到哪些数据。

2.创建设备:

在这里插入图片描述

点击“认证信息”查看设备信息:使用MQTT.fx时,设备ID对应的是Client Id,特征串就是password
在这里插入图片描述

3.服务定义:

3.1 自定义属性列表:

在这里插入图片描述

3.2 设置属性列表

在这里插入图片描述

3.3 自定义服务列表:

在这里我们先测试一下设备上报数据给服务器,在服务类型中选择“数据上报”

在这里插入图片描述
在这里插入图片描述

4.查看topic 列表

添加的服务定义后,topic列表中将自动添加topic名称:upload_data

在这里插入图片描述

完成以上步骤之后,我们添加产品,设备以及服务列表之后,云平台这边设置完成了,后面我们打开MQTT.fx
工具进行MQTT client连接测试

5.MQTT.fx 客户端连接

5.1 打开MQTT.fx测试工具
	点击设置按钮→左下角“+”,添加一个connect

在这里插入图片描述

5.2 填写相关参数:
1.Profile Name:AEP_Connect,名字随便填写
2.Profile Type:选择默认的MQTT Broker
3.Broker Address:点击产品概况→详情→设备接入IP端口→地址为:mqtt.ctwing.cn
4.Broker Port:1883

在这里插入图片描述

5.Client ID:就是对应的设备ID(设备管理中查看)
6.General中使用默认设置
7.User Credentials:
	User Name:可以使用注册的用户名,或者随意写一个名字,但不能为空
	Password:就是设备管理→认证信息中的特征串
8.SSL/TLS 认证信息不勾选,代理以及遗嘱也不使用
9.参数设置完成之后点击Apply之后进行连接测试,连接出错的话,连接按钮旁将显示连接错误的名称,连接成功之后,不显示异常,Log中显示MqttClient with ID XXXXX assigned,未连接成功查看你的信息是否输入错误

在这里插入图片描述

10.连接成功后,设备管理中的设备状态指示灯显示为在线
11.进行设备上报数据测试,即Publish
	服务标识:upload_data_flag
	发送内容:json数据格式对应的属性列表中的属性标识就是发送数据的字段switch_flag
	{"switch_flag":1}(如下图)
12.数据发送之后,在AEP平台确认Publish数据是否发送至平台并解析正确,在数据查询中输入设备ID进行查询,
	如果查询到数据,如下图,即数据发送成功,若未查询到数据,进入消息追踪并开启
	出现"Topic is wrong or not existed"查看你的publish主题(服务标识),以及服务列表中对应
	属性列表中的属性标识是否是发送内容的字段"switch_flag"(具体名字可自行定义,这里只是一个例子)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

成功数据的消息追踪
在这里插入图片描述

这里只做了数据上报的方法,至于事件上报以及指令下发并回复等,也比较类似,
也是需要服务定义→服务列表中增加内容,也就是增加topic主题,在使用下发的时候,
客户端先要进行订阅才能收到消息。

6.指令下发与指令下发响应

6.1指令下发:

首先我们得创建相关的服务,如下图

在这里插入图片描述

在设备管理中,右侧找到指令下发

在这里插入图片描述

在这里插入图片描述

点击确认后,MQTT订阅的send_data_to_device将会收到{"taskId":12,"payload":{"sw":false}} 
Json数据(前提:在AEP下发数据的时候,需要client端先订阅send_data_to_device)
打开指令下发页面,看到指令下发状态为:**指令已送达**,指定ID:12

在这里插入图片描述
到这里,该指令并未完成,还未收到设备相应的数据,也就是后面的指令下发响应

指令下发响应:
根据AEP文档说明,返回的格式
在这里插入图片描述

这里我直接将下发的数据{"taskId":12,"payload":{"sw":false}}改成
{"taskId":12,"resultPayload":{"sw":fasle}}进行发送

在这里插入图片描述

在这里插入图片描述
状态变更成“指令已完成”,返回的内容可以在“操作”这一栏进行点击查看
还有事件上报也跟上面的流程差不多,只是注意JSON数据格式
至于下发指令响应可以根据自己的需求而定,进行下发后,没有对应的响应数据返回也是没有关系的
在这里插入图片描述

如果觉得流程能走得通,能实现想要的效果,烦请各位点点赞,谢谢。

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值