基于BOA和nRF24L01的智能家居系统

发布者:SereneSerenity最新更新时间:2023-02-01 来源: elecfans关键字:BOA  nRF24L01  智能家居系统 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  人们生活水平的提高以及科技的进步,特别是计算机技术、网络技术和通信技术的发展,智能家居将慢慢成为未来家居生活的发展方向。1984年在美国诞生了世界上第一座智能家居建筑,从此以后,世界上的各大公司和科研单位不断加速在智能家居方面的研究,他们分别提出了自己的智能家居解决方案,其中以新加坡提出的技术方案最具代表性,他的智能家居系统包括三表抄送、安防报警、家电控制、家庭智能控制面板、监控中心等功能,目标在于将家庭中与信息相关的通信设备、家用电器和家庭安防装置通过总线技术连接到家庭智能化系统上,从而进行集中或远程控制和管理。在未来,智能家居不仅要为用户提供健康、舒适安全和安全的生活环境,而且用户还能够远程控制家庭电器设备和监控自己的家居状态。因此,本系统家从远程要满足这样的需求,一方面需要把家庭无线网络接入互联网,因为互联网已经渗透到我们生活的各个角落,通过互联网可以随时随地的远程控制家庭电器设备和监控自己的家居状态;另一方面在家庭内部采用无线网络技术,这样可以提供更大的灵活性、流动性,更符合家庭网络简洁性、灵活性、模块化、扩展性及独立性的通信特点。因此本系统将从网络化和无线化两方面着手来构建智能家居系统。


  2 系统的总体设计

  为了让智能家居控制系统之间实现无线通信,以及为了方便以后扩展外围模块去实现更多的功能,本设计基于嵌入式智能家居监测控制系统在拟采用模块化设计,拟由4个子系统组成:ARM控制中心、协调器、节点1、节点2,其系统总体如图1所示。

基于BOA和nRF24L01的智能家居系统

  ARM控制中心主要完成的工作有:处理协调器发过来的信息,并且将相关的控制信息发送给协调器;其内部安装嵌入式 WEB服务器,主人可以通过网页获取各个节点的工作状态和控制各个节点的工作。此外,它还要处理火灾,盗贼闯入灯异常信息,然后通过GPRS模块用短信把相应的报警信息发送给主人。


  协调器主要负 责ARM控制中心和各个节点之间的无线通信。一方面接收节点1和节点2的数据,然后通过串口送入到ARM控制中心进行处理;另一方面可以把前端的控制指令转发给相应的节点。


  节点1的功能:把传感器采集到的温度数据实时的通过无线传输给协调器;当有火情和盗贼闯入的时候,蜂鸣器立即报警并把相应的信息通过无线发送给协调器;实现对点灯的控制。


  节点2完成 “电器”的定时控制功能。定时器的定时时间可以通过客户机来设定,并且可以通过网络查询定时器的剩余时间;在此,实现湿度的监测。

  3 系统的硬件设计

  3.1 控制中心的设计

  本设计中采用的ARM芯片为 S3C2440,S3C2440是由三星公司生产的一种性价比很高的CPU芯片,由于该芯片价格低、功耗低和体积小等显著的特点,主要用于手持设备和一般类型应用的设备。


  控制中心硬件电路主要有主控模块(S3C2440)、存储单元(64M SDRAN 和64M Nand Flash)、以太网接口、串行通信接口等,其硬件结构如图2所示。

基于BOA和nRF24L01的智能家居系统

  3.2 手机短消息模块

  系统采用的是SIM300模块,该模块是SICOM公司研制和生产的 GSM/GPRS无线通信模块,其可以实现的功能有 GPRS网络数据收发、语音通话、短信收发、彩信收发等[5]。本系统主要用到的功能是短信的发送,当有火灾或者盗贼 闯 入 的 时 候,系统会议短信的方式告诉主人。


  SIM300和S3C2440之间是通过串口通信的。其短信数据传输硬件组成如图3所示。

基于BOA和nRF24L01的智能家居系统
nRF24L01无线模块#e#

  3.3 nRF24L01无线模块

  目前比较流行的无线通信技术有 Z-Wave和 Zigbee技术。Z-Wave是一种高可靠性、低 成 本、低 功的短距离无线传输技术,其信号室内传输距离为30m,室外可达100m,数据传输速率可达906k/s;单 一 家 庭 网 络 可达 到232个节点,可满足一般家庭的需要。目前市场上已经出现了关于Z-Wave的智能家居产品,但是Z-Wave联盟没有开放它的相关标准,阻碍了关于产品的开发和扩展。


  ZigBee技术是一种基于IEEE802.15.4协议的短距离通信标准。一 个ZigBee网络可以包 含65536个 节点,并且各个节点间的通信非常可靠,除此外,ZigBee标准是一个开放的标准。但是ZigBee器件的成本是相当的昂贵。为了克服上面的问 题,本系统现选择了nRF24L01无线通信模块,该块工作在2.4g频段,价格低廉,配合 ATmea16单 片 机使用不经可以节省成本,而且可以减低开发难度。nRF24L01模 块的系统原理如图4所示。

基于BOA和nRF24L01的智能家居系统

  4 系统的软件设计

  系统的软件设计主要包括6部分,分别为远程控制WEB前端设计 、手机短消息模块 、控制中心程序的设 计 、协调器的程序设计 、节 点1和节点2的程序设 计 。


  4.1 远程控制WEB前端的程序设计

  系统页面主要由htm语言、javascript脚本语言设计而成,完成的主要功能有显示家电的状态,显示室内环境的参数如:温湿度,控制家电等。系统的控制页面如图5所示。

基于BOA和nRF24L01的智能家居系统

  4.2 控制中心程序的设计

  本系统上面用到的操作系统是linux,其上面移植有BOA服务器 ,BOA服务器非常适合单任务的HTTP服务,并且其支持CGI接口 。CGI程 序 可 以 采用she脚本语言、pre、php、c语言等语言来实现 ,但是由于c语言的兼用性表较好 ,以及用C语 言编写的CGI程序可以直接在boa服务器面执行且比较小,因此 ,本系统用c语言作为CGI程序的开发语言。用C语言编写CGI程序设计到字符串的处理 ,因此是一个非常复杂且容易出错的过程 ,但幸运的是可以借助第三方库CGI来 编 写CGI程 序。 如图6所示控制中心程序的流程。系统采用的是双线程并行执行的 ,一条进程用来读取串口发送过来的信息并重定向显示到网页上 ,另一条进程用来解析网页中的控制信息,并将相关信息发送出去 。线程1和线程2的流程如图6a和b所示 。

基于BOA和nRF24L01的智能家居系统

  4.3 手机短消息模块程序设计

  SIM300和S3C2440之间是通过串口通信的。中 文短信的发送要进过如下步骤:1)变换号码;2)短信内容编码;3)PDU格式编码;4)短信的发送。根据这4部分 在Linux环境下编写了如下短信发送程序。

基于BOA和nRF24L01的智能家居系统
基于BOA和nRF24L01的智能家居系统


  4.4 协调器的程序设计

  协调器主要完成的功能有,将nRF24L01接受到的数据通过串口发送给ARM;将串口接受到的数据通过nRF24L01发送出去。协调器的主函数程序流程如图7所示。


  在此函数中中断有2个,1个是串口接受中断 ,1个是INT2中断 。串口接受中断函数的主要功能是将串口接受到的控制信息发送给相应的目标板 ;INT2中断函数的功能是将无线模块接受到的信息通过串口 传给ARM。

基于BOA和nRF24L01的智能家居系统

  4.5 节点1的程序流程

  发送机1的功能:完成与协调器之间无线通信;定时采集温度信息;当有火情出现时,蜂鸣器立即报警,并立即向接收机0发送无线数据;当有盗贼闯入的时候,蜂鸣器报警,并立即接收 机0发 送 无 线 数 据;同时接收接收机0发送过来的无线数据,通过解码后去控制LED灯的亮灭。节点1的函数流程图如图8所示。

基于BOA和nRF24L01的智能家居系统

  4.6 节点2的程序设计

  节点2主要完成的功能是完成同协调器的无线通信通过按键来定时;通过WEB前端来定时,显定时器的剩余信息。节点2的程序设计流程如图9所示

基于BOA和nRF24L01的智能家居系统

  5 系统测试

  要对系统的性能和功能有个全面的了解,看起是否满足现实什么的需要,就必须对系统进行。整个系统的测试采用分模块的测试办法进行。


  5.1 射频发射模块的测试

  对该模块的测试,首先需要个节点部分的nRF24L01工作在发射状态 ,连续不断的发射数据,然后验证协调器部分的nRF24L01射频模块能否接收到正确的数据 。协调器通过串口与上位机相 连 接 ,通 过 查 看securecrt的 打印信息来验证接收到的数据。经过以上测试可以验证智能家居 的无线部分是否正常工作 。


  理论上nRF24L01无线模块的传输距离是100m。经测量nRF24L01在无障碍的情况下的传输距离是45m;如果中间有一个障碍物的话,实际的传输距离迅速递减到15m。表1是传输50个字节的数据。

基于BOA和nRF24L01的智能家居系统


       节点2主要完成的功能是完成同协调器的无线通信通过按键来定时;通过WEB前端来定时定时器的剩余信息。节点2的程序设计流 程如图9所 示

  以100m2的住宅为例,两点之间最远的地方为14m,因此nrf24l01无线射频模块可以满足智能家居各个节点之间的无线传输需求。

  5.2 温度检测模块的测试

  将节点1和市面上常用的温度计放在装有空调的房间中进行测试,通过调节空调的温度来控制室内的温度,然后将检测的温度同温度计上面显示的温度进行比较。通过6次实验,得到6组不同的实验。实验数据表2所示。


  通过上面数据可以看出系统测量的温度与温度计所测的温度非常接近,最大的温差为0.4°,平局误差约为0.3°例外,将该模块放在冰箱的冷冻室和刚烧开的开水中,分别测 得温度为 —105和98°。因 此 ,可以看出该模块能很好的反映实际 的环境温 度 。

基于BOA和nRF24L01的智能家居系统

  5.3 红外报警系统的测试

  首先将红外报警所在的节点1放在离地面1.5m左右的桌子上面,测试30次,未发生错误报警的情况。实验表明,报警范围在室内是30m左右,在 室外到50m。


  5.4 火灾报警系统的测试

  本实验参考,国家标准GB4515《点型感烟火灾探测器技术要求及试验方法》的要求,布置了一个火灾实验室,活在设在实验室的中心地面上,由于 MQ2烟雾传感器在节点2上面,所以将节点2安置在距离活在3m的上空。采用国标 GB4515中的标准试验火SH2-90根棉绳点火进行实验。将棉绳绑在节点1所在的支架上面,点燃后迅速熄灭火焰,使棉绳产生持续的烟雾。表3是6次实验采集的数据。

基于BOA和nRF24L01的智能家居系统

  从以上数据可以看出火灾报警系统能够对火灾产生准确的响应。

  5.5 对电器的控制

  由于本系统没有连接实际的电器,对点灯的控制本系统才有4个LED灯做替代。对空调的控制,无非就是设定的定时时间、控制温度。因此,本系统有一个思维数码管做一个替代空调。通过实验,可以看到,可以达到通过网页对它们的控制。


  结论

  设计了一种基于BOA和nRF24l01的智能家居系统。实现了通过web对家庭环境的监测,闯入的监测 ,对火灾的监测和对家电的远程控制等功能 。本系统能基本满足一般家庭的需要, 具有智能、成本低廉等优点 。此外,本系统经过简单的改进之后可以应用在智能交通监测体统 ,森林防火系统以及智能用电家居系统中。因此本系统具有非常广阔的应用前景 。


关键字:BOA  nRF24L01  智能家居系统 引用地址:基于BOA和nRF24L01的智能家居系统

上一篇:以ARM处理器S3C2440A为核心的嵌入式无线实时图像传输系统设计
下一篇:ARM芯片基于linux嵌入式操作系统实现的CMU控制器方案

推荐阅读最新更新时间:2024-10-21 14:54

基于BOAnRF24L01智能家居系统
  1 引言   人们生活水平的提高以及科技的进步,特别是计算机技术、网络技术和通信技术的发展,智能家居将慢慢成为未来家居生活的发展方向。1984年在美国诞生了世界上第一座智能家居建筑,从此以后,世界上的各大公司和科研单位不断加速在智能家居方面的研究,他们分别提出了自己的智能家居解决方案,其中以新加坡提出的技术方案最具代表性,他的智能家居系统包括三表抄送、安防报警、家电控制、家庭智能控制面板、监控中心等功能,目标在于将家庭中与信息相关的通信设备、家用电器和家庭安防装置通过总线技术连接到家庭智能化系统上,从而进行集中或远程控制和管理。在未来,智能家居不仅要为用户提供健康、舒适安全和安全的生活环境,而且用户还能够远程控制家庭电器设备和
[单片机]
基于<font color='red'>BOA</font>和<font color='red'>nRF24L01</font>的<font color='red'>智能家居</font><font color='red'>系统</font>
在嵌入式Linux系统(OK6410)中移植Boa 服务器
OK6410的Boa服务器移植: 一 Boa的编译 1. 从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz。 2. 解压:tar xzf boa-0.94.13.tar.gz 3. 进入解压后的文件夹 boa-0.94.13内部的 src文件夹,对源文件进行如下修改 1 由于arm-linux-gcc 编译器版本过高,对语法的支持有一些改变,所以需要修改compat.h中的 2 #define TIMEZONE_OFFSET(foo) foo##- tm_gmtoff 3 为: 4 5 #define TIMEZONE_OFFSET(foo) foo- tm_gm
[单片机]
在嵌入式Linux<font color='red'>系统</font>(OK6410)中移植<font color='red'>Boa</font> 服务器
基于μClinux操作系统Boa的CGI技术实现
   引 言   随着企业安全意识的增强以及现代化管理水平的提高,对设备的远程监控在工业控制系统中得到了越来越广泛的应用。近年来,Web技术广泛普及,把Web技术应用在这种监控系统中,可以让操作者通过浏览器维护和管理监测点,查看监测数据。同时,监测中心的服务程序也可以很方便地通过Web把监测数据取回来,进行进一步的处理,十分方便。   μClinux是应用于微控制领域的一种嵌入式Linux操作系统,它源码开放,移植性好,支持多种硬件平台和几乎所有常见网络通信协议,支持文件系统丰富,是一个功能完整的嵌入式操作系统。并且有大量优秀的开放源代码的应用软件和开发工具可用,因此,采用μClinux作为操作平台,使用Web技术进行远程
[嵌入式]
基于nRF24L01和STM32L152RD超低功耗无线通信系统
  随着科学技术水平的不断提高,传统的有线通信因自身的局限性已越来越不能满足人们的需要,无线通信技术得到了快速发展。如今出现了种类众多的无线通信技术,目前比较热门的有WiFi、蓝牙、UWB、ZigBee、Nordic nRF以及TI公司的SimpliciTI等。不同无线通信技术在成本、功耗、传输速率、使用频段、功能方面有很大区别,针对不同的需求要选择适合的无线技术。   针对便携式设备的低成本、低功耗要求,蓝牙和WiFi功耗相对较大,UWB规范尚不统一且芯片价格高,Zigbee的传输速率受限仅250 kbit/s,SimpliciTI则受TI公司硬件平台限制。综合考虑各个因素,本系统采用了NordicSemiconductor
[单片机]
基于<font color='red'>nRF24L01</font>和STM32L152RD超低功耗无线通信<font color='red'>系统</font>
基于虚拟仪器技术和NRF24L01实现水产养殖无线监测系统的设计
水产养殖环境因子的状况直接影响水产品的产量、品质及安全生产。因此,在现代工厂化养殖中,对养殖水体的温度、酸碱度(pH)、溶解氧、氨氮值、电导率等环境因子进行自动监测,正受到越来越多的关注。 根据传输介质的不同,通常数据信息传送可分为有线数据传输和无线数据传输。有线数据传输存在布线麻烦、维护成本高、数据精度差、可靠性较低等缺点。而无线数据传输由于其灵活性和便利性,已广泛应用到社会各个领域,如国防军事、环境监测和预报、大型车间和仓库管理、机场和大型工业园区的安全监测等,并且显著地提高了工作效率。为此,应用NRF24L01无线通信模块,结合虚拟仪器技术,系统上位机以LabVIEW为开发工具设计了一种水产养殖环境因子无线监测系统。
[测试测量]
基于虚拟仪器技术和<font color='red'>NRF24L01</font>实现水产养殖无线监测<font color='red'>系统</font>的设计
基于STM32F103和nRF24L01的近程无线数传系统设计
简介:近年来, 随着无线通信技术的发展, 无线通讯设备的集成化越来越高。本文介绍了一种选用高性能、低功耗的32位微处理器STM32F103和射频收发芯片nRF24L01来设计短距离无线数据传输系统的具体方法。 1 系统设计 短距离无线数传系统主要由电源管理器AMC7635、微控制器STM32F103、射频收发器nrf24l01三部分组成。下面分别介绍其关键电路。 1.1 电源电路 本设计的电源采用3.7V锂电池供电, 然后经低压降电源管理芯片AMC7635, 以产生3.0V的电压来为STM32F103和nRF24L01供电, 图1所示是本系统的供电电路。 图1 系统供电电路 1.2 微控制器电路 微控制器选用带AR
[单片机]
基于STM32F103和<font color='red'>nRF24L01</font>的近程无线数传<font color='red'>系统</font>设计
基于nRF24L01的钢丝绳无损检测系统
  本文提出了一种基于nRF24L01的无线传输方式下的钢丝绳无损检测方法,利用该系统对在线钢丝绳进行无损检测,检测结果采用nRF24L01进行无线传输,克服了有线传输的应用弊端,解决了钢丝绳恶劣的工作环境和其无损检测有线传输方式的矛盾,提高了检测精度。   1 钢丝绳无损检测系统硬件设计   1.1 系统总体结构图   钢丝绳无损检测系统由数据采集端和接收处理端组成。数据采集端系统框图如图1所示,主要分为:传感器模块,A/D采集模块,LM3S1 138处理器模块,RF24L01无线模块。其中传感器部分采用华中科技大学机械学院无损检测实验室具有自主知识产权的无损检测传感器,该传感器由2个霍尔元件和1个旋转编码器组成,输出4路模拟
[单片机]
基于<font color='red'>nRF24L01</font>的钢丝绳无损检测<font color='red'>系统</font>
Boa Web服务器在PC和S3C2440开发板上移植
  boa是一个非常小巧的Web服务器,可执行代码只有约60KB。它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。下面我们讲解以下boa如何在PC机(虚拟机RedHatAS5环境)完成移植修改工作。 一、下载Boa源码 下载地址: http://www.boa.org/或 http://labs.nevion.com/open-source/ 目前最新发行版本:0.94.13(05年更新版本)   下载 boa-0.94.13.tar.gz(注意:若从boa上下载的是boa-0.94.13.tar.tar,解压方式
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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