智能家居是通过综合采用先进的计算机、通信和控制技术(3C),建立一个由家庭安全防护系统、网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安全防护、便利的通讯网络以及舒适的居住环境的家庭住宅。智能家居是一个多功能的技术系统,它包括可视对讲、家庭内部的安全防范、家居综合布线系统、照明控制、家电控制、远程的视频监控、声音监听、家庭的影音系统等。随着技术发展和人们需求的增长家居智能化包含的内容会更多。
1 智能家居系统结构
目前完整的智能家居系统主要包括5个部分:主控模块、电器控制子系统、照明控制子系统、安全控制子系统和网络控制子系统。5个部分功能各司其职,逻辑上构成一个完整的控制实体。整个系统能为人们提供智能、舒适、安全的家庭环境,同时提供远程信息监控能力。智能家居系统组成如图1所示。主控模块负责子系统的信息集中、存储、分析和决策。嵌入式芯片的发展使主控模块越来越精巧,功能日益丰富。
智能家居是一个庞大的系统,主控系统是系统的控制中枢,家庭网络是系统的神经系统,传输系统信息流和控制流。家居中的设备众多,设备的接口各异,实现各种设备的智能控制面对巨大挑战。该设计采用分布式技术、总线技术和嵌入式技术构造了一个多功能、通信能力强的智能家居系统。
2 开发平台的选择与构建
2.1 智能家居系统硬件构成
主控平台:UP-SmarHome智能家居教学实验系统属于一种综合的教学实验系统,主处理器选用基于ARM核的Intel XScale架构的PXA270处理器,它集成了存储单元控制器、时钟和电源控制器、LCD控制器、AC97控制器等外围控制器,可以实现丰富的外围接口功能。其低电源运行模式以及动态电源管理技术可以有效降低电源的功耗。内置的LCD控制器和触摸屏控制器简化液晶显示的电路设计,此系统中采用16 b 8 寸640×480真彩LCD显示屏和触摸屏。PXA270处理器主频高达624 MHz,运算能力强,功耗低,可满足主控模块的运算要求,外围接口丰富,为主控模块的扩展提供良好的支持,用户可以自己设计接口进行其他模块的功能实现。[page]
2.2 嵌入式开发软件平台
嵌入式硬件资源日益丰富,成本也较低廉,资源的增强使软件有更多的资源可以利用。该设计中主控模块的硬件资源非常丰富,软件系统也很庞大,软件系统无法避免在访问资源时遇到冲突、数据同步、数据交换的问题,所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境,此系统采用在源代码开放、可移植性强的Linux操作系统上进行开发。
2.2.1 引导程序 引导加载程序Bootloader是嵌入式系统软件开发的第一个环节,是目标板系统加电后运行的第一段代码,通过初始化硬件设备,建立内存空间的映射表,为最终加载操作系统内核建立适当的系统软硬件环境。Bootloader是严格地依赖于硬件而实现的,通用的Bootloader几乎是不可能的。在此,由于U-boot是遵循GPL条款的开放源码项目,能支持尽可能多的嵌入式处理器和嵌入式操作系统。此系统在PXA270开发
板上成功移植了U-boot。
2.2.2 Linux内核移植和编译 所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其正确地运行起来。这个概念目前在嵌入式开发领域讲的比较多。其基本内容是:获取某一版本的Linux内核源码,根据具体目标平台对这个源码进行必要的改写,然后添加一些外设驱动,打造一款适合于目标平台的新操作系统,对该系统进行针对目标平台的交叉编译,生成一个内核映象文件,最后把该映象文件烧写(安装)到目标平台中。而通常对Linux源码的改写工作难度较大,这里采用的是目标平台提供商所给的文件。如果系统中有些硬件没有驱动起来,就需要自己开发驱动程序。
3 软件设计
3.1 主控模块软件设计 智能家居主控模块上硬件资源丰富,软件上有Linux操作系统的支持,各个子模块在主控模块的控制下协同工作。主控模块和子模块之间主要传输信息流和控制流。主控模块到子模块传输的主要是控制流,这些控制流完成子模块的配置或者命令子模块系统完成特定的任务。子模块到主机传输的主要是数据流,数据流主要包含子模块系统中各设备的运行状态或传感器数据等。
主控平台软件的主要功能是系统初始化,建立人机交互界面,实现与GSM通讯,与各监测、控制模块通讯。
在初次使用时,由用户设置手机号码,号码将保存在主控平台配置的FLASH中,主控平台等待用户命令,此命令可能来自GSM模块或当前主控人机界面,当用户通过短消息向系统发送控制消息时,GSM模块将接收的短消息通过串口发送给主控平台,由主控平台对短消息解析,并将消息组装成命令帧,通过RS 485总线发送给被控模块;如果命令来自当前主控平台,则主控平台直接解析命令,组装命令帧发送到对应控制模块。
3.2 子模块软件设计 子模块初始化后,定时查询RS 485总线接口,检测是否有命令帧,如果有就接收帧,取帧中的机器号和此模块的机器号比较是否相同,如果相同就解析此帧,执行相应的命令,否则继续检测总线接口。
4 结语 分析了家庭控制网络的结构,提出了一种基于PXA270处理器和Linux操作系统的智能家居控制系统,分析了系统软硬件平台设计。最后介绍了主控模块和子模块系统的软件设计及主控模块和其他功能子系统之间的RS 485总线通讯协议。该方案具有设计灵活,可裁剪性强,集成度高,易于升级等优点,后续工作应该是在此基础上进一步完善和改进,以提高效率和实用性。
关键字:PXA270 Linux 智能家居系统
引用地址:
基于PXA270-Linux的智能家居系统研究
推荐阅读最新更新时间:2024-03-16 13:07
基于Linux系统的触摸屏驱动方案
引言
触摸屏作为一种输入设备,具有坚固耐用、反应速度快、节省空间、易于交流等优点,提供简单、方便、自然的人机交互方式,目前被广泛应用于工业控制、电子查询、消费性电产品领域。
Linux作为是目前最流行的操作系统之一,在桌面系统、服务器领域有大量用户,具有源代码开放,支持的硬件丰富、高可移植等优点,在嵌入式领域也备受青睐。Linux根据不同设备,将驱动程序分为字符设备驱动、块设备驱动、网络设备驱动三种,Linux输入子系统u是对字符类型输入设备驱动实现方式的抽象,是对分散的、多种不同类别的输入设备进行统一处理的内核驱动模型。输入子系统具高效、无Bug和可重用等优点。本文对基于Linux输入子系统的触摸屏驱动进行深
[电源管理]
arm linux 从入口到start_kernel 代码分析 - 6
5. 开启mmu 开启mmu是又函数 __enable_mmu 实现的. 在进入 __enable_mmu 的时候, r0中已经存放了控制寄存器c1的一些配置(在上一步中进行的设置), 但是并没有真正的打开mmu, 在 __enable_mmu 中,我们将打开mmu. 此时,一些特定寄存器的值如下所示: r0 = c1 parameters (用来配置控制寄存器的参数) r4 = pgtbl (page table 的物理基地址) r8 = machine info (stru
[单片机]
JFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)
1. JFFS2文件系统配置 a) 内核配置 # make menuconfig //默认的MINI2440配置已经打开了JFFS2的支持 File systems --- Miscellaneous filesystems --- * Journalling Flash File System v2 (JFFS2) support (0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy) JFFS2 write-buffering su
[单片机]
05-S3C2440学习之内核(移植)linux3.4.2移植(1)之简单移植+修改MTD分区+制作jffs2文件系统
一、框架介绍及简单修改 1.1 Bootloader如何引导内核 Bootloader的工作: (1)讲内核读入内存中 (2)存一些内核启动参数到指定位置,内核启动时去解析 (3)启动内核,传入机器ID 1.2、内核的启动流程: 首先 内核的最终目的是挂接根文件系统,并启动应用程序。 想启动应用程序—需要挂接根文件系统—装载驱动程序(flash、网卡)--要解析参数(文件系统在哪)--根据R1判断内核是否支持该ID—支持调用初始化相关函数 每个开发板都有不同的硬件参数 内核移植过程中要决定我这个内核支持哪些硬件开发板 我在内核里针对这个开发板给他一个ID。Uboot启动的时候传入和内核中设置好的匹配
[单片机]
远程监视、控制系统应用嵌入式Linux
工业嵌入式系统(INES:Industrial Embedded Systems)是由欧盟(EU:European Union)设立的用来促进使用开放源码软件的项目。INES自建立以来,已经有大量使用嵌入式Linux的应用和报告出现在实际应用中。这些应用和报告使我们看到了使用嵌入式Linux实现工业项目的希望。同时,也使我们看到了嵌入式Linux在一些意想不到地方的使用。
下面是三个具体的应用实例。
智能化的监视和控制远程点—BIRD2
网络通信功能已经成为嵌入式设备的发展必然。由于因特网的普及和飞速发展,使用基于TCP/IP的通信机制显得更具实用性。
BIRD2用户试验的目标是:使用基于
[嵌入式]
linux中触摸屏驱动的实现(2)——基于s3c6410处理器
上一篇主要讲述了linux中触摸屏设备作为平台设备存在的模块加载和卸载函数,还有就是对应的probe函数和remove函数,这一篇说下在probe函数中注册的两个中断处理函数。 1、先来说第一个中断处理函数——触摸屏中断,对应的中断处理函数是stylus_updown,当触摸屏被按下时,会产生中断信号IRQ_PENDUP。函数源码如下: static irqreturn_t stylus_updown(int irqno, void *param) { unsigned long data0; unsigned long data1; int updown;定义一个整型变量,用来表示触摸屏是否被按下,如果按下,这个值是1;
[单片机]
ARM Linux 中断分析
简介: linux在初始化的时候已经把每个中断向量的地址准备好了!就是说添加中断服务程序的框架已经给出,当某个中断发生时,将会到确定的地址处去找指令,所以我们做驱动程序时,只需要经过request_irq()来挂接自己编写的中断服务程序即可。 ARM体系结构中,把复位、中断、快速中断等都看作‘异常’,当这些‘异常’发生时,CPU会到固定地址处去找指令,他们对应的地址如下: 首先要明确的一点就是,无论内存地址空间是如何映射的,以上这些地址都不会变,比如当有快速中断发生时,ARM将铁定到0X0000001C这个地址处取指令。这也是BOOTLOADER把操作系统引导以后,内存必须重映射的原因!否则操作系统不能真正接管
[单片机]
基于Linux的RFID安检系统的设计
RFID(射频识别)是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无需人工干预,可工作于各种恶劣环境下。RFID技术可识别高速运动物体并可同时识别多个标签, 操作快捷方便。非接触IC卡是目前RFID系统中最常用的一种电子标签,它诞生于20世纪90年代初,是世界上最近几年发展起来的一项新技术,它成功地将射频识技术和IC卡技术结合起来,解决了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。由于存在着磁卡和接触式IC卡不可比拟的优点,使之一经问世,便立即引起广泛的关注,并以惊人的速度得到推广应用,如我国的第二代公民身份证、公交卡、ETC免停车付费卡等。可以说RFID技术越来越多地
[网络通信]