厨房环境监测和控制系统的设计
2020-10-27谭琼花王鸿儒
谭琼花,阚 聪,王鸿儒
(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)
厨房作为家居的一个必要的组成部分,其环境复杂多样,安全事故时有发生,其中火灾事故与煤气泄漏事故占得比例较大,严重影响每个家庭的安全,采用厨房环境的监测和实时控制可以降低这种风险。
树莓派是一个很好的开发智能设备的基础板,它价格便宜,价格只有低端计算机的十分之一,且不会破坏设备本身;它是一个裸设备,可以自己决定将其做成一个什么系统;树莓派使用Liunx系统,它提供了视窗系统和一个用来操作树莓派的基于文本的命令行接口,且Liunx系统比其他系统更灵活,操作起来也更容易。本次设计采用树莓派和ZigBee无线通信的信息采集系统,同时树莓派作为智能网关对数据进行处理和存储,以实现对厨房环境的监测与控制。
1 关键概念与理论基础
1.1 系统总体框图
厨房环境监控和控制系统包括厨房环境采集模块、控制终端、服务器、树莓派和ZigBee协调器。系统总体框图如图1所示。
图1 系统总体框图
1.2 各模块结构和功能人脸识别技术
CC2530芯片上搭载各种不同的传感器就是ZigBee终端节点。各个节点安置在厨房中的固定点,节点上的传感器会自发检测数据,这些ZigBee节点是系统采集模块的基本单位。
ZigBee协调器接收节点上的厨房环境数据,之后如数传送给树莓派,由树莓派来做相应的处理,若某一特定数据高于设定阈值时,由树莓派对控制模块下达指令,控制模块会进行相应的动作。系统中的云端也会接收到厨房的数据。
2 系统硬件设计
2.1 传感器
为了全面地了解厨房复杂多变的环境,各种危险因素的收集要采用不同的传感器,安排了 DHTII温湿度、MQ-2 气体和火焰传感器,分别用于厨房环境中的温湿度,煤气浓度以及火焰的检测和数据采集工作。CC2530芯片性价比高,持续工作时间长,当作为终端信息采集节点时,CC2530 芯片能够控制节点在无需工作的时候进入休眠状态,可以进一步减少功耗,延长工作时间。
2.2 ZigBee协调器
要完成环境信息有序即时的送往协调器,就要在终端节点设置专用的网络,这就解决了数据传输距离的限制,树莓派不包含有驱动ZigBee协调器的部分,需要另外补充这个硬件,而FT232 USB转串口芯片恰好能够解决这个问题,它可以满足树莓派和ZigBee协调器之间的信息交往。
2.3 网关
网关是各个不同等级的网络能够完成相连的重要器件,它的品性和工作质量在很大程度上决定了数据存储和分析的效率。树莓派是目前市场上使用起来相当便捷的微型计算机,包括基于 ARM 的微处理器,插入SD卡充当内存硬盘,低功耗 24 h工作,本次系统用树莓派作为网关,它作为整个系统的重要部分,既能接收和处理来自协调器的厨房环境信息数据,还可以实现上传数据至云端以及用户终端的数据访问。
2.4 控制模块
本次系统主要是对厨房中的温湿度、天然气和火焰进行监测和控制,所以控制模块包括继电器,排风扇以及小型洒水设备,控制模块直接由树莓派控制。
3 软件设计
3.1 系统软件总体流程图
系统上电后,ZigBee节点各自开始软硬件初始化,随后进入到Zstack 的操作系统之中,对周边节点进行探测后进行自组网,组成采集网络。传感器同时准备数据采集,将环境信息发给协调器。系统中的网关立刻运行 python 脚本,串口进入被监测的状态,只要环境信息被传递到串口,就会立刻被脚本抓取且存储到数据库中,用户想要了解厨房状况可以通过服务器查看数据。软件流程如图2所示。
3.2 ZigBee节点软件设计
数据的收发通过ZigBee节点完成,上电初始化后,节点申请并允许加入网络后,节点上的传感器立即进行工作,收到的信息经过无线射频模块传递给协调器,信息接着被协调器使用串口送到树莓派完成处理和上传,节点为周期性工作,需要的任务完毕后,会自动进行休息模式。节点流程如图3所示。
3.3 服务器软件设计
WEB服务器支持创建多个彼此独立的网站,通过每个网站独有的浏览地址来进行网站访问,利用树莓派组建一个轻量级WEB服务器,框架为Linux+nginx+sqlite+PHP/python类型,操作系统采用开源的 Raspbian,代理服务器和数据库分别采用轻量级的 nginx 和 sqlite,网页代码开发采用 PHP 和 python脚本语言。系统中的有用数据储存及放到网页上,是创建服务器的根本原因,以便用户可以随时查看,及时了解家中厨房的具体情况。
图2 软件流程图
图3 节点流程图
4 结 语
本文设计的厨房环境监测控制系统由树莓派和ZigBee技术共同组建,改变了传统的有线数据的传输。系统由于采用功能强大、性能稳定、容易携带的树莓派作为网关,树莓派自身又可以搭建服务器,更进一步增强了其实用性。