物联网平台

我要开发同款
雨下星辰2023年03月13日
76阅读
开发技术java
所属分类物联网

作品详情

架构及实现:物联网平台包含如下几个主要组成部分:设备接入侧(TCP、MQTT、CoAP),数据校验解析服务、数据分发服务、数据港、设备管理平台、场景服务、应用服务、数据总线。整体采用分布式架构,各个组成部分支持横向扩展。平台采用物模型机制抽象产品功能完成产品定义。设备接入侧:设备接入侧由设备鉴权服务和设备接入服务两部分组成。鉴权服务完成设备的身份验证并赋予接入端地址给设备。设备接入服务完成设备连接管理、数据接收、数据解密。数据校验解析服务:按照物模型定义对数据进行解析,并校验数据合法性。数据分发服务:将合法数据根据需求分发到数据港,第三方平台,应用平台,设备管理平台。数据港:由数据快照服务和数据生成服务组成。• 数据快照服务:将上行帧数据建立快照以方便开放接口API及设备管理平台快速查询。• 数据生成服务:生成默认规则的历史数据,统计数据,事件数据。设备管理平台:完成产品管理、设备管理、移动端(微信小程序)服务、场景管理、事件管理等。管理台采用租户的业务模式,租户可以自行完成自身产品的定义,设备开发及接入、移动端(微信小程序)。场景服务:对设备管理平台定义的设备场景进行业务执行。数据总线:各个模块服务之间的数据通道。应用服务:自定义服务,针对不同行业应用基于物联网平台的数据推送服务及开放API完成具体应用场景。整体技术栈采用JAVA Spring框架,Mybatis,Redis,mongodb,mysql+canal,zookeeper、kafka、RabbitMQ构建。各个模块基于Spring框架开发。设备接入侧、数据校验解析、数据港中采用Redis+mysql+canal方式建立分布式缓存。数据港使用mongodb完成数据生成入库。管理台使用mysql+mongodb完成产品及设备等数据管理。使用websocket对移动端进行数据推送。采用前后端分离模式,前端使用Vue框架。使用RabbitMQ AMQP对第三方及应用平台进行数据推送。使用kafka作为数据总线。二次开发开源MQTT broker Moquette使其支持自定义接入鉴权、连接管理、共享消费(采用RabbitMQ进行集群)、死信重发。采用Quartz+zookeeper构建场景服务集群。采用zookeeper+Moquette 构建MQTT服务集群。采用kafka作为数据总线。业绩:从0-1架构并实现物联网平台。自身完成设备接入侧,数据校验解析服务,物模型构建,场景集群等核心代码编写。目前平台平稳运行并稳步接入设备。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论