# 物联网管控平台 物联网管控平台是一个基于中心和节点的分布式设备管控平台,主要功能包括设备管理、设备监控和设备操作 ## 部署层次 逻辑上分成三层: 1. Web服务器层:使用nginx,用于部署前端站点 1. API网关层:使用nginx,用于服务转发,前端使用Path方式访问服务,网关根据Path将不同的请求转发给对应服务的IP+Port 1. 服务层:包含访问基础设施服务(按技术角度划分)和应用服务(按业务角度划分) ## 支持的设备: * 传统设备:串口和红外遥控设备(feibit) * IP摄像头(基于ONVIF协议) * 智能设备(feibit):开关、插座、窗帘电机 * 物联网传感器(feibit)光照、温湿度、烟雾、人体感应、空气质量 ## 解决方案的项目 projects目录下的项目: 服务端包含如下项目: * IoTCenter:物联网平台服务,核心项目,提供设备的管理、监控和控制 * UserCenter:用户中心,主要提供其他应用的对接,包含应用的管理、前台的登录和注销,后台的用户管理和权限管理 * JobServer:基于Hangfire的任务调度平台,作为平台级定时任务管理 * WebMVC:基于Vue的Desktop网站 * WebSPA:基于Vue的Mobile网站 节点包含如下项目: * IoTNode:物联网节点,提供设备的对接 * IoTDameon:物联网节点的在线自动更新程序 其他共享项目: * Infrastructure:基础设施项目,提供无关业务的通用组件 * IoTShared:IoTCenter和IoTNode的共享项目,提供通用的模型定义和操作 * CheckSum:对文件进行SHA512计算 * IoTKeyGen:基于网卡生成授权文件 * XamarinApp:基于Xamarin的跨平台APP客户端项目,目前没有实际使用,已停止更新,当前部署的项目为使用人人通APP进行集成 * gateway:基于spring cloud gate的Java网关项目,目前没有实际使用,已停止更新,当前部署的项目为使用Nginx充当网关 * ApiGateway:基于Bumblebee的.NET Core网关项目,目前没有实际使用,已停止更新,当前部署的项目为使用Nginx充当网关 * StudyCenter:用于提供电子班牌课程信息的项目,目前没有实际使用,已停止更新 labs下的调研项目: * MinIOTest:对MinIO使用Spring boot和Asp.net core进行集成测试 * CockRoachDBTest:对CockRoachDB使用JPA和EFCore对CockRoachDB进行集成测试 * doris:基于Apache Doris的大数据数据仓库调研项目,已经完成0.12版本的编译和docker镜像制作。当前镜像同时包含fe和be,启动docker容器时通过command参数定义具体调用 labs/IoTServices下的历史项目: APService:无线AP接入 LiChuangService:力创设备接入服务 NJWLService:南京物联设备接入服务 WinService:Windows系统监控服务 ## 物联网中心 接收节点上传的各种数据 发送命令给节点 * 调用设备API * 调用命令 * 调用场景 远程维护节点 * 维护节点名称 * 维护设备显示名称、用户名和密码 * 维护命令 * 维护场景 * 维护定时器 * 维护触发器 维护平台级信息 * 维护平台场景 * 维护平台定时器 * 维护平台触发器 ## 物联网移动APP 主要提供设备查看和控制功能 ## 开发&部署 ### 开发: 配置:appsettings.json appsettings.Development.json 入口:nginx 使用localhost访问本地端口 依赖:mysql redis srs influxdb docker compose port:port端口映射到本地 服务:usercenter iotcenter jobserver vs下使用本地端口 ### 单机部署: 配置:appsettings.json 入口:nginx 使用localhost访问本地端口 依赖:mysql redis srs influxdb docker compose port:port端口映射到本地 服务:usercenter iotcenter jobserver docker compose port:port端口映射到本地 2.集群 nginx不使用docker,物理机使用 docker compose port:port端口映射到本地 配置:appsettings.json appsettings.Docker.json 入口:nginx + ip 依赖:mysql redis srs influxdb docker compose port:port端口映射到本地 服务:usercenter iotcenter jobserver docker compose port:port端口映射到本地 ##cockroachdb集群 cockroach start --insecure --host=localhost --http-port=8801 cockroach start --insecure --store=node2 --host=localhost --port=26258 --http-port=8802 --join=localhost:26257 cockroach start --insecure --store=node3 --host=localhost --port=26259 --http-port=8803 --join=localhost:26257 生成haproxy配置文件:cockroach gen haproxy --insecure