物联网架构下的智能火灾预警系统
2.2 传感器单元设计
参考文献对火灾产生的原因、火灾预警原理及火灾信号选取做了详细的分析。基于此,根据火灾发生的前期特征,系统分别选取了温度、湿度、烟雾和CO浓度作为火灾监测对象。各传感节点采用多传感器技术,分别连接了DHT21温湿度传感器、MQ2烟雾传感器和MQ7一氧化碳传感器。DHT21是含有已校准数字信号输出的温湿度复合传感器,采用单排4针引脚封装。使用时,只需将DATA引脚连接到MCU的任意GPIO即可,这里是连接到CC2530的P1 5引脚。另外,为了确保CC2530对DHT21有足够的驱动能力,在DHT21 DATA引脚接有5.1 kΩ的上拉电阻,确保芯片有合适的灌电流。这样,只要按照DHT21的逻辑时序编写程序,控制MCU引脚的输入/输出,就可以从DATA引脚准确读出温湿度数据。
MQ2和MQ7传感器都属于气敏型传感器,两者的原理相似,都属于MQ传感器。MQ传感器所采用的气敏材料是在清洁空气中电导率极低的SnO2,当将它放置于某种敏感气体环境中时,电导率将随该种敏感气体浓度的增大而增大。因此,在驱动MQ传感器时,只需根据传感器特性搭建合理的驱动电路即可。MQ传感器的输出均为模拟量,故应交由MCU进行A/D转换。CC2530的P0口是其内部ADC的8通道输入端口,故将MQ2和MQ7的输出端分别连接至P0_0引脚和P0_1引脚。MQ传感器有6只针状引脚,如图2所示。2引脚和5引脚用于提供加热电流,供电电压为5 V,其余引脚用于信号取出。通过电路分析可知,4引脚和6引脚的输出电压为
![e.jpg](http://m.amcfsurvey.com/editerupload/fetch/20130823/159419_2_0.jpg)
3 系统软件设计
3.1ZigBee—WSN软件设计
底层的数据采集网络采用ZigBee2007协议规范设计,基于TI公司提供的半开源Z-Stack协议栈开发。系统的整体流程如图3所示。本文引用地址://m.amcfsurvey.com/article/159419.htm
3.2 系统GUI设计
由于要求控制管理中心PC提供良好的人机交互环境,故采用图形用户界面(Graphical User Interface ,GUI)设计。采用GUI设计的优势就在于它提供的界面具有友好性,可以帮助减少用户的认知负担,满足不同用户的设计需求。当前较为流行的GUI设计技术包括MiniGUI、OpenGUI、Microwindows/Nano—X、Qt等,另外,采用VC++、VB等也可以完成GUI的开发。但是,这些软件在API的封装性、跨平台性、代码量、设计难度和开发周期上都存在很大差异,拥有各自的优点和缺点。因此,综合考虑各种因素,这里采用Qt技术设计系统的GUI。设计是基于Qt4.7 SDK完成的,该软件版本集成了Qt 4.7.4和Qt Creater 2.4.1集成开发环境(IDE)。
设计时,首先在main.cpp文件中创建QApplication类对象。QApplication类主要用于设置和管理GUI应用程序及其控制流,包括控制主事件的循环、初始化和结束来自用户接口或其他系统资源的应用程序、提供会话管理等。然后就可以根据系统需要添加实际应用,这里设计了一个系统登录窗口和一个控制管理窗口,分别命名为logindlg.cpp和firesystem.cpp。添加完成后,将自动生成相应的头文件(logind lg.h、firesystem.h)和界面文件(logindlg.ui、firesystem.ui)。
控制管理中心PC要接收网络管理节点发送的环境监测数据,因此实现串口通信是进行GUI设计的关键。Qt本身并没有提供串口控制类,故需要采用第三方编写的qextserialport类。qextsetialport类实际上是QIODevice的派生类,使用时,需要为工程添加相应的类文件qextseri albase.cpp、qextserialbase.h以及win_qextserialport.cpp、win_qextserialport.h。设计控制管理窗口时,为了保证系统配置的灵活性,在UI设计窗口中分别添加“端口号”、“波特率”、“数据位”、“校验位”、“停止位”5个Combo BOX下拉列表。然后通过按键Push Button进行系统的开启和关闭设计。Push Button的触发采用的是Qt提供的信号与槽机制,所有从QObject类及其子类派生的类都可以使用该机制。信号与槽机制是Qt的核心机制,它为用户提供了一种高级接口,该接口可用于各类应用对象之间的通信。这里仅给出实现串口通信的几个重要函数。
物联网相关文章:物联网是什么
评论