当前位置: 欣欣网 > 码农

12.9k star! 推荐一款物联网调试管理平台

2024-06-27码农

一、项目背景

物联网技术的飞速跃进促使各行业广泛部署物联网设备,但随之而来的设备调试与管理工作挑战重重,面临配置繁复、安全漏洞及功能局限等问题。在此背景下,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

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