基于STC单片机与LabVIEW的教室智能无线安防报警系统
2021-01-04钟志贤包爱民
钟志贤,刘 珺,包爱民,姜 维,缪 蕊
(昆明冶金高等专科学校网络管理与信息化部,云南 昆明 650033)
0 引 言
随着智慧校园的建设及教室智能化改造的发展,教室里的教学用电设备种类越来越多。教室教学设备被盗及电气火灾时有发生,而目前教室的管理普遍还是人工粗放式管理,尤其是夜间教室无人的情况下,教室信息得不到及时反馈,安全管理存在隐患,故对教室环境信息、用电设备等进行实时监控显得极为重要。本文结合嵌入式、物联网及虚拟仪器等技术设计了一个简单的教室智能无线安防报警系统,方便楼宇值班员对教室安防状态进行监控。
1 系统结构设计
无线传感器网络具有灵活可变、动态节能等特性,在环境监测及工业控制方面都得到了广泛应用。并且无线传感器网络与有线传感网络相比,具有安装维护方便、成本低等优势[1]。通过在教学楼教室部署大量的无线传感端节点(终端机),以无线传输的方式构建教室智能无线安防报警系统,是解决上述问题的较优方案。CC1101是低成本的 1 GHz 以下的极低功耗无线收发器,普遍运用于家庭、楼宇自动化、工业监视和控制、无线报警、安全系统等方面。CC1101模块通过编程可在300~348 MHz、387~464 MHz、779~928 MHz 频段工作,传输速率可在 1.2~500 k 之间,能很好地满足系统的功能需求。CC1101是本身不带MCU的纯无线收发模块,需要配合MCU使用,通过SPI接口进行控制。本文设计的主机、终端机MCU采用STC系列的单片机,通过SPI串行接口控制无线收发模块CC1101进行无线通信。要实现对教室的统一监控,还需要一个管理平台对各教室终端机发来的信息进行集中分析处理和显示,而LabVIEW是一种图形化编程语言的开发环境。利用LabVIEW可以充分发挥计算机的功能,快速开发虚拟仪器。因此教室智能无线安防报警系统上位机程序利用LabVIEW开发是很好的选择。
图1 系统结构示意图
教室智能无线安防报警系统的结构如图1所示。上位机为运行LabVIEW程序的PC机,主机负责与各教室终端机进行无线通信,网络结构为“一主多从”式的星型结构,终端机负责采集教室环境信息,并具备声光报警功能。主机将采集到的各教室状态信息通过RS232串行总线发送到上位机,上位机LabVIEW实现监控显示界面及相关报警信息的记录。
2 硬件系统设计
2.1 主机硬件系统
主机硬件系统主要原理如图2所示。系统主机MCU采用型号为STC12LE5A16S2的单片机(图2,U6),为增强型8051 CPU,1 T,指令代码完全兼容传统8051,但速度快8~12倍。工作电压为2.2~3.6 V,Flash程序存储器字节 16 k,1 280 字节片内SRAM,44个通用I/O口,可设置成4种模式、共4个16位定时计数器,双串口,8路10位精度ADC,2路PWM,外部中断I/O口7路,能很好满足系统需求[2]。
为方便报警信息的显示及程序调试,主机设计了12232液晶接口(图2,J2)。为节约成本,无线收发模块采用以CC1101为核心本身不带MCU的纯粹的无线收发模块,在 433 M 频率下工作,与主机MCU通过SPI接口进行通信。CC1101功率可达 12 DBM,不需要PA也能传输约200~300 m,适合较远距离的低速传输,若是靠得太近会因输入饱和而收不到数据。单片机与CC1101无线收发模块的接口电路如图2,J3所示。电平转换芯片采用MAX232ESE(图2,U4),是将单片机串口输出的TTL电平转换成PC机串口能接收的232电平。图2,J9为主机与PC机串口连接的接口。
图2 主机部分电路原理
2.2 终端机硬件系统
终端机硬件系统主要原理如图3所示。系统终端机MCU采用成本较低的STC89C52RC单片机(图3 ,IC1),为增强型8051,指令代码与传统8051完全兼容,工作电压为3.3~5.0 V,Flash程序存储器字节 8 k, 512字节片内SRAM,3个定时计数器,1个串口, 8个中断源[2]。P0口为开漏输出,作I/O口使用时需要加上拉电阻(图3,R2)。
图3 终端机部分电路原理
入侵信号开关采集电路如图3,J5所示。J5为热释电红外传感器,工作电压为 9 V,当有入侵时会输出一个低电平,通过Data网络标号与终端机单片机的 P 2.3 管脚相连。Bell为蜂鸣器,当报警发生时,通过终端机单片机P41管脚驱动发出报警声音,同时报警状态指示灯D1闪烁。教室温度采集使用常用的数字温度传感器DS18B20,电路如图3,J2所示,其输出的为数字信号,具有体积小、抗干扰强、精度高等特点,工作电压为3.0~5.5 V(可数据线寄生电源供电),测温范围-55~125 ℃,精度可达±0.5 ℃,适用于各种温度测量系统[3]。图3,J3为终端机单片机与CC1101无线收发模块的接口电路,通过SPI进行控制。
3 软件系统
软件系统采用模块化设计方法,主要包括终端机程序设计、主机程序设计、上位机LabVIEW程序设计。
3.1 程序流程设计
系统采用星型无线组网结构,主机通过轮询的方式向各教室终端机采集报警信息。各教室终端机单独工作,互不影响。每个终端机均设置唯一标识地址码,终端机通过自定义的通信协议接收主机下发的命令帧,若命令和自己的地址匹配则进行解析并执行,完成与主机的数据交换任务。主机在轮询完所有教室终端机报警信息后,通过串口向上位机LabVIEW发送数据。系统部分程序流程如图4所示。
图4 程序流程
3.2 通信协议设计
由于设备数量较多,控制系统使用了上位机PC及不同系列的单片机处理器,且CC1101无线收发模块不支持Zigbee协议栈,相对复杂;为更好地保证系统的扩展性,设备之间的通信协议需要进行设计,确保整个控制系统无差错顺畅运行。
协议设置固定帧头2个字节、数据长度控制及校验字段各1个字节,以确保数据完整准确地得到交换。协议帧使用0x55、0xaa作为字头,目的是在进行和校验时方便计算,同时也能更好和更有效地对数据进行区分。上位机、主机与终端机通信协议,接收和发送帧格式如表1所示[4]。
表1 接收和发送的帧格式
3.3 上位机LabVIEW程序设计
上位机监控界面是在Windows系统下,使用基于图形化编程语言的LabVIEW进行开发的,具有丰富的函数库、编程快捷方便、人机界面良好、扩展维护方便、适用于各种控制领域等优点[5]。软件采用模块化设计方法,主要包括:系统配置模块、数据采集模块、数据处理模块、数据显示模块、数据存储模块等。系统配置模块主要为串口参数及开关配置、报警房间数量、房号文件配置、文件存储位置配置等。
上位机软件的主要功能是从串口读取主机发来的监控数据,对数据进行解析处理后显示报警信息;若有报警信息将出现相应界面声光报警,同时自动生成.txt文本,保存在软件安装默认路径下。管理人员可以通过监控界面快速定位出现警情的教室,也可以手动撤防报警房间。软件总体结构及VI层次结构框如图5所示。
图5 软件总体结构及VI层次结构框
第1号房间报警子VI的前面板及程序框图如图6所示。程序通过接收主机发来的字符串信息,分析处理后提取火灾或者入侵的时间,显示到相应的文本框中。
图6 房间报警子VI前面板及程序框
上位机LabVIEW前面板系统配置监控界面设计如图7所示。系统设计了18个房间的监控显示界面,若对应教室出现警情,相应房间监控界面会出现报警指示信息,文本显示框会显示具体的房间号、具体的报警时间,报警界面的指示灯会闪烁,撤防按钮变为红色,同时上位机PC发出报警声音。若需要手动取消报警只需单击撤防按钮即可。
图7 LabVIEW前面板界面设计
4 结 语
合理选用STC系列单片机、CC1101无线收发模块和LabVIEW作为开发平台进行教室智能无线安防报警系统的开发,能有效节约时间,节约成本。通过试验测试,本教室智能无线安防报警系统性能稳定,主机能快速完成一次轮询测量,无线传输效率能完全满足监控需要,能及时向楼宇值班员提供监控报警服务。目前系统只能实现对教室火警和有无人员入侵进行监控报警,后续可在此系统的基础上增加终端机其他传感器,采集更多教室环境信息,进一步提升对教室的智能监控管理。本系统的使用能有效减少教室管理人工巡查的时间成本,同时对智慧教室的建设起到积极作用,也能为类似系统的设计提供参考。