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