在现代社会信息化建设中,物体信息化扮演着 “催化剂” 和 “增倍器” 的重要角色。只有走集成整合信息技术以及信息数据之路,企业的信息化建设才能真正发挥作用,推动信息建设迈向新高度。现代物体信息化的蓬勃发展,直接催生了众多新生事物,物联网的出现更是让 IT 行业面临诸多挑战。
智能家居控制系统可以被定义为一个过程或者一个系统。它巧妙地运用先进的计算机技术、网络通讯技术、综合布线技术,将与家居生活相关的各种子系统有机结合在一起。通过统筹管理,智能家居控制系统让家居生活变得更加舒适、安全、高效。与普通家居相比,智能家居不仅具备传统的居住功能,能够提供舒适安全、高品位且宜人的家庭生活空间,还将原本被动静止的结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通。它优化了人们的生活方式,帮助人们合理安排时间,增强了家居生活的安全性,甚至能够为各种能源费用节约资金。
本文所设计的是基于嵌入式 Linux 的智能家居系统。该系统主要由 GSM 模块 SIM900A、DS18B20、QM - 2 气体传感器、DHT11 湿度传感器、光敏传感器、带的 LCD 模块等构成。系统在初始化并正常工作后,会定时采集传感器数据。若采集的数据出现异常,系统会对室内的相应设备进行控制,使其达到指定指标,并将所得数据选择性地通过 GSM 发送或者报警,以实现对室内设备的有效控制。用户也可以通过短信方式控制室内设备的运作。实物实验证明,本系统运行稳定,符合设计要求。
系统以 ARM 芯片 S3C2440 为控制中心,负责控制硬件和传输信息。硬件方面,包含了各式各样的传感器,如气体传感器、光照传感器、温度传感器、湿度传感器、防盗传感器等。系统内部各层次通信采用了多种通信方式,如 GPIO、A/D 采样、串口、Spi 等;外部通讯则通过 GSM 通信模块和以 ARM 为的 RJ45 网口通信实现。显示器是由 LCD 加上电阻屏组成的液晶显示器界面终端。
系统采用 Linux 操作系统作为任务控制系统。人机交互界面使用带有触摸屏的 LCD 液晶显示器,利用 ARM 内部自带的 LCD 驱动和电阻屏驱动硬件来控制采集数据。远程通信采用 SIM900A 模块,采用短信通信模式,能够将系统的参数和用户的任务以短信作为载体进行交流。声音模块采用了外置的芯片 UDA1341TS,具备双通道声音输入输出功能,与 ARM 通信采用 IIS 通信协议,具有快速抗干扰能力强的特点。传感器网络采用了多种传感器,针对不同的通讯方式,为每一个传感器都制作了对应的通信驱动。调节设备包括温度调节设备、干燥设备、增湿设备、光照调节设备、通风设备、加热设备等。
- 温度传感器与降温装置:此模块主要利用 DS18B20 来采集家庭各点的温度。降温装置用于调节空气温度,以达到控制室温的目的。装置使用延时,通过控制的信号使继电器得电后导通电阻丝。为防止陡然对电热丝加电和停电而缩短其寿命,还加上了电容保护。
- 气体传感器与空气流通装置:气体传感器用于采集室内气体是否为有害气体,若检测到有害气体,就会启动排风机进行换风。将模拟信号输出端送入到 ARM 自带的 AD 端口进行检测,当调整好全桥电阻的阻值后,器皿传感器的阻值改变会引起 OUT1 和 OUT2 的电势差改变,将此电势差输入 ARM 的 AD 模块进行采集和处理。若空气不符合标准,便可以通过排风扇进行空气更新处理。
- 光照传感器与室内亮度调节装置:光照传感器采用采集室内光照信息,并通过判断光照度来调节对应设备,从而达到调节室内亮度的目的。
- 湿度传感器与湿度控制调节装置:湿度传感器使用 DHT11 传感器来检测当前空气湿度,将采集的数据进行分析,若超过额定值,便进行干燥处理。DHT11 传感器采用单总线协议,一根总线只能挂载一个 DHT11 传感器,读取的是已经转换好的湿度值,使用一个 ARM 的引脚控制一个 DHT11 传感器。
- 人机交互界面:人机交互界面分为信息输入与输出两部分,输入设备为电阻触摸屏,输出设备为采用 VGA 驱动的 LCD 显示器。
- GSM 模块的通信与设计:GSM 模块采用 SIM900A 通信模块,并采用增强型 AT 指令。系统采用 GSM 模块作为与用户进行信息交换的途径,GSM 采用串口通信进行数据交换,其电源模块必须满足电流能够达到 2A 的直流电流能力,否则将会因电源功率不够而导致系统不稳定现象。
- 系统电源设计:由于系统对于电能有特殊要求,所以必须使用分离式电源单独为 GSM 模块供电。
软件设计采用嵌入式 Linux,它具有较强的网络数据处理能力。嵌入式 Linux 系统的构建包括驱动编程、内核裁剪、文件系统制作、应用软件制作等。
- 嵌入式系统 Linux 的移植与分析:首先要编写对应的驱动程序,驱动程序是内核中面向硬件层的程序,为上层软件提供抽象函数接口,通过这些接口可以间接控制硬件。在本系统中,需要编写 SPI、USART、单总线、LCD、电阻屏等驱动接口。接着进行内核裁剪,将编写好的底层驱动程序加入到内核程序中后,通过 make menueonfig 软件进行配置,将需要的驱动加入到内核配置单里,再通过 make zImage 制作出内核镜像。然后利用 busybox 工具制作文件系统。将做好的内核和文件系统依次烧写到 ARM 硬件的对应区域,开机成功启动后配置目标板的 FTP 协议。编写任务程序时,利用抽象的底层函数作为信息交换接口,使用 C 语言编写任务程序,将编好的程序利用 arm - linux - gcc 进行编译和连接,通过 FTP 到目标板进行调试。
- 系统与任务构架结构:系统硬件层的驱动编写到 Linux 驱动中进行相应硬件操作,定时执行。系统层和抽象层将底层的硬件抽象成为接口使用,上层的软件通过接口操作硬件执行任务。任务的优先级由右向左依次降低,顶层的任务是反馈调节任务,位于基本任务之上。系统任务按照优先级别排列为:①防盗监控②温度监控③湿度监控④气体监控⑤光照监控⑥排风扇加热⑦电灯喇叭⑧GSM 通讯⑨RJ45 通讯⑩LCD 人机交互界面。
- GSM 通讯协议:GSM 采用 SAM900A 通信模块,使用短信通信方式。手机收到短信后通知串口接收数据,得到的数据编码方式如下:在这些短信编码中,将所需要的内容截取下来,便可以识别。在控制家庭智能终端的过程中,所采取的指令方式也采用编码方式,其中短信部分编码定义如下:[优先级所代表的设备 0 - 10][监控 0/1][设定参数级别 0 - 5][是否定时开启若不定时为 0 否则为分钟单位的 1 - 255]。其中优先级所代表的设备就是任务优先级代码所代表的设备,控制开关将控制对应设备是否开启或者关闭,参数级别代表对应设备对应环境参数的控制区间,0 窄,5 宽,是否开启定时为设置开启时间,单位为分钟,若不定时则为 0。
- 系统安全策略:为避免他人恶意控制家具,系统中加入了对应的密码服务。系统会识别对应的手机号和密码,识别通过后才会执行对应的操作,否则将会记录恶意短信发送方的手机号码,以备调查之用。
- 传感器反馈控制的通用程序流程图:在本系统中,所使用的传感器检测与反馈调节方式是相同的。系统初始化后,进入重复由优先级从高到低检测传感器对应的数据,并将数据与对应的参数进行对比。若监测数据符合事先所设定的参数,那么继续测试下一个传感器;若监测数据不符合,那么将检测数据分析,检测是否超过危险临界值。若没有超过,就执行一般的对应处理反馈交互环境信息;若超过危险临界值,就发短信给用户并咨询是否报警等应急措施。
- 硬件控制分析:本系统可以使用 Linux 操作系统下的 SHELL 命令执行对应的命令来控制对应的硬件,以检测硬件的可行性。例如,输入 “openlight” 命令可以控制 led 的端口输出高电平驱动三极管,使 led 灯亮起;输入 “Lightoff” 命令可以控制 led 的端口输出低电平,使 led 熄灭。通过这种方式,可以检测到硬件控制达到了预期要求。
- 短信收发数据分析:对于 GSM 通讯协议的测试采取实际短信功能的测试。通过手机发送如下格式的数据:“13995991 -”(发送方的手机号码的前 8 位)“2”(选定控制对象为温度监控设备)“3”(控制对象的参数选择为适中)“200”(定时 200 分钟后执行)。测试结果表明,在 200 分钟后系统执行了对应的操作,原先被关闭的温度传感器设备被激活,能够在一定温度范围内反馈控制风扇吹风降温。