# iot-ms **Repository Path**: geekcoding_club/iot-ms ## Basic Information - **Project Name**: iot-ms - **Description**: 物联网设备管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2020-04-24 - **Last Updated**: 2024-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 物联网设备管理系统 IOT-MS(物联网设备管理系统)是一个实时采集物联网设备上送的采样数据并以图表的形式来展示设备各类原始指标、分析结果的系统。 由于工业物联网设备对数据采样的频率高、数据量大,所以必须考虑此种情况下的存取方法。另外要求此类数据要存入postgresql库, 结合前述情况,此系统本质上是一个需要考虑高并发、高可用的小型系统,整体架构如下: ![avatar](doc/images/iot-1.png) 其中物联网设备数据采集部分由外部系统负责,IOT-MS主要任务为获取外部系统存入REDIS的实时数据存入POSTGRESQL,双方系统可以 通过维护一个FIFO的REDIS队列来减轻REDIS服务的压力。数据存入POSTGRESQL环节,可以通过定时获取REDIS(分页)数据批量插入POSTGRESQL。 考虑到数据采集的不确定性,在分页提取REDIS数据时,可根据当前REDIS总条数来调整下一次获取的时间。这种做法是不是有点像PID算法呢? ### 技术选型 * springboot2.2.6 * mybatis-plus * redis * postgresql * 构建工具gradle6.3 * layui * echart.js ### 快速启动 * 本地安装postgresql9.4 * 在postgresql中建立用户并授予权限 * 下载、启动redis,使用redis默认配置 * 新增配置文件,例如新增application-xxx.yml * 修改主配置文件中的spring.profiles.active 为xxx,与上一步骤中的application-xxx.yml对应 * 执行IotMsApplication.main启动项目 * 浏览器打开http://localhost:8888 ### 变更记录 查看[变更记录](doc/changelog.md) ### 待办 1. 登陆页(index.html)、框架页(main.html) 2. 异常统一处理 ### 进阶 1. mybatis-generator 插件及插件在gradle中的使用方法 [mybatis-generator gradle plugin](https://github.com/itfsw/mybatis-generator-plugin) 2. springboot统一异常处理(返回页面/json) ### 技术要点