# iot-cloud
**Repository Path**: git_404/iot-cloud
## Basic Information
- **Project Name**: iot-cloud
- **Description**: 单租户,基础精简纯净轻量版物联网平台版物联网云平台
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2025-04-24
- **Last Updated**: 2025-04-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
iot-cloud v3.8.9
极简纯净轻量版物联网平台
## 平台简介
* 前端采用Vue2.6、Element UI。
* 后端采用Spring Boot 3.0.3、Spring Security、Redis & Jwt。
* 权限认证使用Jwt,支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* jdk 21
* mysql 8.4.x
* iotdb 2.0.x
* redis 5.0.x
* rocketmq 5.3.x
## 性能测试
测试工具使用开源的时序数据库基准测试工具 iot-benchmark
1. 数据库连接:支持高并发连接,单台服务器可支持万次并发连接/秒。
2. 读写性能:单台服务器写入性能达到千万点/秒,单台服务器支持千万点/秒查询吞吐,可在毫秒级聚合百亿数据点。
3. 存储性能:支持存储海量数据,具备PB级数据的存储和处理能力,支持高压缩比,无损压缩能够达到20倍压缩比,有损压缩能够达到100倍压缩比。
## 系统功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
## 物联网功能
1. 产品管理
2. 设备管理
3. 通道管理
4. 属性管理
5. 设备分组
6. 告警规则
7. 告警记录
8. 指令记录
9. 定时任务
10. 任务记录
## 核心架构
https://www.processon.com/view/link/67fcce1d55b29f3849bf1dfd?cid=67fca0e9a77b8b2fed1419f0
## 设计理念
https://www.processon.com/view/link/67ff152ca71fd53a7699c36f?cid=67ff109e77271e6420a5e61f
## iotdb存储结构设计
https://www.processon.com/embed/67fb7a3130d89278de2aa068?cid=67fb7a3130d89278de2aa06b
## 消息类型
- 设备数据上报
- 设备指令下发
- 上下线通知消息
- 设备指令下发执行结果回复消息
## 必看文档
- https://blog.csdn.net/changzengli/article/details/146910405
- https://help.aliyun.com/zh/iot/user-guide/what-is-a-tsl-model?spm=a2c4g.11186623.0.0.59ae7e94rGPUbu
- https://help.aliyun.com/zh/iot/user-guide/tsl-parameters?spm=a2c4g.11186623.0.0.59ae436aWc14UX#concept-2070735
- https://help.aliyun.com/zh/iot/user-guide/device-properties-events-and-services
- https://help.aliyun.com/zh/iot/developer-reference/list-of-operations-by-function
## 思路
1. 属性/数据项:是设备的普通元数据,设备的采集数据,既可以展示又可以直接控制,包含设备数据上报和指令下发
2. 事件:也是设备上报数据,只是类型不一样,除了属性上报以外的其他信息上报
3. 服务:虽然也是命令下发,区别于属性设置下发,服务是下发是其他功能设置,重要功能,不常用的功能,可能是普通用户看不到的功能
4. 一般只有属性就够用了,事件和服务器极少数情况用的到,所以优先开发属性相关内容
## 举例(空调)
1. 属性/数据项:温度,风速,开关,模式 (温度,风速,开关,模式,是普通用户,普通消费者可以看到的),即可上报状态,又可以下发指令控制
2. 事件:报警,故障,异常,日志,等 (设备上报数据:报警,故障,异常等是设备主动直接上报的消息,不是平台通过规则条件判断产生的)
3. 服务:开启调试模式,设置隐藏配置,长按重启等 (重启,升级,虽然也是下发指令,与属性设置控制区别的是服务是高级功能的设置,是自定义的下发指令,或者是多字段的,或者是在二级菜单的),普通用户基本上是对属性进行设置和下发命令,服务相当于高级或更多的属性设置
## 项目结构
- ruoyi-iot-core: 物联网核心模块,产品,设备,通道,属性等管理
- ruoyi-rulengine: 规则引擎模块,配置告警规则,以及产生告警记录 (可单独多副本部署)
- ruoyi-quartz: 定时任务模块,设备定时下发指令相关业务和接口
- ruoyi-iot-mqtt: mqtt类型协议设备连接网关demo模板,解析设备协议,转为统一处理对象
- ruoyi-iot-tcp: tcp类型协议设备连接网关demo模板(透传,modbus,自定义等等),解析设备协议,转为统一处理对象
## 启动
- 打包命令
```
mvn install -Dmaven.test.skip=true
```
- 启动命令
```
// 主文件
RuoYiApplication.java
```
## 思路讨论群
- 加群备注:iot

## 新产品接入流程
> - 同一类协议或同一个厂家可以共同使用一个解析转换服务,不需要开发
> - 比如:mqtt的topic一样,上报消息体一样,等
> - 比如:tcp拆包规则一样,注册消息格式一样,等
1. 新建一个解析转换服务
2. 编写上报数据转为方法
3. 编写接收命令转换方法
4. 维护连接在线状态
5. 上线发布