開源系統搭建物聯網和智慧家居平臺
阿新 • • 發佈:2022-05-17
一、專案簡介
1. 物美智慧 (wumei-smart) 是一個簡單易用的生活物聯網平臺。可用於搭建物聯網平臺以及二次開發和學習。
2. 裝置接入使用EMQX訊息伺服器,加密認證;後端採用Spring boot;前端採用Vue;移動端採用Uniapp;資料庫採用Mysql和Redis;裝置端支援ESP32、ESP8266、樹莓派等;系統架構圖如下:
二、功能
- 許可權管理: 使用者管理、部門管理、崗位管理、選單管理、角色管理、字典和引數管理等
- 系統監控: 操作日誌、登入日誌、系統日誌、線上使用者、服務監控、連線池監控、快取監控等
- 產品管理: 產品、產品物模型、產品分類、產品韌體、授權碼等
- 裝置管理: 控制、分組、定時、日誌、統計、定位、OTA升級、影子模式、實時監測、加密認證等
- EMQ管理: Mqtt客戶端、監聽器、訊息主題、訊息訂閱、外掛管理、規則引擎、資源
- 硬體 SDK: 支援WIFI和MQTT連線、物模型響應、實時監測、定時上報監測資料、AES加密、NTP時間等
- 物模型管理: 屬性(裝置狀態和監測資料),功能(執行特定任務),事件(裝置主動上報給雲端)
- 其他(開發中):第三方登入,裝置分享、裝置告警、場景聯動(進度50%),智慧音箱、多租戶、APP介面自定義(進度40%),時序資料庫、分散式叢集部署、Granfa監控(進度30%),視訊流處理、桌面端模擬器/監控、安卓端模擬器/監控(進度20%)
三、技術棧
- 服務端
- 相關技術:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、TDengine、EMQX、Mqtt等
- 開發工具:IDEA
- Web端
- 相關技術:ES6、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui等
- 開發工具:Visual Studio Code
- 移動端(Android / Ios / 微信小程式 / H5)
- 硬體端
- 相關技術: ESP-IDF、Arduino、FreeRTOS等
- 開發工具:Visual Studio Code 和 Arduino
四、硬體接入
- 裝置認證
- 加密認證(推薦)
- 簡單認證
- EMQX支援的其他認證方式
- 裝置互動
- 釋出物模型、裝置資訊、時鐘同步相關Mqtt主題
- 訂閱物模型、裝置升級、時鐘同步相關Mqtt主題
專案提供了示例SDK,使用ESP8266晶片,基於Arduino開發。裝置燒錄使用串列埠模組,例如Ch340,接線圖如下:
五、Docker快速安裝
- Mysql中建立wumei-smart資料庫,匯入Sql指令碼
- 修改命令中的Mysql配置,並執行
docker run \
--name wumei-smart \
--env DB_HOST=localhost:3306 \
--env DB_NAME=wumei-smart \
--env DB_USER=root \
--env DB_PASSWORD=wumei-smart \
--publish 80:80 \
--publish 1883:1883 \
--publish 8083:8083 \
--volume /var/wumei-smart/java/uploadPath:/var/wumei-smart/java/uploadPath \
--restart unless-stopped \
--detach \
kerwincui/wumei-smart:1.1