【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)
【畢業設計】60-基于ZigBee無線智能消防\煙霧報警逃生系統設計(原理圖工程、源代碼、低重復率參考文檔、實物圖)
文章目錄
- 【畢業設計】60-基于ZigBee無線智能消防\煙霧報警逃生系統設計(原理圖工程、源代碼、低重復率參考文檔、實物圖)
- 任務書要求
- 完成事項
- 設計說明書
- 摘要
- 設計框架架構
- 設計說明書及設計文件
- 源碼展示
任務書要求
主要研究內容:
學習掌握ZigBee技術和嵌入式等知識;對無線傳輸模塊搭建的無線傳感網絡系統的組成與設計進行詳細的說明;通過實物對無線傳感網的智能消防逃生系統設計進行更形象和深入的分析說明。
研究方法:
主要通過參閱相關資料,書籍和網上調閱資料。收集相關信息。同時咨詢指導老師,以求達到專業知識,完成設計的效果。
要求:
使用ZigBee無線傳輸模塊搭建無線傳感網絡,并在嵌入式主控芯片上分析感知點采集到的實時監控數據,智能反應并判斷是否發生災情。進而實現報警、滅火逃生路線指引等功能。通過實際的測試數據,分析系統的有效性和可靠性。
完成事項
1.原理圖工程文件
2.VB上位機源代碼
3.低重復率文檔,27257字
4.設計流程圖
5.實物圖
設計說明書
摘要
隨著半導體技術與計算科學技術的飛速發展,現在的消防逃生系統也出現了改變,不再僅僅依靠人們只能通過眼睛或者嗅到有煙霧或者火災的發展?,F在隨著傳感器技術的發展以及科技技術的發展,可以通過半導體傳感器來對周邊的環境進行實時的監控,并且可以通過無線設備即實現數據的傳輸。使人們可以在最快的時間發現火災情況避免人員與財產損失。本文基于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无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023年的在线工具箱系统源码拥有上百款
- 下一篇: 【独家】卜晓军:大数据引领互联网+时代