第四部分:概要设计文档
本章节延续“整体概要设计+软件概要设计+硬件概要设计”的结构,整体设计明确项目架构框架,软件、硬件概要设计分别独立阐述,明确各模块的核心设计思路、接口设计、模块间交互关系,为详细设计奠定基础。
4.1 整体概要设计
4.1.1 项目架构设计
项目采用“云-边-端”协同的四层架构,实现软硬件一体化协同运行,具体架构如下:
-
感知层:由各类硬件设备组成(感知设备、控制终端、通信模块等),负责数据采集与指令执行,是项目的“终端入口”;
-
边缘层:部署在设备侧的边缘计算节点,承担协议转换、数据预处理、本地规则计算等功能,减少网络带宽占用,实现本地故障快速响应;
-
平台层:即物联网设备管理软件平台,包含各类核心功能模块,负责设备管理、数据处理、远程控制、数据分析等,是项目的“核心大脑”;
-
应用层:面向不同场景的可视化界面与服务,为客户提供设备操作、数据查看、分析报告等服务,适配智能家居、智慧农业、智能工厂等多场景。
4.1.2 软硬件协同架构
软件平台与硬件设备通过标准化接口实现协同,具体交互流程如下:
-
硬件设备通过通信模块,采用MQTT/TCP/HTTP协议接入软件平台,完成身份验证;
-
感知设备采集数据后,通过通信模块上传至软件平台,软件平台对数据进行解析、存储与分析;
-
软件平台下发控制指令,通过通信模块传输至控制终端,控制终端执行指令,并将执行结果反馈至软件平台;
-
边缘层负责数据预处理与本地决策,当出现紧急情况时,可直接控制硬件设备,同时将相关信息上报至软件平台。
4.1.3 设计原则
-
模块化设计:软件、硬件均采用模块化设计,便于功能扩展、维护与升级;
-
标准化设计:接口、协议采用行业标准,确保软硬件兼容性与可扩展性;
-
稳定性设计:优先选择成熟技术与设备,确保系统与设备运行稳定,降低故障发生率;
-
安全性设计:融入安全设计理念,保障设备接入、数据传输、存储的安全性;
-
易用性设计:兼顾软件操作与硬件部署的易用性,降低客户使用与维护成本。
4.2 软件概要设计(独立模块)
4.2.1 软件架构设计
软件平台采用分层架构设计,从上至下分为应用层、业务逻辑层、数据访问层、数据存储层,各层独立运行、相互协作,具体如下:
-
应用层:面向用户的操作界面,包括设备管理界面、数据查看界面、远程控制界面、数据分析界面等,负责用户交互;
-
业务逻辑层:核心业务处理层,包含设备接入、数据采集、远程控制、数据分析、用户管理等功能模块,负责业务逻辑处理;
-
数据访问层:负责与数据存储层交互,实现数据的查询、新增、修改、删除等操作,为业务逻辑层提供数据支持;
-
数据存储层:采用数据库存储各类数据(设备数据、用户数据、日志数据等),确保数据安全、可靠。
4.2.2 核心模块设计
4.2.2.1 设备接入模块
-
模块功能:负责设备接入验证、协议解析、在线状态监测、接入日志记录;
-
核心逻辑:设备发起接入请求→模块验证设备身份(设备ID、密钥)→验证通过后,根据接入协议解析数据→记录接入日志,更新设备在线状态;
-
依赖模块:数据访问层(存储设备信息、接入日志)、数据采集模块(接收设备上传的数据)。
4.2.2.2 数据采集与存储模块
-
模块功能:接收设备上传的数据、解析数据格式、存储数据、异常数据检测、数据备份与恢复;
-
核心逻辑:接收设备数据→解析数据格式(统一为标准格式)→检测数据是否异常→将正常数据存储至数据库,异常数据触发提醒并记录→定期进行数据备份;
-
依赖模块:设备接入模块(获取设备数据)、数据访问层(存储数据)、数据分析模块(提供数据支持)。
4.2.2.3 远程控制模块
-
模块功能:下发控制指令、接收指令执行结果、记录指令日志、指令重试;
-
核心逻辑:用户发起控制指令→模块生成标准化指令→通过通信接口下发至设备→接收设备执行结果→记录指令日志,若执行失败则提醒并支持重试;
-
依赖模块:设备接入模块(获取设备在线状态)、数据访问层(存储指令日志)。
4.2.2.4 数据分析模块
-
模块功能:数据统计分析、数据可视化、自定义分析规则、生成分析报告;
-
核心逻辑:从数据存储层获取数据→根据预设规则或自定义规则进行统计分析→生成可视化图表与分析报告→提供数据查询与导出功能;
-
依赖模块:数据采集与存储模块(获取数据)、数据访问层(存储分析结果)。
4.2.2.5 用户管理与权限管理模块
-
模块功能:用户注册、登录、信息管理、权限分配、角色管理;
-
核心逻辑:用户注册/登录→验证用户信息→根据角色分配权限→用户可修改个人信息,管理员可管理用户与权限;
-
依赖模块:数据访问层(存储用户信息、权限信息)。
4.2.2.6 系统管理模块
-
模块功能:系统参数配置、日志管理、系统升级、数据备份与恢复;
-
核心逻辑:管理员配置系统参数→模块记录各类日志→支持系统在线升级→定期进行数据备份,出现异常时可恢复数据;
-
依赖模块:数据访问层(存储系统参数、日志数据、备份数据)。
4.2.3 接口设计
4.2.3.1 设备接入接口
-
MQTT接口:用于设备与平台的数据交互,采用MQTT 3.1.1协议,端口:1883(TCP)、8883(SSL);
-
TCP接口:用于设备与平台的双向通信,端口:8080,数据格式:JSON;
-
HTTP接口:用于设备上传数据与接收指令,请求方式:POST/GET,数据格式:JSON。
4.2.3.2 内部模块接口
-
设备接入模块→数据采集模块:提供设备数据接口,传递设备上传的数据;
-
远程控制模块→设备接入模块:提供指令下发接口,传递控制指令;
-
各模块→数据访问层:提供数据查询、新增、修改、删除接口,实现数据交互。
4.2.3.3 外部接口(可选)
提供RESTful API接口,支持与第三方平台对接,数据格式:JSON,采用API密钥验证,确保接口安全。
4.2.4 数据存储设计
-
数据库选型:__________(根据自身技术选型填写,如MySQL、MongoDB等);
-
数据分类存储:
(1)设备数据:存储设备ID、设备类型、接入协议、在线状态、部署位置等信息;
(2)采集数据:存储设备上传的温湿度、运行参数等数据,按时间戳排序;
(3)用户数据:存储用户账号、密码(加密存储)、个人信息、角色权限等信息;
(4)日志数据:存储设备接入日志、操作日志、指令日志、异常日志等信息;
(5)系统数据:存储系统参数、配置信息、备份数据等信息。
4.2.5 技术选型补充
-
开发语言:__________(如Java、Python、Go等);
-
前端框架:__________(如Vue、React等);
-
服务器:__________(如阿里云、腾讯云服务器等);
-
其他技术:__________(如消息队列、缓存技术等,根据自身选型填写)。
4.3 硬件概要设计(独立模块)
4.3.1 硬件整体架构设计
硬件系统由感知层设备、控制终端、通信模块、辅助设备组成,各设备通过标准化接口对接,形成完整的硬件体系,具体架构如下:
-
感知层:由温湿度传感器、其他场景化传感器组成,负责采集环境与设备数据;
-
控制层:由控制终端组成,负责接收软件平台指令,控制感知设备与执行器;
-
通信层:由通信模块组成,负责实现硬件设备与软件平台的数据传输与指令交互;
-
辅助层:由电源设备、部署支架等组成,为硬件系统提供供电与部署支持。
4.3.2 核心硬件设备设计
4.3.2.1 感知设备设计
- 温湿度传感器:
(1)核心组件:传感器芯片、数据处理单元、接口单元;
(2)工作原理:传感器芯片采集温湿度数据,经数据处理单元转换为标准格式,通过接口单元传输至控制终端;
(3)选型补充:__________(根据自身硬件选型填写传感器型号、厂商等)。
4.3.2.2 控制终端设计
-
核心组件:主控芯片、接口单元、执行单元、电源单元;
-
工作原理:主控芯片接收通信模块传输的控制指令,控制执行单元执行相应操作,同时通过接口单元获取感知设备的数据,上传至通信模块;
-
选型补充:__________(根据自身硬件选型填写主控芯片型号、厂商等)。
4.3.2.3 通信模块设计
-
核心组件:通信芯片、天线、接口单元、电源单元;
-
工作原理:通过通信芯片实现与软件平台的协议对接,接收平台指令并传输至控制终端,同时将控制终端上传的数据传输至平台;支持自动重连功能;
-
选型补充:__________(根据自身硬件选型填写通信模块型号、厂商、通信方式等)。
4.3.2.4 辅助设备设计
-
电源设备:采用市电+电池双供电模式,确保供电稳定;电池采用锂电池,支持充电与低功耗保护;
-
部署支架:采用防水、防尘、抗干扰设计,适配室内外部署,便于安装与固定。
4.3.3 硬件接口设计
-
感知设备与控制终端接口:采用UART接口,用于数据传输,波特率:9600bps;
-
控制终端与通信模块接口:采用SPI接口,用于指令与数据传输;
-
电源接口:采用DC 5V接口,支持市电与电池接入;
-
扩展接口:预留I2C接口,用于后续新增设备扩展。
4.3.4 硬件协同设计
-
数据传输流程:感知设备采集数据→通过UART接口传输至控制终端→控制终端处理数据→通过SPI接口传输至通信模块→通信模块通过MQTT/TCP/HTTP协议上传至软件平台;
-
指令执行流程:软件平台下发指令→通信模块接收指令→通过SPI接口传输至控制终端→控制终端解析指令→控制执行单元执行操作→将执行结果反馈至软件平台;
-
异常处理:当硬件设备出现故障时,控制终端触发异常提醒,通过通信模块上传至软件平台,同时启动备用机制(如备用电源、本地控制),确保业务连续性。
4.4 概要设计评审
评审人:__________
评审意见:__________
评审日期:__________