一、开源项目简介
BudIot 开源物联网设备平台
BUDIOT 是一个开源的、企业级的物联网平台,它集成了设备管理、协议解析、消息订阅、场景联动等一系列物联网核心能力,支持以平台适配设备的方式连接海量设备,支持在线下发指令实现远程控制,支持扩展水电气等各类计费业务场景。
本平台是在千万级设备实时计费物联网平台经验基础上,在不损失性能的前提下进行功能删减、结构优化而来,小而美,同时又具备灵活的扩展性。
二、开源协议
使用MIT开源协议
三、界面展示
四、功能概述
项目特性
轻架构
采用自研开源 BudWk 框架,结构清晰、代码简单、学习成本低
高性能
架构水平扩容,支持百万设备连接,支持数十万级数据并发
易扩展
采用 RocketMQ、MongoDB 时序数据集合、Redis 缓存等技术,消息中间件可选 RabbitMQ、Kafka,时序数据库可选 TDEngine、ClickHouse 等
多协议
支持 TCP、UDP、MQTT、HTTP 等多种网络协议,支持 AEP、OneNet 等物联网平台接入,支持各类设备协议自定义开发
便部署
采用前后端分离模式开发,后端 Java 微服务支持单机或集群模式、容器化等多种部署方式
低成本
特别适合数十万级、百万级设备的接入和管理,具有极大的灵活性可根据客户需求定制开发各种功能
设备接入
支持多协议(MQTT、HTTP、UDP、TCP)自定义设备协议解析接入。支持 AEP、OneNET、厂家平台等平台对接接入。能满足物联网平台中各类接入场景要求,缩短物联网设备接入研发周期。
数据存储
-
设备有效数据:采用 MongoDB 时序集合存储,平台支持 TDengine、ClickHouse、ElasticSearch 等时序数据存储方式的平替
-
设备原始报文:采用 MongoDB 存储,可配置TTL,过期自动删除UP过程数据,减少磁盘占用,降本增效
-
设备事件数据:采用 MongoDB 存储,按年月分表
-
设备指令数据:采用 MongoDB 存储,按年月分表
-
业务数据:支持 MySQL、MariaDB 数据库,可改造为达梦等各类国产数据库
-
缓存数据:采用 Redis 分布式缓存,使用 Jedis、Redisson 客户端连接
五、技术选型
开发框架
基于自研 BudWk 开源Java微服务框架(单应用版本)
开发环境
-
OpenJDK 11
-
Redis 6.x
-
MariaDB 10.x
-
MongoDB 7.0.x
-
RocketMQ 5.2.x
浏览器
html
无
未经允许不得转载: ICode联盟 » 项目源码 » [开源]一个开源的、企业级的物联网平台,经千万级设备平台验证