基于Linux的智能家居管理方案

发布者:满足的36号最新更新时间:2014-10-21 来源: eefocus关键字:智能家居  Linux  S3C2440 手机看文章 扫描二维码
随时随地手机看文章
引言

  物联网指的是将各种信息传感设备,如射频识别装置、红外感应器、全球定位系统、激光扫描器等与互联网结合起来,组成一个巨大的网络。然后,将生活中的所有物品都纳入这个网络,方便识别和管理。通俗地说,互联网的终端是人,而“物联网”的终端是物品,每一件物品都有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所列。

表1 MF4000系列气体流量计技术参数


  智能家电控制芯片为传统的8051系列单片机,单片机与气体流程传感器通过RS232通信,整个通信过程单片机作为主机,传感器作为从机,它们采用点对点(或点对多点)主从式工控网络的半双工异步传输模式,主机和从机之间用轮询的方式来进行通信。只有主机才能启动通信,没有接到主机请求,从机不能主动发送信息。主机向从机发送任务报文,从机接收到主机的任务命令后返回响应报文并执行相应操作。除了发送响应报文外,从机只能处于接收状态。主机的每一次查询都是以一个报文(帧)的数据传送给从机。其通信流程如图3所示。[page]


图3 单片机与传感器/流量计的RS232串行通信流程

  对于RS232协议,用固定的字符0x9D标识一帧数据的开始。数据传输通信时,帧头(地址)的识别是非常关键和重要的。一般解决此问题的方法是:找到所要传输的数据中不可能出现的特征数据,再将此特征数据作为帧头发送。但是,这种通信方式中,一方面特征数据一般较难找到,大多数情况下都需要用数个特殊字符组成特征数据作为帧头;另一方面由于增加了较多的无用字符(相对于有用数据而言),从机不得不对特征数据进行解码,使得通信时间延长,造成该从机的时间浪费。本协议采用1位帧头(地址)标志位来解决帧头(地址)的识别问题。

  具体方法为:主机首先禁止奇偶校验,同时设置奇偶校验位为Mark标志(相当于设置帧头标志位DS为1),再向从机发送帧头(地址)。此时,正处于帧头(地址)监听状态的从机收到主机发来的帧头(地址)后,进入中断服务例程,读取主机发送的帧头(地址)是否正确,当确认正确后,从机进入数据接收状态并等待主机发送数据;否则,仍处于帧头(地址)监听状态并等待主机发送下一个帧头(地址)。主机接着禁止奇偶校验,同时设置奇偶校验位为Space标志(相当于设置帧头(地址)标志位DS为0),再发送数据,进入数据接收状态的从机将正常接收所有数据,然后向主机发送响应报文,最后释放总线并重新进入帧头(地址)监听状态。
  单片机通过串口与传感器通信,可以方便地采集到瞬时流量和累积流量,可记录自上电以来瞬时流量的最大值和最小值,具有超量程指示功能。

4 Linux移植及Qt应用程序开发

  本系统在TQ2440开发板上移植了Linux操作系统,并在此嵌入式操作系统平台上进行了简易家居智能控制平台的开发。Linux移植及Qt应用程序开发步骤如图4所示。

图4 Linux移植及Qt应用程序开发步骤

  首先是配置开发板所需要的环境软件。在开发板环境建立中,要注意的是对于没有串口的机器,一定要先安装USB转串口的驱动,而在安装时务必注意将电脑与板载串口的波特率设置为一致。这个没设置好,串口通信会有问题。除此之外,还需安装好串口调试工具及程序烧录下载工具。

  其次是搭建Linux交叉编译环境。一般的电脑上都是Windows操作系统,要开发Linux嵌入式操作系统,需要安装虚拟机(例如VMware等)、基于Linux内核的相关操作系统(例如Fedora)和交叉编译器。虚拟机是用来承载Linux操作系统在Windows机器上运行而设置的,就像虚拟光盘一样,是个虚拟的。交叉编译器,是用来编译和产生系统开发过程中各种镜像文件。

  接着进入移植过程。移植时一般顺序为:编译Uboot→编译内核→构建文件系统。

  最后是Qt应用程序开发。本系统是基于图形界面开发的。Qt程序开发需要先建立Qtopia开发平台,然后进入编译目录,执行编译脚本,无误退出后,再编译应用程序。编译应用程序时,只需进入每个程序目录,执行make命令。然后,将编译好的程序的可执行文件拷贝到文件系统的镜像目录中,最后将编译生成的.bin文件烧录到开发板中即可。

结语

  本文描述的是一种简易可行的智能家居联网方案,其具有成本低、易于实现、组网容易等优点,但对于更复杂的互动功能还存在一定的欠缺。但基于上述主控平台,只需要调整智能家居的内部局部通信网络就可以实现更加完善的智能家居功能。例如可以不修改主控电路,利用WiFi或ZigBee网络来重新组建家居设备网络。
关键字:智能家居  Linux  S3C2440 引用地址:基于Linux的智能家居管理方案

上一篇:嵌入式智能家居系统的设计与实现
下一篇:公话网智能家居系统设计方案

推荐阅读最新更新时间:2024-03-16 13:43

s3c2440裸机-电阻触摸屏编程(2.触摸屏TS控制器)
触摸屏接口模式 Normal Conversion Mode: 正常转换模式,一般情况下可以配置ADCCON和ADCDAT0来读取数据。 Separate X/Y position conversion Mode: x,y坐标分离转换格式,x坐标会写入ADCDAT0, y坐标会写入ADCDAT1,所以会产生2次中断开分开完成x,y的坐标转换。 Auto(Sequential) X/Y Position Conversion Mode 自动转换模式,当触摸屏按下后,会一次性对x,y方向的坐标进行转换,x坐标会写入ADCDAT0, x坐标会写入ADCDAT1。会产生一次中断进行x,y坐标的自动转换。 Waiting
[单片机]
<font color='red'>s3c2440</font>裸机-电阻触摸屏编程(2.触摸屏TS控制器)
Zigbee电动智能窗帘系统理想解决方案
随着社会经济结构、家庭人口结构以及信息技术的发展变化以及人类对家居环境的安全性、舒适性、效率性要求的提高,造成家居智能化的需求大大增加,同时越来越多的家庭要求智能家居产品不仅要满足一些基本的需求,更要求智能家居系统在功能扩展、外延甚至服务方面能够做到简单、方便、安全。 智能家居系统采用技术介绍 智能窗帘系统是智能家居系统的组成部分,所以其技术也与智能家居系统相同。虽然智能家居的概念很早就出现,市场需求也一直存在,但长期以来智能家居的发展由于受制于相关技术的突破,一直没有得到大规模的应用普及。目前市场存在的智能家居技术介绍如下: 1)有线方式这种方式所有的控制信号必须通过有线方式连接,控制器端的信号线更是多得吓人
[家用电子]
基于Linux的现场总线无线通信卡的实现
1.引言 使用无线连接设备的便利已经导致了在消费电子(商业)领域中无线技术被空前成功的应用。在此基础上基于无线技术的应用开始出现在各个领域。在工业或工厂底层环境中,使用无线技术的优势更是多方面的。 第一,在工业环境中往往需要大量的布线,采用无线技术不仅会使安装和维护的成本有效减少,而且会使设备的调整规划和重新配置更加的容易。 第二,无线技术的引入对于解决在有化学腐蚀、震动和移动部件等恶劣环境中对各种线缆的潜在损伤等问题显得更加有效。 第三,考虑到工厂设备中适应性和灵活性,固定系统可以通过无线技术和现有的移动子系统或移动机器人连接通信。 第四,对在工厂设备进行临时访问任务(如诊断或程序设计等)使用无线技术会更加简
[嵌入式]
基于S3C2440的WinCE Bootloader的分析与设计
Bootloader的开发是嵌入式系统开发必不可少的环节,一个好的Bootloader不仅可以给项目的后续开发工作带来很大便利,而且在项目开发结束后对用户使用产品也提供了很多方便。但是,由于嵌入式的硬件是无标准、非规范的,Bootloader的功能又是直接与微处理系统相关的,所以给开发人员的工作带来了许多不便。在实际的项目开发中,一般都需要对特定的硬件系统进行Bootloader的设计,可是从头开发一套系统的Bootloader是非常复杂并且耗时的,针对这一难点,微软公司推出的面向嵌入式应用领域的操作系统Windows CE体现了非常大的优势,Windows CE具有强大的操作系统功能、稳定可靠的性能、高度的模块化、可定制性、
[单片机]
基于<font color='red'>S3C2440</font>的WinCE Bootloader的分析与设计
S3C2440裸机------代码重定位
1.段的概念 我们的cpu可以直接把地址通过内存控制器发送到norflash,sram,sdram,但是我们的cpu不能直接到达nandflash,只能发送到nandflash控制器,我们的程序可以放到norflash以及sdram上面,它可以直接运行,但是nandflash的程序是不能直接运行的,但是我们仍然可以把程序放到nandflash上面,因为一上电2440内部的硬件会把nandflash的前4K代码复制到片内的SRAM,这个是由硬件做的,然后cpu从0地址开始运行,此时的0地址对应的是sram。那么如果我的程序超过4K怎么办,如果bin文件在nandflash上面超过4K,那么我们不能只复制前面4K代码,所以显然我们前面
[单片机]
<font color='red'>S3C2440</font>裸机------代码重定位
ARM Linux (S3C6410架构/2.6.35内核)的内存映射(三)
这里记录一下Linux内核做二级内存映射的过程,以中断向量表的映射过程为例。 在S3C6410架构下,Linux采用的是粗粒度小页内存管理方式,即内存段(section)的大小为1M,而页(page)的大小为4K。在第一级内存映射中,每一个PGD项覆盖1M的内存区域;如果有二级内存映射的话,每一个PTE项覆盖4K的内存区域。 下面我们来看一下二级内存映射表的设计。如果段的大小是1M而页的大小是4K的话,那么每一张二级映射表即页表中就需要有1M/4K=256个表项。而不论是PGD还是PTE,每一个表项的大小是4字节,即一个长整形数的大小。一张页表的大小为256*4=1024/1K字节,所以,页表的大小与页的大小并不能对并,一张4K大
[单片机]
构建智能家居应用场景,矽昌SF16A18无线路由芯片解决方案
继2018年底推出大陆首款无线路由芯片SF16A18后,矽昌通信今日在深圳举行的一场发布会上连续发布了包括智能音箱、智能家居网关、双频路由器、中继器、4G转WIFI等产品的解决方案,进一步丰富了无线路由的客户应用场景,为应用产品厂商尤其是智能家居产品生产商提供了便捷的方案支持。 “去年推出大陆首款的无线路由芯片后,我们得到了很多的业内关注,A18的独特优势 让各应用厂商更容易打造具有竞争力的解决方案 ,譬如在确保CPU等核心性能领先的前提下,我们首次将2.4GHz和5GHz双频段整合在同一颗芯片之中,实现了业内领先的高集成度。” 矽昌通信董事长、创始人李兴仁博士介绍说,“在我们新确立的做物联网时代基础设施提供商的大战略支撑下,
[物联网]
构建<font color='red'>智能家居</font>应用场景,矽昌SF16A18无线路由芯片解决方案
stm32上移植linux的实操案例经验分享
刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的任务——在stm32上移植linux! 瞬间我就懵了,没办法硬着头皮上吧,先搜集资料,我之前跑的是ok6410的板子上运行的linux,现在是在stm32上移植,以前stm32倒是玩过,研究生期间就捣鼓过它,但现在还没从抓烙铁的硬件当中缓过神来,就转到嵌入式软件的开发,更头疼的是stm32没有MMU!没有MMU!找了一下,好吧,有个uClinux! 于是开始学习各种相关的知识,了解到linux的启动一般是u-boot——》liunx内核——》根文件系统,那么首先要做个基于stm32的u-boot,先初始化时钟、外设、中断什么的,看了韦东山老师的视频感觉
[单片机]
stm32上移植<font color='red'>linux</font>的实操案例经验分享
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved