當前位置: 妍妍網 > 碼農

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

    看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。