driver-box,一款泛化协议接入的边缘解决方案
一、介绍
设备接入是物联网(IoT)生态系统的关键组成部分,而不同厂商的设备之间缺乏统一的标准和规范,对接时需要进行大量的适配工作,增加了开发难度和时间成本。
为了应对这一挑战,美的楼宇科技研究院团队专门打造了一款具备泛化协议接入的边缘产品:driver-box。
它基于插件化的架构设计,将主流的通信协议(Modbus、Bacnet、HTTP、MQTT等)和私有化 TCP 协议完美的融合在一个应用服务中。并结合动态解析脚本,以一种灵活的方式提供设备数据的解析、清洗、再加工等能力。
二、优点
-
高效接入:标准协议配置化接入,非标协议低代码动态适配,实现设备快速接入。
-
接入即标准:设备数据采集之后立即执行标准化加工:统一模型、统一服务、统一流程。
-
数据降噪:感知并消除异常数据、重复性无意义数据,提升数据采集质量。
-
资源优化:基于对IoT的理解和经验,提供定向调优策略。
三、更新内容
早期的 driver-box 融合了各类主流物联网协议,能够非常方便的对接各类设备,再将采集到的设备数据转发至 Edgex 的消息总线,相当于是一款万能驱动服务。
但这种模式存在一个弊端:对于一些简单的场景,driver-box 内置的多数协议是多余的,且 edgex 的整套微服务架构对此类场景而言又过于复杂。
所以在v0.4版本中,我们对 driver-box 代码作了全面重构,使其更加趋于模块化设计。未来 driver-box 将具备协议层和数据转发层自由组织的能力,实现特定场景、设备、协议的定向编译。
协议层根据项目实际情况按需引入插件,数据转发层可绕过 edgex 架构直接上云或转发至边缘服务。使得 driver-box 可以更加高效地运行在更低规格的边缘网关中。
代码演示
driver-box内置数据转发层实现:export.DefaultExport
,目前还是个空实现,后续会调整成mqtt上报。
func main() { driverbox.Start([]export.Export{&export.DefaultExport{}}) select {} }
若数据转发层为:Edgex,可引用:driverbox-edgex
func main() { driverbox.Start([]export.Export{&edgex.EdgexExport{}}) select {} }
数据转发层支持多 Export 共存,提供设备数据多目的地的分发能力。
例如下面的示例,设备采集到的数据同时上报给了 edgex 总线和 iBUILDING 平台(非开源模块)。
func main() { //注册通信插件 driverbox.RegisterPlugin("bacnet", &bacnet.Plugin{}) //上报Edgex driverbox.Start([]export.Export{ &edgex.EdgexExport{}, //上报Edgex消息总线 ibuilding.NewExport(), //直接上报云端 }) select {} }
除此之外,示例中还通过driverbox.RegisterPlugin
注册了 bacnet 协议插件用于扩展 driver-box 的能力。
四、最后
driver-box 适用于各种不同的应用场景,包括且不限于智慧城市、智慧工厂、智慧园区、智慧家居、智慧医院等。我们期望通过开源这种开放、共享和协作的组织文化,促进创新和创造力的释放,从而推动社会的进步和发展。在此,非常欢迎更多的社区同学,共同参与到 driver-box 的项目建设中来。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一文带你全面了解openGemini
本文分享自华为云社区《一文带你全面了解openGemini》,作者: 华为云社区精选。 7月19日,openGemini社区联合华为云DTT(技术公开直播课栏目)共同举办了一期主题为《openGemini时序数据库应用场景与技术实践》的直播活动,华为云开源DTSE技术布道师 & openGemini社区发起人向宇,与广大开发者开展了一次线上的直播交流,就openGemini的特点、应用场景、开源目标和价值、差异化竞争力、核心能力、技术生态、运维管理、社区路标等8个方面进行了全面细致的介绍。在临近结尾时,向宇表示openGemini是一个开放、包容、合作的开源社区,欢迎更多开发者和伙伴加入,共同推动技术创新。 openGemini的三大特点 openGemini是一款存储和分析并重的时序数据库,具有三大显著特点: 开源 openGemini采用的开源License是Apache 2.0,对商业友好,伙伴和开发者可以基于openGemini发布自己的商业版本,也可以基于openGemini搭建运维监控系统,还可以基于openGemini开发监控类产品和服务、构建车联网、物联网以及工...
- 下一篇
数据采集 ETL & 流批一体化框架 bboss v7.0.5 发布
数据采集 ETL & 流批一体化框架 bboss v7.0.5 发布 ---高效、稳定、快速、安全 bboss是一个基于开源协议Apache License发布的开源项目,由开源团队bboss运维,主要由以下三部分构成: Elasticsearch Highlevel Java Restclient, 一个高性能高兼容性的Elasticsearch/Opensearch java客户端框架 数据采集同步ETL,一个基于java语言实现数据采集作业的强大ETL工具,提供丰富的输入插件和输出插件,可以基于插件规范轻松扩展新的输入插件和输出插件 流批一体化计算框架,提供灵活的数据指标统计计算流批一体化处理功能的简易框架,可以结合数据采集同步ETL工具,实现数据流处理和批处理计算,亦可以独立使用;计算结果可以保存到各种关系数据库、分布式数据仓库Elasticsearch、Clickhouse等,特别适用于数据体量和规模不大的企业级数据分析计算场景,具有成本低、见效快、易运维等特点,助力企业降本增效。 项目源码地址参考:源码下载和构建 v7.0.5 功能改进 Elasticsearch客...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Hadoop3单机部署,实现最简伪集群
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19