我搭建的物聯網平臺叫ETCloud(everthing cloud),從去年開始我就有搭建物聯網平臺的想法,那時候只搭建了一套網頁版,很多功能都不全,連設備通信都有頻頻掉線都有問題。直到今年正好趕上疫情,在家頹廢了3個月,終於才下定決心開始搭建。因爲有之前失敗的例子,這次網頁端,我只用了一個星期,當然基本上每天晚上都熬到2點左右,晚上兩點多也不困,思如泉湧那種,早上醒來第一件事就是完善回想夢中的代碼,做夢也在寫代碼真是有點醉眼朦朧。從一開始我就預計了3個端。後臺服務端、pc管理端、小程序應用a端。當然在做的過程中會發現路越來越寬敞後續準備添加pc數據分析端、NettyBroker、支付端。
首先總體介紹下這個ETCloud平臺:
- 這是一個多租戶系統,有三層用戶結構。系統管理員,租戶管理員、普通用戶
- 用戶可以在pc端新建產品、定義產品節點、新建設備、擁有設備批量自動註冊功能
- pc端和app端實時展現設備數據、對設備進行數據下發。
- 定義觸發器實現設備異常後自動告警。
一、服務端
- 作爲pc端和小程序端的後臺服務,提供數據接口、用戶認證、小程序認證等功能
- 所用技術springboot2.2.7、Mysql5.6、EMQX、Node8.11.3、iview1.3.1、Docker1.31.1
-
版本列表
ETCloud
V0.0.1 2020年5月11日
基礎架構搭建 spring boot、Mysql、EMQ、Node、iview、Docker
V0.0.2 2020年5月15日
新增設備自動註冊功能 區分開發環境和正式環境消息
V0.0.3 2020年5月18日
新增用戶自動註冊功能 多租戶系統調整 設備權限、產品權限、菜單權限、數據權限區分 用戶統一修改爲郵箱註冊 emq新增http認證
V0.0.4 2020年5月19日
新增用戶最大連接設備數攔截 新增動態訂閱模式,減輕前臺負擔,避免消息串掉
V0.0.5 2020年5月25日
新增設備模擬器功能 新增設備連接日誌 新增設備數據日誌 新增設備指令下發日誌 新增設備觸發器功能
V0.0.6 2020年6月10日
新增微信小程序驗籤接口 新增微信小程序登錄接口 完善token攔截器
V0.0.7 2020年6月19日
修復服務器調用EMQAPI輸入流讀取不完整bug 新增告警記錄已讀、未讀接口
二、網頁端
- 功能介紹
設備列表、設備管理、產品管理、節點管理、系統日誌、告警管理、觸發器、告警模板、告警日誌、用戶管理、企業管理、權限管理、角色管理、設備模擬器、併發模擬器 - 頁面展示
三、小程序端
- 所用技術
weui、path-mqtt、原生小程序 - 功能介紹
微信登錄、平臺賬號綁定、設備列表展示、節點數據上報、節點數據下發、告警數據查看(已讀、未讀、刪除)、掃碼添加設備 - 頁面展示
四、所需環境
軟件環境:JDK8.0 、Mysql、Nginx、Docker、node、EMQ-X
開發工具:IDEA、webstrom、微信開發者工具
輔助工具:mqttfx、postman
系統環境:阿里雲ECS、域名、證書
域名需要購買,證書阿里雲有免費的,ECS我用的2核4G