新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 产品资讯
纵横智控

边缘计算网关断网续传是怎么实现的?

2024-06-17 09:57:13 阅读: 发布人:纵横智控

边缘计算网关是一种常见的物联网网关设备,是用来做数据采集和协议转换的,通过支持常见PLC品牌的私有协议,可以协助采集和预处理PLC数据并且上传到物联网云平台或者数据中心。EG系列边缘计算网关将复杂的硬件接口、不同的工业网络协议等抽象为一个个的“节点”,用户可以灵活使用这些“节点”,深度定制开发的node-red 拖拽化的编程方式,代替了传统复杂低效的编码过程。真正的做到让客户专注业务逻辑,迅速打造出属于自己的网关设备。设备支持免编译,免烧录,免调试,已开发出海量节点,免费自由使用,让高效更高效。

边缘计算网关断网续传实现原理

在数据采集过程中,由于网络情况不佳,出现临时断网的情况,这会造成数据丢失的风险。边缘计算网关通过缓存队列实现数据的存储和释放,极大地避免了这一风险。下面以EG8200边缘计算网关为例,看下是怎么利用缓存队列节点实现断网续传的吧。


1. 基础流程

第一个注入节点用来模拟数据传入缓存队列中,第二个注入节点用来设置暂停数据发送,第三个注入节点用来设置释放存储的数据。

设置参数使用的是bypassInterval,具体使用请参考缓存队列节点说明


gif1动画


从这个动画中可以看出,当点击存储数据的时候,数据存储在节点中不在发送。当点击释放时,数据将按照设定时间间隔依次释放。


2. 模拟断网实现数据的缓存与释放

2.1. 实现步骤

第一步:检测网络状态(ping节点)

第二步:根据ping节点返回值设置缓存参数(函数节点)


2.2. 网关实现流程

这里使用注入节点模拟ping节点,断网注入布尔量false,网络正常注入一个任意数字,真实场景请参考ping节点使用


动画2.gif



实际使用请将下图红色框部分替换为ping节点:



图片1


2.3. 流程源码

[{"id":"56399e866c8c08a2","type":"inject","z":"bcce8b29bb8d7dc7","name":"模拟数据","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":550,"y":260,"wires":[["4a5590970010ce16"]]},{"id":"9446d5730a907b87","type":"inject","z":"bcce8b29bb8d7dc7","name":"模拟断网","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":300,"y":300,"wires":[["ef4bf5e52c56c713"]]},{"id":"b922a2f2dff79144","type":"inject","z":"bcce8b29bb8d7dc7","name":"网络正常","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":300,"y":360,"wires":[["ef4bf5e52c56c713"]]},{"id":"ef4bf5e52c56c713","type":"function","z":"bcce8b29bb8d7dc7","name":"函数计算 19","func":"msg.bypassInterval = msg.payload ? 100 : 0\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":320,"wires":[["d28ee5af44f5c465"]]},{"id":"d28ee5af44f5c465","type":"rbe","z":"bcce8b29bb8d7dc7","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"bypassInterval","topi":"topic","x":650,"y":320,"wires":[["4a5590970010ce16"]]},{"id":"4a5590970010ce16","type":"queue","z":"bcce8b29bb8d7dc7","name":"","firstMessageBypass":false,"bypassInterval":"1000","x":790,"y":260,"wires":[["ce55f959e2caee3f"]]},{"id":"ce55f959e2caee3f","type":"debug","z":"bcce8b29bb8d7dc7","name":"调试 23","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":940,"y":260,"wires":[]}]


3. 扩展延伸

这里只演示了断网续传,可根据自己的应用场景做修改,例如判断MQTT或者TCP状态去实现数据的缓存与发送:只需要将本示例的PING节点替换成状态检测节点(监测MQTT/TCP状态)即可。


相信通过本文,大家已经对边缘计算网关断网续传的秘密有了清晰的了解,如果你对边缘计算网关感兴趣,欢迎共同探讨!


热门产品