采用Kinetis K10作为核心控制器,使用触摸屏实现显示和控制等人机交互功能,设计重点体现现代家居的安全监测和舒适度调节。软件方面成功移植了μc/OS操作系统,实现了防盗报警、消防报警、IC卡门禁、灯光调控、电动窗帘、温湿度检测和背景音乐控制等功能,实验室验证了系统的可行性和实用性。
科学技术不断的发展,人们生活水平得到很大提高,人们对物质生活要求舒适度日益增加,这样就使得人们对家居生活的要求也越来越向智能化、舒适化、安全化的方向发展。本文提出了一种基于μC/OS的智能家居系统的设计,重点体现安全监控和提高生活的舒适度与便捷度,尽可能为用户营造出一个安全舒适的生活环境。
1 设计方案
系统控制核心采用飞思卡尔kinetis K10芯片,控制系统选用μC/OS-Ⅲ操作系统[ 1 ]。主要功能:安全监测方面实现烟雾报警、IC卡门禁、红外报警、强行进入报警,舒适生活方面设计了自动窗帘、灯光调节、温湿度检测、音乐播放等功能,功能切换基本依靠触摸屏来控制。
1.1功能模块电路设计
1)灯光控制。通过继电器模块,实现5路灯光控制。图1中,当PTE4,PTE17管脚输入高电平时,对应的继电器会吸合,进而控制其连接的220V触点吸合,此时灯亮。反之,管脚输入低电平,继电器断开,触点断开,将灯断开。
2)背景音乐。电路中使用MP3解码模块,实现了背景音乐控制功能[ 2 ]。该模块需要+5V的直流电源,并接出一个耳机插孔,用来外接扬声器。将模块的“PLAY”“NEXT”“PREV”三个控制键与核心控制板的三个 I/O口相连,只要I/O口产生一个下降沿,就可以实现对应的控制。3)安全防范模块。安防是每个家庭系统中都必不可少的部分,在此部分设置了“强行进入报警”、“燃气泄露和烟雾报警”、“IC卡门禁”三个部分,下面详细介绍各部分实现的原理。a.IC卡门禁。通过IC卡的射频读写模块,进行IC卡识别,进而进行用户身份识别。将该模块与核心控制板相连接,与主机通信采用SPI通信模式。b.强行进入报警。强行进入警报用一个门磁开关来检测,为了使单片机检测到标准的高低电平,增加了一个上拉电阻。当门打开时,门磁开关闭合,此时控制器检测到低电平,并且触发警报。c.燃气泄露和烟雾报警电路。该电路选用烟雾传感器来采集现场空气参数数据[ 3 ]。当空气中的烟雾浓度超过设定值时,传感器的”DOUT”(对应PTB3)管脚会由原来的高电平变为低电平,根据这个原理,核心控制器检测到一个下降沿时,说明出现危险,会触发警报。4)自动窗帘。自动窗帘采用步进电机来实现,通过控制电机的正反转来控制窗帘的升降。使用4相5线步进电机,I/O口模拟输出脉冲通过ULN2003A放大后作为电机驱动[ 4 ]。由于K10芯片的I/O口输出功率不足以驱动步进电机,需要加驱动电路。使用ULN2003A搭建驱动电路。5)远程监控。该功能主要通过核心控制器与上位机的串口通信来实现。上位机通过点击不同的按钮,发送命令给核心控制器,控制器也可以发送命令到上位机。6)温湿度检测。温湿度检测体现在舒适度部分,这里使用SHT11温湿度传感器模块,来实现对环境温湿度的检测。
1.2软件设计
基于CodeWarrior10.2的开发平台,为了是软件更加安全简洁,设计中使用μC/OS嵌入式操作系统。将系统软件分为四层,第一层系统底层BSP模块和固件库模板,第二层μC/OS内核模块,第三层系统调用模块和文件系统模块、LCD控制模块,第四层为用户任务模块。使得软件的层次结构分明,提高了系统的稳定性,其次文件系统模块,系统调用模块,方便了用户任务的使用。设计中,在μC/OS-Ⅲ中创建了状态切换任务,音乐控制任务,窗帘控制任务,灯光控制任务,安防控制任务,视频监控任务,IC卡检测任务,LCD检测任务,上位机监视任务,WIFI监视任务等十个任务。系统按照时间分为在家模式,睡觉模式,早晨模式,离家模式四个模式,系统上电之后,默认是离家模式。当用户刷卡之后,IC卡检测模块发送一个在家模式信号,然后每个任务对象,接收在家模式信号后,执行对应的在家模式才有的功能。当点击触摸屏的时候,LCD监控任务会产生一条消息,通过消息总线,是对应的任务接收到对应的消息,进而执行相应的行为。因为消息都是通过总线发送的,所以,可以系统控制可以通过触摸屏、上位机和WIFI进行控制。
2 结论
采用kinetis K10作为核心控制芯片,并成功移植了μC/OS-Ⅲ实时操作系统,使用了IC卡等模块,实现用户身份识别,实时采集温湿度传感器、烟雾、窗门磁传感器状态,控制灯光、背景音乐和窗帘动作,控制程序设计参考人们的作息规律,更加贴近生活,并且设计了友好的人机交互界面,打造出一个安全、有序、高效的智能家居系统,实验室验证了该系统的可行性。
作者:刘晓羽 来源:科技风 2016年14期