Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案

物联网架构


Spring Cloud微服务分布式物联网平台前后端分离源码

模块划分,四层架构

  • 驱动层:用于提供标准或者私有协议连接物理设备的 SDK,负责南向设备的数据采集和指令控制,基于 SDK 可实现驱动的快速开发;
  • 数据层:负责设备数据的收集和入库,并提供数据管理接口服务;
  • 管理层:用于提供微服务注册中心、设备指令接口、设备注册与关联配对、数据管理中心,是所有微服务交互的核心部分,负责各类配置数据的管理,并对外提供接口服务;
  • 应用层(开发中...):用于提供数据开放、任务调度、报警与消息通知、日志管理等,具备对接第三方平台能力。

Spring Cloud微服务分布式物联网平台前后端分离源码


功能设计,定位目标

  • 可伸缩:水平可伸缩的平台,构建使用领先的 Spring Cloud 开源技术;
  • 容错:没有单点故障弱,集群中的每个节点是相同的;
  • 健壮和高效:单一服务器节点可以处理甚至数百成千上万的设备根据用例;
  • 可定制:添加新的设备协议,并注册到服务中心;
  • 跨平台:使用 Java 环境可异地、分布式多平台部署;
  • 自主可控:私有云、公有云、边缘部署;
  • 完善性:设备快速接入、注册、权限校验;
  • 安全(开发中...):数据加密传输;
  • 多租户(开发中...):命名空间,多租户化;
  • 云原生:Kubernetes;
  • 容器化:Docker。


Spring Cloud微服务分布式物联网平台前后端分离源码

后台运行方式:

启动 Manager & Data 服务

在 Idea 中依次启动 dc3-managerdc3-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-managerdc3-data 的时候由于开启了 ASPECTJ ,所以需要配置
-javaagent:dc3/lib/aspectjweaver-1.9.5.jar

前台展示图片

Spring Cloud微服务分布式物联网平台前后端分离源码

前端运行方式:

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

其它物联网平台参考页面

Spring Cloud微服务分布式物联网平台前后端分离源码


先转发文章,然后关注#大数据java架构师# ,私信“iot”即可免费获取源码下载地址

源码定时更新。