一个基于MQTT协议的物联网平台,用于连接、管理和监控智能设备,实现数据采集、分析和可视化。
2024年第八届湖南省大学生物联网应用创新设计竞赛(技能赛)一等奖作品。
本项目由三个主要部分组成:
- mqtt_subsribe:基于Spring Boot开发的后端服务,负责MQTT消息订阅、数据处理和API服务
- iot_uniapp:基于uni-app开发的前端应用,支持多端部署(H5、小程序、App)
- sql:数据库脚本,包含表结构和初始数据
- Spring Boot 2.5.6
- MyBatis-Plus 3.4.2
- Spring Integration MQTT
- MySQL 8.0
- Redis
- Swagger 3.0
- JWT认证
- uni-app
- uCharts (图表组件)
- ECharts (数据可视化)
- MQTT消息订阅与处理
- 设备连接与管理
- 传感器数据采集与存储
- 实时数据监控与告警
- 用户认证与授权管理
- 数据可视化和分析
- Java 17
- Node.js 14+
- MySQL 8.0+
- Redis 6.0+
- MQTT Broker (如Mosquitto、EMQX等)
- 创建MySQL数据库并执行SQL脚本:
# 连接到MySQL
mysql -u your_username -p
# 创建数据库
source sql/create_database.sql
# 执行表结构和初始数据脚本
use iot;
source sql/mqtt_user.sql
source sql/mqtt_topic.sql
source sql/mqtt_sensor.sql
source sql/mqtt_msg.sql
source sql/charge_record.sql- 配置后端服务:
在 mqtt_subsribe/src/main/resources/application.yml 中修改数据库、Redis和MQTT broker连接信息。
- 构建并启动后端服务:
cd mqtt_subsribe
mvn clean package
java -jar target/mqtt_subsribe-0.0.1-SNAPSHOT.jar或者使用Maven直接运行:
cd mqtt_subsribe
mvn spring-boot:run- 安装依赖:
cd iot_uniapp
npm install- 开发模式运行:
# HBuilderX中运行
# 或通过命令行
npm run dev:h5 # H5版本
npm run dev:mp-weixin # 微信小程序版本
npm run dev:app # App版本- 构建生产环境版本:
npm run build:h5 # 构建H5版本
npm run build:mp-weixin # 构建微信小程序版本
npm run build:app # 构建App版本本项目使用MQTT协议进行设备通信,需要配置MQTT broker:
- 安装MQTT broker(如Mosquitto或EMQX)
- 配置后端服务连接到MQTT broker(需自行修改yml文件的mqtt连接配置)
- 设备需按照规定的Topic格式发布消息
API文档采用Swagger自动生成,部署后可通过以下地址访问:
http://your-server-ip:8080/swagger-ui/index.html








