一、项目背景

物联网技术的飞速跃进促使各行业广泛部署物联网设备,但随之而来的设备调试与管理工作挑战重重,面临配置繁复、安全漏洞及功能局限等问题。在此背景下,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 通信层组件具有以下特点和功能:
  1. 连接信息加密:Nmqs采用先进的加密算法,对设备与服务器之间的连接信息进行加密处理。这样可以确保通信过程中的数据安全,防止信息被窃取或篡改。
  2. 安全认证:Nmqs提供了安全认证机制,确保只有经过授权的设备和服务器才能建立连接。通过身份验证和密钥交换等方式,确保通信双方的身份合法性和通信的安全性。
  3. 数据压缩和优化:Nmqs支持数据压缩和优化技术,可以在传输过程中对数据进行压缩,减少数据传输的带宽占用和传输延迟,提高通信效率。
  4. 可靠性保证:Nmqs具备可靠性保证机制,能够处理通信过程中的数据丢失、重传和错误处理。它采用可靠的传输协议,确保数据的完整性和可靠性。
  5. 适应性和灵活性: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

看到最后,如果这个项目对你有用,一定要给我点个“在看和赞”。

本篇文章来源于微信公众号: java代码



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2024-08-01