项目介绍
# 项目介绍
# 项目背景
自从接触了很多设备之后,一直想搞一个平台,能方便管理设备、方便进行设备接入、方便进行设备控制、方便进行设备数据展示。
并且云端仅仅管理设备,边缘负责接入设备。两者分开,各司其职,
所以,筹备了很久,lana总算有了一个雏形。
特点:
- 接入协议简单...
- 完善的情景模式(规则场景)...
- 通俗易懂的代码与使用习惯,方便后期修改(实际上是自己懒,尽量简单实现)...
- 专门定制边缘接入程序,用于设备接入,云端用于设备管理...
# 项目说明
# 是什么
- 它是一个设备管理平台,其中包含两部分,云端与边缘。
- 云端负责设备的管理、设备接入、设备控制、设备数据存储与展示、情景模式中的规则编排等,重心在云端。
- 边缘负责设备的接入、设备数据自定义格式解析、设备接入自定义协议管理等,重心在在边缘、设备现场。
- 云端以mqtt、http、websocket为主要协议进行通信,云端也支持设备的单独接入(需要设备有以上几种协议通讯的能力)。
# 有哪些功能
1、云端部分
- 系统管理:涉及到用户的管理,权限的管理,菜单的管理,组织角色的管理。主要是用于对使用云端系统的一些管理功能
- 接入管理:系统启自带一个mqtt-broker,同样的,也可以维护其他的代理mqtt-broker,比如:emqx(后期会逐步拓展为可添加自定义协议,比如:modbus-tcp等)并且能够对已经接入的客户端进行管理,展示。
- 设备管理:可以在维护相关的设备信息,以及相关的设备物模型、设备的服务功能,并且可以对不同的设备进行分组处理。以满足对不同属性设备的管理能力、以及批量设备管理的能力。
- 规则编排:简称情景模式,它可以定义一些场景,以图形化的方式对规则中的不同的节点信息进行设置。比如:当空气检测设备检测到温度大于35℃,开启风扇,当温度小于20℃,关闭风扇!
- 组态管理:可以根据每个设备不同的物模型,在组态屏幕上,设置不同的展示信息,并支持复杂的场景大屏配置。
2、边缘部分(筹备中)
- 自定义协议维护,支持维护不同的协议信息。
- 自定义数据解析,将不同协议解析出来的数据,进行不同格式的转换,已达到满足上传不同平台的要求。
- 设备管理:可以通过不同的协议管理、数据解析,完成对不同设备的管理、连接(比如:可以通过modbus-rtu协议接入设备,并且控制设备)
- 并且至于与云台的双向认证、数据同步。以及云台的数据透传开关,以便于在出现问题的情况下远程解决边缘侧的问题。
# 能干哪些事
- 常规的设备接入
- 复杂场景的逻辑处理
# 项目技术栈
序号 | 项目架构 | 架构描述 |
---|---|---|
1 | 后端技术栈 | springboot3.3 (opens new window) + springSecurity6.2 (opens new window) + Mybatis-Plus3.5.5 (opens new window) + jwt0.11 (opens new window) + AviatorScript5.4.3 (opens new window) + mica-mqtt2.4.4 (opens new window) + caffeine3.1.8 (opens new window) + redisson3.21.3 (opens new window) + hutool5.8.21 (opens new window) + captcha1.6.2 (opens new window) + knife4j4.3 (opens new window) + mapstruct1.5.5 (opens new window) + dynamic4.2 (opens new window) ... |
2 | 必要的服务 | mysql8 + TDengine3.2 + redis7.0 + minio8.5.1 + jdk17 + node.js |
3 | 前端技术栈 | Vue3 + Element-Plus(由scui (opens new window)项目进行修改开发) |
4 | 边缘侧技术栈 | 筹备中 |
# 整体设计说明草图
上次更新: 2025/06/06