Spring Cloud的開源可分布式物聯網(IOT)平臺,用于快速開發、部署物聯設備接入項目,是一整套物聯系統解決方案
物聯網架構

模塊劃分,四層架構
- 驅動層:用于提供標準或者私有協議連接物理設備的 SDK,負責南向設備的數據采集和指令控制,基于 SDK 可實現驅動的快速開發;
- 數據層:負責設備數據的收集和入庫,并提供數據管理接口服務;
- 管理層:用于提供微服務注冊中心、設備指令接口、設備注冊與關聯配對、數據管理中心,是所有微服務交互的核心部分,負責各類配置數據的管理,并對外提供接口服務;
- 應用層(開發中...):用于提供數據開放、任務調度、報警與消息通知、日志管理等,具備對接第三方平臺能力。

功能設計,定位目標
- 可伸縮:水平可伸縮的平臺,構建使用領先的 Spring Cloud 開源技術;
- 容錯:沒有單點故障弱,集群中的每個節點是相同的;
- 健壯和高效:單一服務器節點可以處理甚至數百成千上萬的設備根據用例;
- 可定制:添加新的設備協議,并注冊到服務中心;
- 跨平臺:使用 JAVA 環境可異地、分布式多平臺部署;
- 自主可控:私有云、公有云、邊緣部署;
- 完善性:設備快速接入、注冊、權限校驗;
- 安全(開發中...):數據加密傳輸;
- 多租戶(開發中...):命名空間,多租戶化;
- 云原生:Kubernetes;
- 容器化:Docker。

后臺運行方式:
啟動 Manager & Data 服務
在 Idea 中依次啟動 dc3-manager 、 dc3-data
Main函數為位置:
dc3-manager:dc3-center/dc3-manager/src/main/java/com/dc3/center/manager/ManagerApplication.java
dc3-data:dc3-center/dc3-data/src/main/java/com/dc3/center/data/DataApplication.java
注意:在啟動 dc3-manager 、 dc3-data 的時候由于開啟了 ASPECTJ ,所以需要配置 -javaagent:dc3/lib/aspectjweaver-1.9.5.jar
前臺展示圖片

前端運行方式:
git clone https://github.com/qianfangzheng/iot-dc-client
cd dc3-web
#這步至關重要,請務必使用 cnpm 進行 install
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
# run
npm run serve
# build
npm run build
# docker build
cd dc3
docker-compose build
# docker run
docker-compose up -d
其它物聯網平臺參考頁面
