【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)

文章目录

  • 【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)
    • 任务书要求
    • 完成事项
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

任务书要求

主要研究内容:
学习掌握ZigBee技术和嵌入式等知识;对无线传输模块搭建的无线传感网络系统的组成与设计进行详细的说明;通过实物对无线传感网的智能消防逃生系统设计进行更形象和深入的分析说明。
研究方法:
主要通过参阅相关资料,书籍和网上调阅资料。收集相关信息。同时咨询指导老师,以求达到专业知识,完成设计的效果。
要求:
使用ZigBee无线传输模块搭建无线传感网络,并在嵌入式主控芯片上分析感知点采集到的实时监控数据,智能反应并判断是否发生灾情。进而实现报警、灭火逃生路线指引等功能。通过实际的测试数据,分析系统的有效性和可靠性。

完成事项

1.原理图工程文件
2.VB上位机源代码
3.低重复率文档,27257字
4.设计流程图
5.实物图

设计说明书

摘要

随着半导体技术与计算科学技术的飞速发展,现在的消防逃生系统也出现了改变,不再仅仅依靠人们只能通过眼睛或者嗅到有烟雾或者火灾的发展。现在随着传感器技术的发展以及科技技术的发展,可以通过半导体传感器来对周边的环境进行实时的监控,并且可以通过无线设备即实现数据的传输。使人们可以在最快的时间发现火灾情况避免人员与财产损失。本文基于ZigBee的无线传感网的智能消防逃生系统设计,需要实现ZigBee终端节点测量环境温度、烟雾浓度,并在OLED1284液晶屏显示出上位机设置的阈值,测量值超过预定阈值的时候,蜂鸣器响灯闪声光报警。同时将测量的数据无线发送给协调器,协调器接收后通过CH340G串口转USB发送给电脑上位机显示,电脑端上位机能够设置阈值,阈值通过协调器发送给终端并在终端液晶上显示出来。系统组成部分有单片机最小系统、控制串口测温电路报警器、MQ2烟雾报警器、OLED12864显示屏幕、与串口CH304G通信的上位机,实现在上位机上数据显示的功能。本设计的制作流程为绘制原理图、设计PCB、编写工程程序、制作实物焊接调试。最后还对整个系统的功能进行测试,完成并验证了全部预想功能。另外,通过模块化的设计实现了功能可配置性,不仅便于后期的切换与拓展,还保证了系统的稳定性,经得起市场的检验。

设计框架架构

前 言 1
第一章 绪论 2
第一节 研究背景 2
第二节 研究现状 3
第三节 研究内容 4
第四节 本章小节 5
第二章 智能消防逃生系统概述 6
第一节 智能消防逃生系统功能分析 6
第二节 烟雾传感器选型 6
一、烟雾传感器原理 6
二、烟雾传感器选择 7
第三节 温度传感器选型 8
第四节 OLED显示器介绍 9
第五节 方案设计框架确定 10
第六节 本章小结 11
第三章 智能消防逃生系统的硬件设计 12
第一节 总电路设计 12
第二节 单片机最小系统电路设计 12
一、单片机介绍 12
二、单片机最小系统设计 13
第三节 蜂鸣器报警电路设计 14
第四节 显示电路设计 15
第五节 温度传感器电路设计 15
第六节 烟雾传感器电路设计 16
第七节 PCB设计 17
第七节 本章小结 19
第四章 智能消防逃生系统软件设计 20
第一节 开发软件介绍 20
第二节 软件总流程设计 21
第三节 显示器程序流程设计 22
第四节 温度采集程序流程设计 24
第五节 烟雾采集程序流程设计 26
第六节 本章小结 27
第五章 智能消防逃生系统实现 28
第一节 硬件电路焊接 28
第二节 硬件电路调试 29
一、静态调试 30
二、系统综合调试 30
第三节 实物功能测试 30
第四节 本章小结 33
总 结 34
致 谢 35
参考文献 36
附 录 37
一、英文原文 37
二、英文翻译 41
三、工程图纸 45
四、源代码 47

设计说明书及设计文件

开发项目需要使用的软件,百度云共享
AD16
链接:https://pan.baidu.com/s/1FIhJkE0Pv2mRxJIooRzKNA
提取码:uqvd
Keil4
链接:https://pan.baidu.com/s/1_0qtwROJ6hDeioyG0XL-xg
提取码:t82c
Visio
链接:https://pan.baidu.com/s/1aS8FCZat7lAdHjclNa8owA
提取码:l9o1
Proteus
链接:https://pan.baidu.com/s/1GinRzP3QHtfVOIBxJ5yD3w
提取码:u0vb

其他资料
资料链接



低重复率文档,27257字

源码展示

/********************************************************************** @fn      SampleApp_Init ** @brief   Initialization function for the Generic App Task.*          This is called during initialization and should contain*          any application specific initialization (ie. hardware*          initialization/setup, table initialization, power up*          notificaiton ... ).** @param   task_id - the ID assigned by OSAL.  This ID should be*                    used to send messages and set timers. ** @return  none*/
void SampleApp_Init( uint8 task_id )
{ SampleApp_TaskID = task_id;SampleApp_NwkState = DEV_INIT;SampleApp_TransID = 0;  MT_UartInit();                  //串口初始化MT_UartRegisterTaskID(task_id); //注册串口任务P0SEL &= 0x7f;                  //P0_7配置成通用io   HAL_TURN_ON_LED2();// Device hardware initialization can be added here or in main() (Zmain.c).// If the hardware is application specific - add it here.// If the hardware is other parts of the device add it in main().#if defined ( BUILD_ALL_DEVICES )// The "Demo" target is setup to have BUILD_ALL_DEVICES and HOLD_AUTO_START// We are looking at a jumper (defined in SampleAppHw.c) to be jumpered// together - if they are - we will start up a coordinator. Otherwise,// the device will start as a router.if ( readCoordinatorJumper() )zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;elsezgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;
#endif // BUILD_ALL_DEVICES
#if defined ( HOLD_AUTO_START )// HOLD_AUTO_START is a compile option that will surpress ZDApp//  from starting the device and wait for the application to//  start the device.ZDOInitDevice(0);
#endif// Setup for the periodic message's destination address// Broadcast to everyoneSampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;// Setup for the flash command's destination address - Group 1SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;  SampleApp_P2P_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //点播 SampleApp_P2P_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; SampleApp_P2P_DstAddr.addr.shortAddr = 0x0000;            //发给协调器// Fill out the endpoint description.SampleApp_epDesc.endPoint = SAMPLEAPP_ENDPOINT;SampleApp_epDesc.task_id = &SampleApp_TaskID;SampleApp_epDesc.simpleDesc= (SimpleDescriptionFormat_t *)&SampleApp_SimpleDesc;SampleApp_epDesc.latencyReq = noLatencyReqs;// Register the endpoint description with the AFafRegister( &SampleApp_epDesc );
}
uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )
{afIncomingMSGPacket_t *MSGpkt;(void)task_id;  // Intentionally unreferenced parameterif ( events & SYS_EVENT_MSG ){MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );while ( MSGpkt ){switch ( MSGpkt->hdr.event ){// Received when a key is pressedcase KEY_CHANGE:SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );break;// Received when a messages is received (OTA) for this endpointcase AF_INCOMING_MSG_CMD:SampleApp_MessageMSGCB( MSGpkt );break;// Received whenever the device changes state in the networkcase ZDO_STATE_CHANGE:SampleApp_NwkState = (devStates_t)(MSGpkt->hdr.status);if ( //(SampleApp_NwkState == DEV_ZB_COORD) ||(SampleApp_NwkState == DEV_ROUTER)|| (SampleApp_NwkState == DEV_END_DEVICE) ){// Start sending the periodic message in a regular interval.osal_start_timerEx( SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,                              SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );}else{// Device is no longer in the network}break;default:break;}// Release the memoryosal_msg_deallocate( (uint8 *)MSGpkt );// Next - if one is availableMSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );}// return unprocessed eventsreturn (events ^ SYS_EVENT_MSG);}// Send a message out - This event is generated by a timer//  (setup in SampleApp_Init()).if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT ){// Send the periodic message//SampleApp_SendPeriodicMessage();SampleApp_Send_P2P_Message();// Setup to send message again in normal period (+ a little jitter)osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT,(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0x00FF)) );// return unprocessed eventsreturn (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT);}// Discard unknown eventsreturn 0;
}

【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)相关推荐

  1. 【毕业设计】基于ZigBee的智能灯控系统 -物联网 单片机 stm32

    文章目录 1 简介 2 系统结构 系统功能 相关器件 Zigbee芯片 CC2530 LED发光二极管 人体红外感应模块 光敏电阻传感器 3 实现效果 5 相关部分代码 6 最后 1 简介 Hi,大家 ...

  2. 【毕业设计】基于zigbee的智能家居系统 - 单片机 物联网 stm32

    文章目录 1 简介 2前言 2.1 系统目标 3 系统架构 3.1 网关板设计: 3.2 ZigBee网络感知层 3.3 显示控制平台及数据保存 3.4 NB-IOT模块实现 实现效果 4 最后 1 ...

  3. 毕业设计 基于zigbee的智能家居系统设计与实现

    文章目录 1 简介 2前言 2.1 系统目标 3 系统架构 3.1 网关板设计: 3.2 ZigBee网络感知层 3.3 显示控制平台及数据保存 3.4 NB-IOT模块实现 实现效果 4 最后 1 ...

  4. 基于ZigBee的智能家居安全监控系统设计

    前 言 智能家居又称智能住宅,正朝着具备无线远程控制.多媒体控制.高速数据传输等功能的方向发展,其关键技术为兼容性强的家庭控制器和满足信息传输需要的家庭网络.目前,传输网络多采用综合布线技术,限制了系 ...

  5. 计算机毕业设计springboot基于springboot的智能ERP管理系统r8w04源码+系统+程序+lw文档+部署

    计算机毕业设计springboot基于springboot的智能ERP管理系统r8w04源码+系统+程序+lw文档+部署 计算机毕业设计springboot基于springboot的智能ERP管理系统 ...

  6. 基于ZigBee的智能公交报站系统

    1. 引言 随着国内经济的迅猛发展,全国的大小城市也在迅速扩大,大量人口快速地涌入和人口出行的需求也出现几何的增长,这就导致了城市交通运输的日益紧张.发展公共交通是缓解城市交通运输压力的有效方法.我国 ...

  7. 基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计【毕设课设分享】

    1609 基于STM32的智能蓝牙温控风扇控制系统设计-毕设课设 1.LCD1602液晶显示当前温度,温度上下限值,风扇等级,自动手动模式: 2.设置有4个按键,按键1可以设置自动和手动2种模式切换: ...

  8. 毕业设计 基于51单片机智能停车场管理车位引导系统设计

    基于51单片机智能停车场管理车位引导系统设计 0.毕业设计选题原则说明(重点) 1.项目简介 1.1 系统构成 1.2 系统功能 2.部分电路设计 2.1 STC89C52单片机核心系统电路设计 2. ...

  9. 基于ZigBee的智能家居的设计与实现—目录

    基于ZigBee的智能家居的设计与实现-开篇 基于ZigBee的智能家居设计与实现-CC2530开发 基于ZigBee的智能家居设计与实现-WiFi模块开发 基于ZigBee的智能家居设计与实现-MQ ...

最新文章

  1. 关于网页乱码和字符编码方式
  2. PowerDesigner基本使用 - 创建业务处理模型BPM
  3. c++基础——程序流程结构之选择结构
  4. VTK:绘制轴AXES用法实战
  5. Django从理论到实战(part41)--WSGIRequest对象
  6. iPhone6和iPhone6 plus的iOS8设计尺寸参考指南
  7. 自然数,实数,有理数,整数,分数,无理数
  8. laravel5.4 刷新过快,出现The only supported ciphers are AES-128-CBC and AES-256-CBC
  9. git(10)---Git常用命令
  10. java数据文本格式转换_SpringMVC中Json数据格式转换
  11. OpenCV --- 实现两幅图像并排合并(ROI)
  12. 矩阵理论及其应用课后习题作业:第三章 第四章
  13. MAX485芯片介绍(MAX485ESA+T,半双工RS422和RS485串口收发传输芯片,2.5Mbps传输速率。5V逻辑电平)
  14. 手把手教你用Python操作Word自动编写离职报告!
  15. Nexus war 下载
  16. 手撕HashMap(原理)
  17. 课程linux实验报告,Linux课程综合训练实验报告
  18. uniapp中h5网页微信公众号授权
  19. Imaginary number
  20. Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.5.0-gcj-4.5/lib/tools.jar 求解

热门文章

  1. lastIndexOf()使用方法
  2. 数据结构C语言版:约瑟夫问题(杀人问题)
  3. update语句的执行过程
  4. HttpUnit介绍
  5. 【CRM(二)】登录客户管理模块
  6. 解决SQL Server2017的sa用户被禁用
  7. 初识滴滴交易策略之一:交易市场
  8. Spring Data JDBC入门使用Demo
  9. 点云体素下采样 ❤️(体素质心 | 体素中心)
  10. Pycham无法创建py文件的问题