基于Zigbee设计的楼宇环境监测系统_278
文章目录
- 一、前言
-
- 1.1 项目介绍
-
- 【1】项目开发背景
- 【2】设计实现的功能
-
- 子节点(终端)功能
- 主节点(协调器)功能
- 视频监控功能
- 手机APP功能
- 其他功能与特点
- 【3】项目硬件模块组成
-
- 子节点(终端)硬件模块
- 主节点(协调器)硬件模块
- 视频监控硬件模块
- 手机终端模块
- 其他硬件模块
- 硬件模块设计特点
- 【4】设计意义
- 【5】国内外研究现状
- 【6】摘要
- 1.2 设计思路
- 1.3 系统功能总结
- 1.4 开发工具的选择
-
- 【1】设备端开发
- 【2】上位机开发
- 1.5 参考文献
- 1.6 系统框架图
- 1.7 系统原理图
- 1.8 实物图
- 1.9 模块的技术详情介绍
-
- 【1】ESP8266-WIFI模块
- 【2】CC2530与ZigBee协议
- 【3】SHT30温湿度模块
- 【4】MQ2气体传感器
- 【5】火焰检测模块
- 【6】蜂鸣器模块
- 二、硬件选型
-
- 2.1 CC2530-ZigBee开发板
- 2.2 USB串口线
- 2.3 HC05蓝牙模块
- 2.4 SHT30温湿度模块(买2个)
- 2.5 PCB板(买2份)
- 2.6 蜂鸣器模块(买2个)
- 2.7 电源扩展板(买4份)
- 2.8 母对母杜邦线(买2份)
- 2.8 MQ2烟雾传感器(买2个)
- 2.9 火焰检测模块(买2个)
- 2.10 SGP30(甲醛)模块
- 2.11 磁力模块(买2个)
- 2.12 监控摄像头(买2个)
- 2.14 继电器(X4)
- 2.14 红外光电感应模块(X2)
- 三、视频监控
-
- 3.1 购买ECS服务器
- 3.2 登录ECRS服务器
- 3.3 部署NGINX服务器
-
- (1)先安装一些工具
- (2)获取Nginx二进制源码
- (3)获取nginx-rtmp-module
- (4)编译nginx
- (5)修改Nginx的配置文件
- (6)设置开机启动
- (7)控制nginx服务的3个命令: 启动、停止、重启
- (8)进行rtmp推流
- (9)nginx保存推流视频文件
- (10)rtmp直播流转为hls直播流
- 3.4 视频推流测试
- 3.5 配置监控摄像头
- 3.6 配置监控摄像头【2】
- 四、Qt开发入门与环境搭建
-
- 4.1 Qt是什么?
- 4.2 Qt版本介绍
- 4.3 Qt开发环境安装
- 4.4 开发第一个QT程序
- 4.5 调试输出
- 4.6 QT Creator常用的快捷键
- 4.7 QT帮助文档
- 4.8 UI设计师使用
- 4.9 按钮控件组
- 4.10 布局控件组
- 4.11 基本布局控件
- 4.12 UI设计师的布局功能
- 五、上位机开发
-
- 5.1 Qt开发环境安装
- 5.2 新建上位机工程
- 5.3 切换编译器
- 5.4 编译测试功能
- 5.5 设计UI界面与工程配置
-
- 【1】打开UI文件
- 【2】开始设计界面
- 5.6 设计代码
-
- 5.6.1 蓝牙配置代码
-
- (1)实例化蓝牙相关的对象
- (2)关联蓝牙设备相关的信号
- (3)检查蓝牙状态并设置按钮的初始状态
- (4)设置标签显示本地蓝牙的名称
- (5)设置默认的蓝牙页面
- (6)HC05蓝牙数据读取定时器
- (7)总结
- 5.6.2 整体逻辑代码
-
- (1)`checkPermission()`
- (2)**`SaveDataToFile(QString filePath, QString data)`**
- (3)**`ReadDataFile(QString filePath)`**
- (4)**`Camera_rtmp_Init()`**
- (5)**`Bluetooth_Init()`**
- (6)**`discoveryAgent::deviceDiscovered(const QBluetoothDeviceInfo &info)`**
- (7)**`on_pushButton_player_video_clicked()`**
- (8)**`on_pushButton_player_stop_clicked()`**
- (9)**`Log_Display(QString log)`**
- (10)**`paintEvent(QPaintEvent *event)`**
- (11)**`VideoDataDisplay()`**
- (12)**`on_pushButton_run_mode_clicked()`**
- (13) **`readBluetoothDataEvent()`**
- (14)**`Read_BluetoothData(QByteArray data)`**
- (15)**`on_pushButton_enter_bluetooth_clicked()`**
- (16)**`on_pushButton_bluetooth_connect_clicked()`**
- (17)**`on_pushButton_bluetooth_disconnect_clicked()`**
- 5.7 FFMPEG是什么?
- 5.8 FFMPEG解码视频帧
-
- (1)**初始化库和上下文**
- (2)**打开输入媒体文件/流**
- (3)**查找视频流**
- (4)**初始化解码器**
- (5)**读取并解码视频帧**
- (6)**处理解码后的帧**
- (7)**清理与释放资源**
- (8)总结
- 5.9 设计一个视频播放器的流程
-
- 5.9.1 **开发环境搭建**
- 5.9.2 **项目创建**
- 5.9.3 **设计界面**
- 5.9.4 **视频解码与显示**
-
- 【1】初始化 FFmpeg 库
- 【2】打开视频文件
- 【3】查找视频流
- 【4】读取视频帧
- 【5】渲染视频帧
- 5.9.5 **主循环与事件处理**
- 5.9.6 **清理与释放资源**
- 5.9.7 总结
- 5.10 如何渲染视频帧?
-
- 5.10.1 准备工作
- 5.10.2 设计 QWidget 子类
-
- 【1】创建一个 `VideoWidget` 类
- 【2】实现 `VideoWidget` 类
- 5.10.3 解释代码
-
- 【1】`renderFrame` 函数
- 【2】`paintEvent` 函数
- 5.10.4 **更新视频帧**
- 5.10.5 **总结**
- 5.11 编译Windows上位机
- 5.12 配置Android环境
-
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【4】编译Android上位机
- 六、CC2530基础知识科普
-
- 6.1 CC2530 与 ZigBee 的含义
-
- 【1】CC2530是什么
- 【2】ZigBee是什么
- 【3】CC2530与ZigBee的联系
- 6.2 CC2530的开发环境
-
- 【1】CC2530的开发环境:IAR Embedded Workbench
- 【2】为什么使用IAR开发CC2530
- 【3】IAR与Keil的区别
- 6.3 IAR安装过程
- 6.4 IAR新建工程的步骤
- 6.5 如果没有注册成功?编译失败
- 七、CC2530-硬件端开发
项目视频:
https://www.bilibili.com/video/BV1BnaBzNEGk
一、前言
1.1 项目介绍
【1】项目开发背景
随着现代楼宇智能化的快速发展,环境监测系统在楼宇管理中变得至关重要。通过对楼宇内温湿度、烟雾、一氧化碳浓度等环境参数的实时监测,以及火灾、盗窃等安全隐患的早期预警,不仅能够提升楼宇的安全性,还可以为住户和管理者提供舒适、可靠的生活和工作环境。因此,设计一套基于ZigBee的楼宇环境监测系统,既能满足数据采集和传输的需求,又能实现实时监控和用户友好的操作界面,具有重要的实用价值。
ZigBee作为一种低功耗、低成本、支持多节点组网的无线通信技术,十分适合用于楼宇环境中多点传感器数据的传输。本项目采用ZigBee技术,通过部署多个子节点,实现对不同房间环境参数的采集和集中管理。子节点不仅具备温湿度、烟雾、一氧化碳等环境监测功能,还具备火灾检测和防盗预警功能。数据通过ZigBee网络传输到主节点,主节点完成整合后,通过蓝牙上传到手机APP,让用户可以随时随地掌握楼宇环境状况。
考虑到视频监控在楼宇安全中的重要性,本系统还集