DGIOT是一个面向物联网的开源数据分析平台,它为用户提供了快速、高效采集、管理和分析物联网设备数据的能力,并具备多种数据处理和可视化展示方式。
DGIOT的安装实例数已经超过 35.2k,用户遍布全球。拿下多个物联网产品的领域赛道冠军。
已承建多个重大国际赛事场馆数字驾驶舱、平安校园数据中台、电信级设备监管平台、千亿级产业大脑等。
全开放源码,全流程低代码。
强大开源社区,集成和兼容各种开源工具。
商业级物联网基座,快速承接物联网项目。
面向工业物联网的轻量级开源平台,致力于平台的标准化和工具化。打造全面、丰富、专业的开源生态产品及服务。
首页 › 博客, 实战教程, 技术文章
场景解析:长期使用MQTT协议建立服务器设备连接的厂商,受限于原有的业务系统和硬件更改繁琐的因素,希望在不更改主题订阅的条件下对接新的物联网平台。同时,有的设备Topic中携带许多关键参数为标识,但是一般的云平台都有规定的格式要求所以无法正常使用。所以Dgiot通过规则引擎技术完成非平台标准MQTT协议的数据对接。
MQTT设备Topic请求格式: 主题发布格式:${自定义}/${自定义}/${设备名称}/${设备ID}/${自定义}/${请求方式} 主题发布实例:test/test/devicename/123456789/test/request 内容发布实例:{"abc":"123"}
平台订阅格式:$dg/thing/${productid}/${deviceid}/properties/report 平台订阅实例:$dg/thing/a8857a1c96/123456789/properties/report
1.在平台创建Dlink采集通道(老版本用的的MQTT采集通道同理)。注意网络组件设置为MQTT服务器,用于接收MQTT协议的数据。 2.创建产品。在设备云内创建产品,对应用户的产品型号。 3.建立物模型。进入创建的产品内,选择物模型模块,新建物模型。 这里我们用到Dlink协议,所以标识符设置成我们mqtt报文内的数据标识。可结合下述规则引擎内保留的参数设置。 4.手动创建设备。在设备管理出点击“新增”,选择设备所属的产品,然后手动填入设备的id号(此处对应实际设备的编号,在mqtt上报的报文内为唯一标识)。 5.配置规则引擎。在云函数内选择规则管理,新增规则。 这里分为两块,第一部分是SQL规则配置用于拦截非标MQTT报文后取值。第二部分是重定向mqtt,用第一部分获得的数据映射来拼接出平台标准的mqtt报文然后转发到服务器上处理。 (1)SQL规则 这里有“select”“FROM”“where”三个方法。 第2行:对非标报文内的值进行赋值。 第3行:这个数字对应第2步内新建产品的id。 第4行:切割非标主题内容的字节块。这里是取主题里第4个值赋值成为设备id。 第6行:筛选MQTT主题,这里用“+”把设备id这个唯一标识排除。 (2)响应动作 通道、资源和信息重定向图上固定。目标主题可以参考产品详情捏的Topic列表。 消息内容模板内的数据是sql规则筛选出来的数据映射,也是重新生成的主题中的内容。 6.建立MQTT连接,发送信息。
7.数据验证。 这张图可以看到我们非标的信息转化后成为了平台标准协议然后存库处理。
[小 迪 点 评]
想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。
加微信咨询
请填写下面表单,我们的工作人员会与您联系。
报错: 未找到这个表单
请填写下面表单,我们会即时将最新版本下载地址发到您的邮箱。
加小迪为好友即可加入交流群