基于LabVIEW的智能家居报警系统

2016-07-28 12:03:37来源: eefocus
    昨天晚上,帮师弟用LabVIEW做了一个智能家居报警系统的上位机软件,挺好玩的,虽然功能不多、结构也简单,但是,所用到的技术对于学习LabVIEW的人来说很重要。

    首先,贴出前面板的图片来。单片机向上位机发送的帧格式为:0x0A+3字节的温度数据+0x0B+4字节的烟雾浓度数据+0x0C+1字节的开关门信号(总共11个字节),发送的波特率为9600,发送周期为200ms。上位机采集软件每隔10ms(就是前面板上的队列循环周期)从串口缓存区里读取11个字节的数据,然后将其进行解析和显示。

图1 软件的前面板截图

然后,再把程序框图一一给大家亮出来。

 图2 串口配置和串口收/发的程序图

    如图2所示,VISA每隔10ms从串口缓存区读取11个字节的数据,然后将数据送入串口接收数据队列中。这里采用的是生产者-消费者模型的循环结构,读串口采用的是生产者循环结构,解析数据采用的是消费者循环结构。

图3 数据解析和数据显示部分的程序图

    如图3所示,消费者循环用于解析数据,根据0x0A、0x0B、0x0C三个属性字节分别对温度值、烟雾浓度值以及开关门信号进行解析和显示,波形显示采用的是波形图表,温度值可通过温度计显示,烟雾浓度可通过指针式仪表盘显示,显示效果直观、大方。

图4 声音报警部分的程序图

    如图4所示是声音报警部分的程序图,上半部分是温度报警程序,报警声音持续时间为2秒钟,报警声频率为3KHz;下半部分是烟雾浓度报警程序,报警声音持续时间为1秒钟,报警声频率为1KHz。由于声音报警持续的时间为1~2秒钟,如果将报警程序放在解析数据的那个大循环里,则会导致大循环的执行被延迟1~2秒钟,因此,必须将报警程序提出来单独写,从而使之变成了两个独立运行的线程。

    以上就是对本软件的介绍,本软件依然存在一些小BUG,比如说:有时候第一次启动这个软件后,串口读到的数据帧并不是0x0A+3字节的温度数据+0x0B+4字节的烟雾浓度数据+0x0C+1字节的开关门信号,通过探针我看到的是1字节的开关门信号+0x0A+3字节的温度数据+0x0B+4字节的烟雾浓度数据+0x0C,开关门信号跑到帧首去了,出现了断帧的现象。这个结果是由设置串口每次读取11个字节引起的,当串口缓存区里的字节数大于11时就会出现这种结局,因此,需要在开启软件之后对串口缓存区进行清除操作,并且要求读串口的速率大于单片机发送数据的速率。

关键字:LabVIEW  智能家居  报警系统

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/article_2016072816426.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabVIEW
智能家居
报警系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved