物联网产品系统

我要开发同款
蓝色太阳2026年08月29日
7阅读

技术信息

语言技术
JavaVue
系统类型
Web小程序轻应用
行业分类
工业互联网物联网

作品详情

行业场景

1、立项原因

商业综合体和产业园区的运营方长期面临同一个问题:客流摄像头、环境传感器、门禁各是一套厂商私有后台,数据分散在不同品牌系统里,无法按"企业—案场—区域"的经营口径统一汇总,更做不了跨设备关联分析。设备装在哪、归属哪个项目、当前是否在线,全靠 Excel 台账维护,掉线往往几天后才被发现;每接入一个新品牌就要重做一遍对接,实施成本高且无法复制。

2、行业场景

本项目要解决的正是这些问题:构建一套与厂商、协议解耦的企业级物联网设备管理平台。用"产品—设备两层模型 + 物模型"把不同品牌设备的能力抽象为统一描述,新增厂商只需扩展一个适配器;用统一的组织层级承载设备归属与数据权限;用时序数据库沉淀上报数据,支撑经营报表、可视化大屏与移动端告警。

首批落地场景是商业综合体的客流统计,平台能力可复用到智慧园区、环境监测、智能制造等行业。

功能介绍

1、系统构成

5 个后端微服务(网关 / 认证 / 系统管理 / 数据接收 / 时序数据)+ 3 个前端(PC 管理端、可视化大屏、微信小程序),覆盖设备从接入到分析的全链路。

2、功能模块

· 组织与权限:企业(多级树)—案场—区域三级组织建模;用户—角色—菜单—按钮四级 RBAC,三端菜单独立维护;OAuth2 授权服务器支持账号密码、短信、微信小程序等多种登录方式;数据按企业树隔离。
· 产品与物模型:产品分类树 + 可视化物模型编辑器,定义属性 / 服务 / 事件并按监测点分组,产品发布后方可创建设备。
· 设备管理:注册—激活—运维—报废全生命周期;树形展示,支持"父设备 + 监测点子设备"拓扑;挂载 / 解绑 / 换区域父子级联;设备影子维护属性最新值与在线状态,超时自动判离线。
· 数据接入:统一上报入口配合厂商适配器解析,多监测点设备首次上报自动创建子设备,数据经消息队列异步写入时序库。
· 报表与大屏:按案场 / 区域 / 时间窗 / 指标聚合的客流报表,多套可视化大屏模板,小程序端只读查看。
· 告警与推送:设备离线自动生成告警并落库,微信订阅消息推送给设备所属企业及其上级管理企业的绑定用户。
· 运维支撑:网关路由与 API 文档启动时自动注册聚合;环境初始化工具一键检测中间件连通性并建表;虚拟设备模拟器自测上报链路。

项目实现

1、我负责的部分

平台整体架构设计与后端主体开发,并统筹三端前端的接口对接与权限打通:微服务拆分、网关鉴权体系、产品物模型与设备父子拓扑建模、数据接收与时序存储链路、告警推送链路、环境初始化工具。

2、技术栈

Java 17 + Spring Boot 3.2.8 + Spring Cloud 2023 & Alibaba;Nacos 注册配置、Spring Cloud Gateway、Spring Authorization Server(扩展四种授权类型)、OpenFeign、Sentinel、MyBatis-Plus、RabbitMQ;MySQL 存业务、TDengine 存时序、MongoDB 做缓存与设备影子、MinIO 存文件;前端 Vue 3 + Vite + Element Plus + Pinia,以及微信原生小程序;Drone CI + Docker 部署。

3、亮点与难点

· 权限与路由零配置:服务启动扫描 Controller 注解,把"接口 → 权限点 / 允许调用端 / 网关路由"写入 MongoDB 由网关动态加载,新增接口不用改网关配置。
· 设备接入做防腐层:新厂商只需新增一个适配器 Bean,核心链路不动。
· 时序库按"企业建库、企业产品 × 监测点分组建超级表、每设备一张子表"设计,设备换区域只更新子表标签,不重写历史数据。
· 最难的是父子设备挂载的一致性:父子企业案场必须一致、级联挂载解绑、子设备挂载自动带父,业务分支多、边界易漏;跨服务还要做最终一致,挂载在事务提交后发事件、经消息队列异步更新时序归属。
· 访问控制分两层:网关管"能不能调用",业务层按企业树管"能看谁的数据",两层职责不分清极易越权读。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论