一、計畫背景
物聯網技術的飛速躍進促使各行業廣泛部署物聯網裝置,但隨之而來的裝置偵錯與管理工作挑戰重重,面臨配置繁復、安全漏洞及功能局限等問題。在此背景下,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
看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。