一种基于Linux的智能家居联网管理方案
引言
物联网指的是将各种信息传感设备,如射频识别装置、红外感应器、全球定位系统、激光扫描器等与互联网结合起来,组成一个巨大的网络。然后,将生活中的所有物品都纳入这个网络,方便识别和管理。通俗地说,互联网的终端是人,而“物联网”的终端是物品,每一件物品都有CPU、网络地址和传感器,物品与物品之间也可以传递信息、发送指令,其主要宗旨是让所有物品与网络连接在一起,系统可以自动的、实时的对物体进行监控、识别、定位、追踪并触发相应事件。
物联网的兴起,为智能家居提供了条件。如何通过简化物联网终端设备,最终开发出一套经济实用的支持多终端应用的智能家居物联网平台是非常有意义、有价值的工作。本系统基于Linux操作系统,开发了一套融合无线移动网络、射频识别装置的智能家居控制系统。此系统具有智能抄表、远程开启电器、射频识别远程遥控等功能。
1 系统概述
本系统采用S3C2440芯片作为主控制器,操作界面为4.3寸触摸显示屏。上电后,显示屏显示整个家居系统网络内各设备,每个设备分别对应一个图标,包括灯光控制、风扇、冰箱、电饭煲、燃气流量采集等。点击图标进入该设备相应的详细信息栏。进入灯光控制界面,可以方便地查看家中各房间亮灯情况,也可远程通过短信方式控制各房间的灯的亮灭;燃气使用情况可方便地发送至相关采集部门;坐在办公室,一条短信可以将电饭煲电源接通。家居中各设备与主控平台间选择了2.4 GHz的无线射频收发芯片nRF24L01,通过它可以实现各家居设备与主控平台间的无线通信。主控平台与外网的通信,采用的是德国西门子公司的 MC39i GSM/GPRS终端无线模块。燃气流量测量采用了美国矽翔微机电系统(上海)有限公司的MF4000系列气体流量计燃气流量计,智能家居控制系统结构框图如图1所示。
图1 智能家居控制系统结构框图
嵌入式ARM2440系统开发平台是整个智能家居系统的监控与管理中心,它主要集成了无线通信模块、射频识别模块、红外感应模块、触摸显示屏。该总控平台一方面可以通过无线模块接收到外部命令(例如:手机短信),并通过射频识别,控制对应的家居设备按指示工作,例如,打开电饭煲、空调或洗衣机。另一方面,各家居设备运行信息可以通过射频模块接收采集(例如采集燃气读数、水表读数、电表读数等),处理后,可以将数据发送到嵌入式ARM2440系统开发平台,该平台将数据分类处理后,可选择有用数据发送至对应公司服务器(例如燃气公司、供电局、水厂等),实现自动抄表。
智能家居控制系统的中的每一个家居设备,都需要分别安装一个射频识别模块,通过该模块可以与嵌入式ARM2440系统开发平台实现短距离无线通信。
2 射频识别模块
nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM频段的单片射频收发器件。该射频识别模块可以实现多机通信,多机通信采用频分多址的方法,只需要在接收端对不同的通道配置地址即可。发送端使用相应的地址作为本机地址。接收数据时通过读取STATUS中相关位即可得知接收的是哪个通道的数据。射频识别模块内包括:频率发生器、增强型 SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道的选择和协议可以通过对应的SPI接口进行设置。射频识别模块功耗低,当工作在发射模式下发射功率为-6 dBm时,电流消耗为9.0 mA;接收模式时为12.3 mA,掉电模式和待机模式下电流消耗更低。
nRF24L01在接收模式下可以接收6路不同通道的数据,nRF24L01在星形网络中的结构如图2所示。每一个数据通道使用不同的地址,但是共用相同的频道,也就是说6个不同的nRF24L01设置为发送模式后可以与同一个设置为接收模式的nRF24L01进行通信,而设置为接收模式的 nRF24L01可以对这6个发射端进行识别。同一时刻,所有的数据通道都被搜索,但只能接
图2 nRF24L01在星形网络中的结构
收一路数据通道的数据。nRF24L01在确认收到数据后记录地址,并以此地址为目标地址发送应答信号,在发送端数据通道0被用作接收应答信号,因此数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号。
3 气体流量的检测
气体流量测量采用的是MF4000系列气体流量计,MF4000系列质量流量计是美国矽翔微机电专为管径为3~8 mm的气体管路中的低速气流的流量计量而设计。卡口式设计为用户提供简便的安装,满足用户测量多气体管路的需求。塑料卡口可轻松的进行机械接口转换,应用于不同的低成本环境,内置安全插件可适用于更宽的应用,MF4000系列气体流量计技术参数如表1所列。
表1MF4000系
- REDIce-Linux--灵活的实时Linux内核(11-12)
- linux文件系统基础(02-09)
- Linux标准趋向统一(11-12)
- linux基础技术(02-09)
- LINUX的目录树(02-09)
- 在Windows下启动Linux(02-09)