【银尔达DTU配置平台】(Air780)电信AIoT-MQTT配置测试实例

目前只有Air780支持,固件版本等于大于V1.1.1

使用任何平台本质都是MQTT协议协议通讯,这个难点是搞清楚平台的通讯规则,理清楚订阅topic,发布topic和数据格式(物模型)。

DTU目前是解决了平台基本的连接和交互问题,根据教程连接平台后,在实际实现自己的业务上用不起来。这个本质的原因是不清楚平台如何使用,平台需要的topic和物模型数据格式不清楚导致的。所以基本步骤测试完成后就要研究平台的文档和询问平台的技术支持,清楚topic和数据格式后,在继续下一步结合银尔达的技术支持,让DTU按自己业务需求上传和解析数据。

一、工具简介

DTU配置平台:https://dtu.yinerda.com

DTU测试平台:http://test.yinerda.com

串口测试软件:"YEDTestTools"软件,或者任意自己熟悉的串口调试软件。

USB转串口调试工具:"YED-UUART-211",集成电源,TTL,RS232,RS485专门为设备调试设计,或者任意自己熟悉的串口调试工具。

二、必要条件

2.1、如果您是首次使用DTU配置平台,请先参考《WEB配置入门教程》进行操作,包括设备的添加、分组的创建以及设备在分组中的分配。随后,依据本页指南完成云平台的参数设置及建立连接。

2.2、设备接上天线,插上卡,正常10W电源供电,NET LED 500ms或者1000ms闪烁一次,表示网络正常。

三、创建产品

进入连接:https://iot.ctwing.cn。整体流程是创建产品,配置参数,更新参数,使用任务处理topic。

3.1、创建产品

据需求选择,选择产品分类为边缘计算,节点类型设备,接入方法设备直连,网络类型移动蜂窝数据,通讯协议,MQTT,数据加密方法明文,认证方式特征字符串,安全类型一型一密,设备型号任意,是否透传选择透传,消息格式任意,这里选择json。

3.2、获取产品接入地址等信息

进入产品开发,设备接入地址,产品ID,产品特征字符串,这些参数配置到DTU参数里面

3.2、添加设备

使用模块的IMEI编码,在后台添加设备。

3.3、topic介绍说明

进入topic管理,这里面只有一个订阅topic,填写到DTU的 订阅消息主题 。DTU的发布topic可以任意写,平台都能接收到。

四、配置参数

4.1、根据产品配置参数

拷贝参数的时候,注意不要检查是否有空格,如果有要去掉。

4.2、更新参数

配置完参数后,点击保存参数,断电重启设备,等待设备更新参数。

如果你只有一台设备,可以在分组里面,观察未更新设备数量,如果是0表示更新。

如果有多台设备,可以在设备列表里面查看,当“分组参数版本” 等于“设备参数版本”,表示参数更新了。

4.3、观察服务器连接情况

如果参数正确,刷新页面,就能看到新增加的设备就激活了。

4.4、服务器发送数据到串口

进入指令下发界面,调试设备。发送数据格式与创建产品选择的数据类型有关系,是json就必须json。

发送的历史数据可以在“指令下发日志”里面查询

4.5、串口透传数据到服务器

发送数据格式与创建产品选择的数据类型有关系,是json就必须json。使用串口发送数据给DTU,在云端查询日志。

4.6、服务器远程控制设备

方法1:

使用透传topic,服务器调用API发送数据,可以发送config命令控制查询设备。

命令详情查看DTU命令手册:https://yinerda.yuque.com/yt1fh6/4gdtu/zyngfvlgylqny15n

方法2:

使用透传topic,服务器调用API发送数据,可以使用任务的方式,解析服务器数据,控制设备查询设备。

使用任务控制继电器参考:https://yinerda.yuque.com/yt1fh6/4gdtu/wzlywm8diivdv551

复制任务到DTUWEB平台,更新参数,控制台发送{"cmd":"on1"}控制继电器,{"cmd":"off1"}关闭继电器1。

方法3:

使用物模型topic,必须配合任务才能控制和查询设备。

4.7、物模型透传topic任务示例

本任务实现是DTU透传topic名字+,+数据给串口。串口发送topic名字+,+数据指定topic给服务器。下面demo直接拷贝到任务就能用。

function 
	local taskname="userTask"
	log.info(taskname,"start")
	local nid=1
	local uid=1
	PronetStopProRecCh(1)
	UartStopProRecCh(1)
	PronetMqttProReciveTopic(nid,1,",")
	while true do 
		local netr = PronetGetRecChAndDel(nid)
		if netr then 
			log.info(taskname,"netr",netr)
			UartSetSendCh(uid,netr)
		end 
		
		local uartr = UartGetRecChAndDel(uid)
		if uartr then 
			log.info(taskname,"uartr",uartr)
			local netsta = PronetGetNetSta(nid)
			log.info(taskname,"netsta",netsta)
			if netsta ==1 then
				local a1 ,a2 = string.find(uartr,",")
				if a1 and a1~=1 and a2 then
					local ccc={}
					ccc[1]=string.sub(uartr,1,a1-1)
					ccc[2]=string.sub(uartr,a1+1,-1)
					log.info(taskname,"send data topic is ",ccc[1],"data is ",ccc[2])
					PronetSetSendCh(nid,ccc)
				end
            end 				
		end 
		sys.wait(100)
	end 
end

4.8、物模型自动解析数据任务示例

每个特定产品功能不一样,无法做标准的,可以联系销售定制解析过程。比如需要控制RTU的继电器或者周期采集数字量,模拟量或者解析Modbus数据自动上传等功能。

这些功能的本质是组装json格式数据,然后用对应的topic上传即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值