1. 程式人生 > 其它 >開源系統搭建物聯網和智慧家居平臺

開源系統搭建物聯網和智慧家居平臺

一、專案簡介

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)
    • 相關技術:uniapp、uViewuChart
    • 開發工具:HBuilder
  • 硬體端
    • 相關技術: ESP-IDF、Arduino、FreeRTOS等
    • 開發工具:Visual Studio Code 和 Arduino

四、硬體接入

  1. 裝置認證
    • 加密認證(推薦)
    • 簡單認證
    • EMQX支援的其他認證方式
  2. 裝置互動
    • 釋出物模型、裝置資訊、時鐘同步相關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

六、部分圖片