# WeMQ
**Repository Path**: dromara/WeMQ
## Basic Information
- **Project Name**: WeMQ
- **Description**: WeMQ是一款面向物联网设备运营商的开源物联网设备调试系统,提供完整的物联网设备调试方案,集成设备管理、MQTT服务器管理、客户管理等功能,自研Nmqs通信层组件,实现了连接信息的加密,保证了数据的安全性。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://wemq.nicholasld.cn/
- **GVP Project**: No
## Statistics
- **Stars**: 363
- **Forks**: 124
- **Created**: 2023-04-08
- **Last Updated**: 2025-06-12
## Categories & Tags
**Categories**: iot
**Tags**: mqtt, IOT, Java, SpringBoot
## README
# WeMQ - 物联网调试管理平台
>#### WeMQ 目前已加入 [Dromara 社区 ](https://gitee.com/dromara) 孵化项目
## 📂 1. 项目介绍
### 1.1 项目简介
**WeMQ是一款基于SpringBoot开发的一款物联网设备调试管理平台。**
其功能主要是对客户MQTT调试页面进行集中管理(连接信息、发送信息),系统管理员可在后台添加客户和调试页面,并设置调试页面的连接信息、发送消息和对应的发送按钮文字,并设置分享链接以及页面的开启状态,用户可通过分享链接打开配置好对应信息的页面,实现对自己设备的管理调试。

[](https://gitee.com/nicholasld/WeMQ/stargazers)
[](https://gitee.com/nicholasld/WeMQ/members)
#### 项目截图:
控制台

用户调试界面

调试页面参数


快捷调试页面

自定义调试页面

### 1.2 技术选型
##### 1. 系统环境
- Java 21
- Apache Maven 3
##### 2. 主框架
- Spring Boot 3.4.x
- Spring Framework 6.x
- Spring MVC 6.x
##### 3. 持久层
- Mybatis Plus 3.5.x
- HikariCP 5.x
- Hibernate Validation 6.x
- Java MySQL Connector 8.3.x
##### 4. 视图层
- Thymeleaf 3.x
- Bootstrap 5.x
- Layui 2.x
##### 5. 工具类
- Apache Commons
- Hutool 5.x
### 1.3 主要功能
- 调试页面管理
- 调试页面自定义拓展
- MQTT主机管理
- 管理员管理
- 客户分组管理
- 物联网常用工具
### 1.4 项目结构
```
org.dromara.wemq
├── mm-common // 工具类
│ └── annotation // 自定义注解
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
├── mm-framework // 框架核心
│ └── aspectj // 注解实现
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── web // 前端控制
└── mm-web // Web服务
│ └── controller // 控制器
│ └── mapper // 数据库操作
│ └── model // 数据模型
│ └── service // 服务接口
```
## ⚙️ 2. 部署文档
### 环境要求
- OpenJDK 17/21+
- MySQL 8.0+
- Maven 3.6+
### 2.1 如何部署
首先导入项目根目录的 WeMQ.sql 文件到数据库,数据库名为 `WeMQ`,然后对数据库连接信息进行配置,在`mm-web`模块的`/src/main/resources/application.yml`文件中进行数据库连接信息的配置
### 2.2 如何修改 Nmqs服务地址
本项目依赖于开源通信层项目 Nmqs 来实现对MQTT的转发和连接,如需部署Nmqs,[请访问](https://gitee.com/nicholasld/nmqs)。
在`application.yml`中修改wemq下的属性即可,根据WeMQ项目地址自动适配http或https、ws或wss
```yaml
wemq:
nmqs:
host: localhost #地址必须外网可以访问,生产环境不能使用127.0.0.1/localhost之类的地址
port: 8081
```
### 2.3 启动项目
启动`mm-web`中的`WeMQApplication`,访问`http://<你的项目地址>:8080`即可
初始账号密码为`admin`/`admin`
## 💡 Issues & Pull Requests
欢迎提交Issues和Pull Requests,开源大门永远向所有人敞开。
## ✉️ 联系作者
- Email: 878639947@qq.com
- QQ: 878639947
- WeChat: NicholasLD505
## 🔰 License(开源许可证)
Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html
## ©️ 版权使用说明
WeMQ遵循Apache2.0开源协议,可用于个人学习、毕设、公司项目、商业产品等,但必须保留版权信息。
## 🪐 知识星球

## 🎉 特别鸣谢
感谢 **JetBrains** 为本项目提供的免费开源许可证支持。