基于制造技术

技术编号:39600588 阅读:5 留言:0更新日期:2023-12-03 20:00
本发明专利技术提出基于

【技术实现步骤摘要】
基于uloop和ubus的工业网关通用MQTT协议组件


[0001]本专利技术涉及物联网
,尤其是基于
uloop

ubus
的工业网关通用
MQTT
协议组件


技术介绍

[0002]现有的物联网数据采集作业的设计,存在重复编码问题和逻辑复杂问题,给物联网相关设计带来困难

[0003]1.
重复编码问题,即:当出现新的进程需要配置联网功能时,这时候就只得重复编写联网功能代码,会产生没有必要的工作量

当出现要对接新的平台时,如阿里云平台

腾讯云平台,这时候意味着要重复编写联网的代码,其中区别性的代码只有十几行

[0004]2.
逻辑复杂问题,即:当进程中出现各种各样的传感器需要采集上网时,这时候进程中的数据采集就会出现时间上的延迟,无法达到预期的效果

并且在编码上也会相当复杂


技术实现思路

[0005]本专利技术提出基于
uloop

ubus
的工业网关通用
MQTT
协议组件,支持多个物联网平台的
MQTT
协议,通过配置文件即可完成对接修改;同时本专利技术可通过
ubus
广播的方式完成通用
MQTT
性组件和其它数据进程之间的通信,无需之前复杂的进程件通信方式

[0006]本专利技术采用以下技术方案

[0007]基于
uloop

ubus
的工业网关通用
MQTT
协议组件,所述
MQTT
协议组件为支持
MQTT
协议的工业网关,所述工业网关经
MQTT
协议与物联网平台

物联网传感器及客户组件相连;所述工业网关配置文件中的
MQTT
配置内容包括物联网平台的地址

端口

平台属性

客户端名称

密钥

上行主题和下行主题;当客户组件需向物联网平台发送消息时进行
ubus
广播,工业网关收到广播数据后通过上行主题转发至物联网平台;当物联网平台需向物联网传感器下发数据采集命令时,通过通过下行主题封装命令数据并送工业网关,工业网关收到数据后解析出命令所要发往的进程,然后通过
ubus
总线把命令发向与该进程对应的物联网传感器,物联网传感器通过
ubus
广播把采集数据发送给工业网关,工业网关再将采集数据转发给物联网平台

[0008]所述工业网关配置文件可通过前端网页经后端服务器进行修改以调整
MQTT
设置,工业网关读取配置文件后,获取物联网配置信息和其它进程组件的广播主题,并进行初始化

[0009]所述工业网关为用于智能建造桥梁的基于
NUC980
的工业网关,所述物联网传感器为桥梁智能建造过程所需的传感器;工业网关经串口与传感器相连;工业网关通过串口采集传感器的原始数据,并使用软件处理,随后通过有线网卡将数据发向路由器并通过互联网中转,最终送至物联网平台

[0010]所述工业网关配置文件的内容包括物联网平台的服务器地址

端口

用户名称


户密钥

上行主题

下行主题

平台属性,还包括物联网传感器对应的进程的广播名称

进程接收命令的方法名称;所述进程与各物联网传感器一一对应

[0011]所述支持
MQTT
协议的工业网关,其固件包括
uloop
框架
、ubus
总线
、libmosquitto
开源库和
uci
配置框架接口;工业网关进行初始化时,其初始化内容包括
A1、
初始化日志功能,方便后续查看组件内部运行状态;
A2、
初始化订阅进程链表和结构体,方便订阅需要传输数据的进程,并完成数据的上传和下发;
A3、
读取配置文件,并初始化
MQTT
组件关键结构体
A4、
初始化
MQTT
联网模块,通过
libmosquitto
的库函数创建
MQTT
对象,并绑定连接成功

订阅主题情况下的回调函数;通过平台的类型来设置不同的参数,然后连接服务器,并启动异步轮询的方式,来获取物联网平台服务器所下发的数据;当系统调用连接服务器的函数后,通过该函数的返回内容来判断是否连接成功,如果不成功,则触发回调函数,重新连接服务器;
A5、
初始化
ubus
,获取
ubus
对象,加入
ubus
总线;绑定重连函数,当
ubus
客户端从
ubus
总线中掉出时,触发重连回调函数;绑定订阅丢失函数,当有一个进程对象从
ubus
中退出时,触发该函数启动一个定时器,重新搜索该进程对象;绑定广播数据接收的回调函数,当总线上有订阅的广播数据时,触发该回调,接收数据

查询链表,订阅配置文件中配置的进程
A6、
调动
uloop_run
开启异步循环调动

[0012]当需对
MQTT
协议组件进行配置时,通过访问与
MQTT
协议组件的
web
服务并填写配置信息,随后通过点击应用按钮完成表单的提交,后端服务获取数据后,修改配置文件,并重启
MQTT
协议组件

[0013]当物联网传感器需以进程形式将采集数据上传至物联网平台时,首先在进程与平台之间约定好数据传输协议,当以进程形式将数据发送至物联网平台时,调用
ubus
总线通过广播的形式,发送给订阅者
MQTT
协议组件;该
MQTT
协议组件收到数据时,调用网络发送函数将数据转发至物联网平台,中间不做拆分,以保留
MQTT
协议组件的通用性

[0014]当物联网平台需下发指令到某一进程所代表的物联网传感器时,物联网平台通过下行主题,下发命令至
MQTT
协议组件;该
MQTT
协议组件收到命令时,做一个分解的动作,获取平台想要发送的进程名称;然后查询订阅的进程链表,通过
ubus
调用该进程的接口函数,发送指令到该进程所代表的物联网传感本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
基于
uloop

ubus
的工业网关通用
MQTT
协议组件,其特征在于:所述
MQTT
协议组件为支持
MQTT
协议的工业网关,所述工业网关经
MQTT
协议与物联网平台

物联网传感器及客户组件相连;所述工业网关配置文件中的
MQTT
配置内容包括物联网平台的地址

端口

平台属性

客户端名称

密钥

上行主题和下行主题;当客户组件需向物联网平台发送消息时进行
ubus
广播,工业网关收到广播数据后通过上行主题转发至物联网平台;当物联网平台需向物联网传感器下发数据采集命令时,通过通过下行主题封装命令数据并送工业网关,工业网关收到数据后解析出命令所要发往的进程,然后通过
ubus
总线把命令发向与该进程对应的物联网传感器,物联网传感器通过
ubus
广播把采集数据发送给工业网关,工业网关再将采集数据转发给物联网平台
。2.
根据权利要求1所述的基于
uloop

ubus
的工业网关通用
MQTT
协议组件,其特征在于:所述工业网关配置文件可通过前端网页经后端服务器进行修改以调整
MQTT
设置,工业网关读取配置文件后,获取物联网配置信息和其它进程组件的广播主题,并进行初始化
。3.
根据权利要求1所述的基于
uloop

ubus
的工业网关通用
MQTT
协议组件,其特征在于:所述工业网关为用于智能建造桥梁的基于
NUC980
的工业网关,所述物联网传感器为桥梁智能建造过程所需的传感器;工业网关经串口与传感器相连;工业网关通过串口采集传感器的原始数据,并使用软件处理,随后通过有线网卡将数据发向路由器并通过互联网中转,最终送至物联网平台
。4.
根据权利要求2所述的基于
uloop

ubus
的工业网关通用
MQTT
协议组件,其特征在于:所述工业网关配置文件的内容包括物联网平台的服务器地址

端口

用户名称

用户密钥

上行主题

下行主题

平台属性,还包括物联网传感器对应的进程的广播名称

进程接收命令的方法名称;所述进程与各物联网传感器一一对应
。5.
根据权利要求4所述的基于
uloop

ubus
的工业网关通用
MQTT
协议组件,其特征在于:所述支持
MQTT
协议的工业网关,其固件包括
uloop
框架
、ubus
总线
、libmosquitto
开源库和
uci
配置框架接口;工业网关进行初始化时,其初始化内容包括
A1、
初始化日志功能,方便后续查看组件内部运行状态;
A2、
初始化订阅进程链表和结构体,方便订阅需要传输数据的进程,并完成数据的上传和下发;
A3、
读取配置文件,并初始化
MQTT
组件关键结构...

【专利技术属性】
技术研发人员:张志远李自强詹家坤王知军陈友武黄祖海
申请(专利权)人:福建中锐网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1