首页 > 方案讯 > 资讯详情

基于短消息和蓝牙的远程信息家电控制系统

  智能家居  

李园园; 蓝伴儒 2010-11-29

1314

0

0

【中心议题】

  • 提出了一种基于短消息和蓝牙的远程信息家电控制系统
  • 给出了实现方案

【解决方案】

  • S3C2410为开发平台
  • 结合GSM
  • 短消息模块的收发短消息功能和蓝牙模块的组网功能

1.前言

随着Internet的飞速发展,信息家电(Information Appliance)3C(计算机、通讯及消费电子)的合一加速了后PC时代的到来。根据美国国家半导体公司的定义:信息家电是一种廉价、易用、以互动方式与Internet连接的小型设备。总的来说,所有能够通过网络系统交互信息的家电产品,都可以称之为信息家电。它的特点是:(1)Internet连接;(2)用户与信息家电双向交流;(3)应用嵌入式操作系统。本文提出了一种以ARM920T内核的S3C2410芯片为硬件开发平台,借助公共无线GSM(Global System for Mobile communication)网络、通过短消息实现远程报警和监控的智能家居控制系统,其中家电设备组网通过蓝牙模块实现。

2.系统的总体结构

系统分成了家庭网关和蓝牙信息家电两个部分,这两部分的功能框图分别为图1,图2所示。

 

要实现家庭网络的远程控制,首先必须要建立家庭网关,此网关一方面通过蓝牙模块来组建蓝牙家庭网络,另一方面通过GSM模块来建立与外界的联系。若用户想远程遥控家电,首先通过手机按格式编辑短信息发送到家庭网关的GSM通讯模块,模块将所接收的数据进行解包校验并将完整的命令通过UART0下传到ARM处理器,处理器对收到的短信进行过滤,检查是否是已设号码的用户所发的符合命令格式的有效短信,若有效,则按照事先规定好的协议来进行命令的解析,分析出是对哪个蓝牙信息家电进行如何的控制或查询指令,然后将此指令通过蓝牙主模块发送到相应的蓝牙从模块,从模块收到命令后发送给连接在家电上的单片机来控制家电的具体动作。

3.硬件构成

3.1 S3C2410X

S3C2410X[1]芯片集成了大量的功能单元,其中包含了3个通用异步串行端口,UART0用来连接GSM模块,UART1连接蓝牙主模块。为了引导系统启动扩展了NorFlash模块,扩展SDRAM来存储程序和数据。

3.2 GSM模块

目前远程对于家电的控制可以通过固定电话线,Web页面和手机短消息等多种方式实现,经过多方比较之后本系统选择GSM网络作为通信的介质。原因是目前短消息业务(SMS)作为GSM网络的一种基本业务,由于其接入GSM网络方式简单,使用费用低廉,覆盖范围广泛,使用方便等优点得到了越来越多的运营商、开发者和使用者的重视,并且其在无线远程控制方面目前也得到了越来越多的应用。

本系统所用的G S M模块是法国WAVECOM公司设计的Q2403A模块,双波段工作(900/1800MHz),支持通用AT命令,可完成基本的移动数据业务:电话呼叫与接收,短消息的收发等功能。

3.3蓝牙模块

家中的家电设备可以通过有线或无线形式连接,形成家庭网络。有线技术的数据传输速率相对较高,可靠性强,但灵活性差、布线复杂。采用无线通信技术可以免去在家庭内部布线的烦恼,新增的家电设备也可以很方便加入家庭网络之中,从而解决移动设备的联网问题。无线方案主要包括WIFI,HomeRF、蓝牙、红外等,在这些家庭无线联网方案中,蓝牙技术更加适合家庭内部联网技术。蓝牙技术的主要优点有:可以随时随地在短距离(大约10 m)范围内用无线接口来代替有线电缆连接;如果增大发射功率,传输距离可达100m,基本满足家庭内部使用的需要;抗干扰能力强,可以不对准,可以不在同一房间,链接最大数目可达7个,具有很强的移植性,可用于多种通信场合;功耗低,对人体危害小;蓝牙集成电路应用简单,成本低廉,实现容易,易于推广等优点。因此蓝牙模块来组网可以满足家庭网络中更多的需要。

蓝牙通信模块采用爱立信公司的ROK101 008。该模块是一款适合短距离无线通信的射频/基带模块,集成度高、功耗小,完全兼容蓝牙协议,可嵌入任何需要蓝牙功能的设备中。

一般说来,一个蓝牙系统被HCI(蓝牙主机控制接口规范)分为蓝牙模块和蓝牙主机两部分。蓝牙模块实现HCI以下的底层协议软件及其模块间物理链路层的链接。蓝牙主机通过HCI UART传输层向蓝牙主模块传HCI命令,把它初始化为蓝牙主设备(Master),进行查询,并发起连接,蓝牙信息家电则作为从设备(Slave)等待连接,从而控制蓝牙模块实现和其它蓝牙设备的通信和信息交互。两个蓝牙设备间进行数据通信是通过HCI分组实现的,H C I分组有三种类型:指令分组(Command Packet)、事件分组(Event Packet)和数据分组(Data Packet)

 

在蓝牙信息家电这端蓝牙模块与单片机AT89C51串口之间采用蓝牙模块提供的RS232传输层接口实现通信,需要外接电路实现电平转换,由于蓝牙模块需3.3V供电,因此这里选用MAX3232芯片作电平转换芯片。另外,为了将5V输入电压转换为3.3V电压,选用电源稳压芯片7301为蓝牙模块供电。A T 8 9 C 5 1通过MAX3232与蓝牙模块的接口示意图如图3所示。

4.软件构成

4.1短消息的处理

为了能让Q2403A正确接收到户主发来的短消息,首先检查模块是否正常工作:处理器发送简单的A T命令“AT\r”,如果模块连接正确,就会收到返回命令“O K”;然后再发送命令“ATCCID\r”来检查SIM卡是否安装正确,如果模块能正常工作,则会返回SIMID,并以OK结束。

然后进行模块的初始化工作:用命令“ATCMGF=1\r”设置短消息模式为文本模式;“A TC S C A=\“+8613800532500\\r”来设置短消息服务中心号码;“ATCNMI=2,1,0,0,0\r”命令表示采用事件驱动的方式来处理短消息,当有短消息到来时通知系统,并把短消息存储在默认的内存位置。

当有新的短消息到达时,模块自动返回如下提示“+C M T I:“S M”,“<index>”,此时读出<index>,然后用“AT+CMGR=<index>\r”命令即可读出短消息内容。所读取的内容包括发送此消息的手机号码,发送的时间以及具体短消息的内容。先将短消息中包含的号码提取出来,进行判断是否为户主的号码,如果不是则用命令“A T+C M G D=<index>\r”删除此消息,如果是则将短消息的内容提取出来,进而判断是往哪个信息家电上发送的什么命令,接着通过蓝牙模块发送出去。

4.2蓝牙数据传送

蓝牙的初始化程序主要是处理器对蓝牙发送一系列命令分组。处理器每向蓝牙发送一个HCI命令分组就要接收蓝牙返回的事件分组,判断命令执行的情况。若返回事件分组不正确就要重新初始化蓝牙,直到完全正确。蓝牙设备在初始化完成之后,通过Set_Host_Controller_To_Host_Flow_Control指令打开主机控制器到主机的流量控制,并通过Host BufferSize指令来对流量控制进行配置,包括数据分组的长度等。此后,主设备查询周围的蓝牙设备,找到之后即可向其发出建立连接指令,建立ACL连接。成功建立连接之后就可以进行数据通信。通信完成后,主设备和从设备都可以发出断开连接的命令Disconnect。本系统中,蓝牙主模块间进行数据传输的程序流程图如图4所示。

 

从蓝牙模块数据处理程序流程图。初始化阶段,模块先发送HCI命令,实现蓝牙设备的复位、启动、地址查询、自动巡检和跳频算法等初始化操作,与主机建立蓝牙物理链路和L2CAP链路。蓝牙设备之间的无线数据通信通过HCI分组来实现。

初始化程序还要通过AT89C51对蓝牙设备发送命令分组。MCU每发送一个HCI命令分组后,都要接收从模块蓝牙设备返回的事件。

5.总结

本系统将GSM模块和蓝牙模块的两大功能通过ARM920T处理器相结合,实现了手机短消息远程遥控家电的功能。利用S3C2410的强大功能,可将此系统进一步完善,如增加LCD显示家电状态,增加键盘可以直接通过网关在家中集中控制家电等。

已赞(0)

文章评论

登录后参与评论

每日精选

热门文章

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号