基于ARM的智能家居监控系统设计

时间:2022-03-17来源:佚名

1 引言

信息技术已在人们生活的各个方面得到广泛应用。人们对家庭居住环境的要求越来越高。智能家居应运而生,与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间;还由原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交互功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用提供节约方案。简言之,智能家居就是以住宅为平台,利用网络、通信及控制技术管理家中设备,来创造一个高效、舒适、安全、便利、环保的居住环境。

智能家居在我国起步较晚,目前家居网络的应用复杂而分散,没有统一的标准。大体而言可分为高层的信息娱乐网络和底层的数据采集与控制网络。在底层以微控制器为核心作为智能家居网络结点是目前家居网络的主要实现方式。本文正是基于这种方式用NXP公司的ARM7微控制器LPC2478实现了智能家居监控系统。系统可以采集多路模拟量和开关量经处理后可以为本地用户或通过CAN总线为远程用户如物业管理中心提供实时家居环境状态信息。一旦家居环境状态改变用户可迅速做出反应,以最大限度地减少安全事故的发生。

2系统方案

本系统主控采用ARM微控制器中的LPC2478,它有512K字节的程序存储空间,丰富的片上资源,片上具有LCD控制器和两个CAN接口,它非常适合低功耗、低成本的嵌入式设计。图1中有8个模拟量输入,由于在实际家居状态监控数据中模拟量较少,加之LPC2478片上有可复用8路10位模数转换器,所以本系统直接以其片上资源实现A/D功能。采所采集的模拟量经微控制器处理之后通过PA口输出到LCD显示模块(LCM1)进行本地显示,以及经 CAN1口输出到远程主机,同时也可以通过UART0以RS-232串行通信方式传送到本地PC机.开关量经过总线隔离驱动芯片(74HC245)输入到微控制器的P0~P2口。微控制器处理之后经P3口输出到8D锁存器74HC573中,然后经过驱动电路控制如照明、空调等仅需要开关的家用电器.开启用逻辑“1”表示,关闭用逻辑“0”表示,与此同时微控制器同样经CAN1口输出到远程主机,键盘电路用于设置系统的工作状态及对采集量进行本地显示。

3系统软硬件设计

下位机软件设计主要可分为数据采集模块、通信模块、键盘及LCD控制模块、开关量输出控制模块。限于篇幅只介绍数据采集模块的具体实现方式。ARM微控制器应用轮询方式进行模拟量和开关量的采集。通过设置定时器/计数器0中断,每次中断时间20毫秒,用于模拟量(AI)采样定时;定时器/计数器1中断,中断时间250毫秒,每次中断时扫描开关量输入(DI)状态.主程序开始时进行定时/计数器0,定时/计数器1,AD,DI等的初始化,初始化主要是设置定时器的中断方式(设置定时器0溢出中断,定时器1比较中断),外部中断INT0,INT1中断方式(INT0下降沿产生异步中断请求,INT1上升沿产生异步中断请求);AD,DI处于可以接收模拟量和开关量的状态,然后程序进入循环状态,等待上位机控制信息的到来,如果有控制信息到来便把相应的标志位置 1,主程序跳转到相应的服务程序产生相应操作。

l 定时器0中断服务程序

定时器0中断主要完成模拟量的数据采集与平均值计算,其程序流程图如图2所示,具体为:定时器0中断时间为20毫秒,用于AD采样计时;当AD采样次数满 15次后判断采样结束标志,如果采样结束则计算平均值然后在LCD上进行显示后,产生AD中断,最后中断返回。

l 定时器1中断服务程序

定时器1主要完成扫描开关量输入状态,其中断程序流程图如图3所示.具体为:中断时间为250毫秒,如果有开关量输入,则置开关量输入标志为1,然后中断返回。

图2定时/计数器0中断服务程序流程图

图3定时/计数器1中断服务程序流程图

上位机监控管理软件设计采用分层结构,三个功能模块从下至上依次分布在三层之中.由下向上三层依次为底层,通信层和图形用户界面层(GUI层),如图4所示:

图4 上位机软件层次结构

系统设计在底层之上加通信层,这样就可以完成本系统自定义的通信协议,由于系统要完成数据采集功能,这里的通信层也包括了数据处理模块,这样做可以简化一些设计,减小代码编写量.通信层之上是图形用户界面层(GUI层),这层的功能是把数据流从通信层中读出来,以图形方式向用户表示,这样在用户使用系统的时候就会感到自由清晰,很好地完成工作。

本系统主要应用的是串行通信协议,这个协议是定义在物理层之上的,其具体协议行为发生在底层,我们不必关心它,只需对它的设置参数进行相应的设置.另外,为完成系统的功能要求还须自定义一个数据帧或命令帧格式.所以这里通信层中的通信协议包括了两方面的内容:一个是串行端口参数设置,另一个就是自定义的数据帧或命令帧。

串行端口设置参数主要有以下几个:波特率、数据位、奇偶校验位、停止位以及编码方式.本系统中的波特率设置为19200 bit/s;数据位设置为8位;由于通信距离较近所以没有奇偶校验;停止位设为1位;编码方式采用ASCII码方式。这里的设置通过对Visual Basic 2005中SerialPort类中的公共属性BaudRate、DataBits、Parity、StopBits、Encoding的设置即可完成。

Visual Basic 2005 中的SerialPort类用于控制串行端口文件资源.它具有如下特性:提供同步 I/O 和事件驱动的 I/O,对管脚和中断状态的访问以及对串行驱动程序属性的访问。

4 结论

基于ARM核心的微控制器无论在运算速度还是系统实现成本上都优于传统的8位单片机。本文利用NXP公司ARM7微控制器LPC2478设计完成了家居网络的底层监控系统。本系统充分利用LPC2478的丰富片上资源,如LCD控制器、CAN总线接口,辅之简单的外围电路实现监控系统的硬件部分。整个监控电路板的实现成本及功耗体积相比8位单片机实现方案,大大缩小,很适合家居智能化的工程实施。另外本文还提出了PC机监控管理软件的通信层结构及实现细节,可以为家居智能化改造提供技术基础。

    相关阅读

    城市亮化工程如何设计才能具有层次感?

    城市亮化工程 的主要目地是为夜间带来一体化照明,考虑基础的视觉识别规定,自然环境照明的光层级与光线总数的多少相关,假如空间中的自然环境照明比工作照明低许多 ,在工作...
    2022-10-11
    城市亮化工程如何设计才能具有层次感?

    城市道路照明工程主要有哪些?

    在城市建设中,道路照明 是必不可少的基础设施,也是城市夜景的重要组成部分。在某种程度上,它还反映了城市的经济实力,社会进步和现代化的标志。它为夜间在城市中的车辆和行...
    2022-07-12
    城市道路照明工程主要有哪些?

    安全出口指示标志灯为什么是绿色而不是红色?

    对于安全出口指示标志灯相信大家都不陌生,我们在日常生活中在任何公众场所的紧急疏散的安全出口都可以看到这个安全出口指示标志灯,大家有没有想过安全出口的指示标志为什么...
    2022-05-21
    安全出口指示标志灯为什么是绿色而不是红色?

    路灯照明合理的布置方式

    路灯的布置方式主要有单侧布置、双侧交错布置、双侧对称布置、中心对称布置、横向悬索布置五种形式,随着城市道路的不断拓宽,平交路口转弯半径越来越大,根据《城市道路亮化...
    2022-07-15

    泛光照明工程是什么?应用范围有哪些?

    很多人提及 泛光照明工程 会有一些生疏,不理解泛光照明包含哪些,也不知道 泛光照明工程 跟普通照明工程有哪些不一样。 实际上泛光照明工程便是归属于城市景观照明工程或环境...
    2022-10-17
    泛光照明工程是什么?应用范围有哪些?

    消防应急灯的寿命有多长?一般可以使用多长时间?

    对于消防应急灯的使用寿命相信很多人都想了解这个问题,因为消防应急灯安装了就不需要时时刻刻盯着,这需要定时检查就可以了,但是很多人都不知道消防应急灯的寿命有多长,不...
    2022-05-21
    消防应急灯的寿命有多长?一般可以使用多长时间?

    快投派智能无线投屏器,让无线互联更加简单便捷

    没有WiFi的情况下可以进行无线投屏吗? 长期使用投屏功能的人,或多或少都知道自己的手机可以通过【无线投屏】【屏幕镜像】功能,直接连接到智能电视或无线投屏器,下意识地认...
    2022-05-11
    快投派智能无线投屏器,让无线互联更加简单便捷

    广场照明的设计技巧

    广场照明设计 主要包括休闲广场、集会活动广场、商业广场的照明设计。 1)休闲广场。主要是为人们提供休息、社交和举行小型文化娱乐活动的地方,由于人们活动方式不同,有些区...
    2022-07-15

    网站栏目