一、项目背景
物联网技术的飞速跃进促使各行业广泛部署物联网设备,但随之而来的设备调试与管理工作挑战重重,面临配置繁复、安全漏洞及功能局限等问题。在此背景下,WeMQ横空出世,这是一款专为物联网设备运营者设计的开源调试系统,致力于以一站式服务解决上述难题,并整合了设备管控、MQTT服务器运维及客户关系管理等功能于一体。WeMQ创新运用自主研发的Nmqs通讯中间件,强化了连接信息的加密机制,确保数据传输固若金汤。
该项目根植于深度剖析物联网设备调试痛点,WeMQ开源策略旨在赋能设备运营者,交付一个高效、安全、全能的调试与管理系统,不仅简化调试步骤,提速效率,还为设备长期稳定运行构筑坚实基石。
二、项目介绍
MQTT调试管理平台是一款基于SpringBoot开发的一款物联网设备调试管理平台。
其功能主要是对客户MQTT调试页面进行集中管理(连接信息、发送信息),系统管理员可在后台添加客户和调试页面,并设置调试页面的连接信息、发送消息和对应的发送按钮文字,并设置分享链接以及页面的开启状态,用户可通过分享链接打开配置好对应信息的页面,实现对自己设备的管理调试。
三、主要特性
1. 全方位调试解决方案: WeMQ为物联网设备运营商精心打造了一套综合性的设备调试工具集,涵括设备管理、MQTT服务器调控与客户信息管理等关键功能模块,极大简化了调试流程,让设备部署与维护工作更加得心应手。
2. 安全强化的Nmqs通信组件:引入自主研发的Nmqs通信中间件,WeMQ在设备间的数据传输层面设置了坚实的保护屏障。通过实施连接信息加密策略,系统从根本上保障了信息交互的安全性,为敏感数据筑起铜墙铁壁。
3. 高性能与稳定性并重:面向大规模物联网设备的复杂管理挑战,WeMQ优化设计,确保了服务的高速响应与持续稳定性。无论是海量设备的并发接入,还是长时间运行的需求,WeMQ均能从容应对,为运营商提供值得信赖的支撑平台。
4. 开源生态,共创未来:作为一项开放源代码项目,WeMQ积极拥抱全球开发者社群,鼓励创新合作,共同推动物联网设备调试技术的进步边界。这一策略不仅加速了技术迭代,也降低了运营商的技术门槛和成本,同时促进了更优用户体验的物联网设备问世,共绘物联网技术繁荣发展的新篇章。
四、技术选型
1. 系统环境
Java 8
Servlet 3.0
Apache Maven 3
#2. 主框架
Spring Boot 2.7.x
Spring Framework 5.3.x
Spring MVC 5.3.x
#3. 持久层
Mybatis 3.5.x
Alibaba Druid 1.2.x
Hibernate Validation 6.0.x
Java MySQL Connector 8.0.x
#4. 视图层
Thymeleaf 3.x
Bootstrap 5.x
Layui 2.x
#5. 工具类
Apache Commons
Hutool 5.x
#6. 通信层
Nmqs 实现连接信息加密、消息转发,支持 WS/TCP 协议连接
Eclipse Paho
五、项目结构
cn.mmanager
├── mm-common // 工具类
│ └── annotation // 自定义注解
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚举
│ └── exception // 通用异常
├── mm-framework // 框架核心
│ └── aspectj // 注解实现
│ └── interceptor // 拦截器
│ └── manager // 异步处理
│ └── web // 前端控制
├── mm-web // Web服务
├── mm-dao // 数据访问层
├── mm-service // 业务层
├── mm-model // 模型
通信层组件在物联网设备调试系统中扮演着重要的角色,它负责设备与服务器之间的通信和数据传输。在WeMQ中,采用了自研的Nmqs通信层组件,它实现了连接信息的加密,确保数据传输的安全性。
Nmqs 通信层组件具有以下特点和功能:
连接信息加密 :Nmqs采用先进的加密算法,对设备与服务器之间的连接信息进行加密处理。这样可以确保通信过程中的数据安全,防止信息被窃取或篡改。
安全认证 :Nmqs提供了安全认证机制,确保只有经过授权的设备和服务器才能建立连接。通过身份验证和密钥交换等方式,确保通信双方的身份合法性和通信的安全性。
数据压缩和优化 :Nmqs支持数据压缩和优化技术,可以在传输过程中对数据进行压缩,减少数据传输的带宽占用和传输延迟,提高通信效率。
可靠性保证 :Nmqs具备可靠性保证机制,能够处理通信过程中的数据丢失、重传和错误处理。它采用可靠的传输协议,确保数据的完整性和可靠性。
适应性和灵活性 :Nmqs通信层组件具有良好的适应性和灵活性,可以适应不同的网络环境和设备类型。它支持多种通信协议和网络传输方式,能够适应不同的物联网设备调试场景。
通过自研的Nmqs通信层组件,WeMQ能够提供安全可靠的设备与服务器之间的通信服务。它保护设备数据的安全性,确保通信过程的可靠性和稳定性,为物联网设备调试和管理提供了强大的基础支持。
六、项目部署
如何部署
首先导入项目根目录的 WeMQ.sql 文件到数据库,数据库名为
WeMQ
,然后对数据库连接信息进行配置,在
mm-web
模块的
/src/main/resources/application.yml
文件中进行数据库连接信息的配置
如何修改 Nmqs服务地址
本项目依赖于另一个开源项目 Nmqs 来实现对MQTT的转发和连接,如需部署Nmqs,请访问。
在
application.yml
中修改wemq下的属性即可,根据WeMQ项目地址自动适配http或https、ws或wss
wemq:
nmqs:
host: localhost#地址必须外网可以访问,生产环境不能使用127.0.0.1/localhost之类的地址
port: 8081
启动项目
启动
mm-web
中的
WeMQApplication
,访问
http://<你的项目地址>:8080
即可,
初始账号密码为
admin
/
admin
七、产品图片
控制台
用户调试界面
调试页面参数
源代码下载地址:
https://gitee.com/dromara/WeMQ.git
看到最后,如果这个项目对你有用,一定要给我点个「 在看和赞 」。