基于GPRS的嵌入式智能家居终端的设计与实现

发布者:电子设计探索者最新更新时间:2014-01-17 来源: elecfans关键字:GPRS  智能家居终端  RS485  ARM-Linux 手机看文章 扫描二维码
随时随地手机看文章

  1引言

  随着网络技术和通信技术的不断发展,人们希望即使在工作或外出时也能通过某种方式及时了解和控制家中的情况,同时伴随着数字化家庭的普及,实现智能家居的远程控制已经成为一种趋势。家庭智能控制系统通过家庭总线技术,把家庭中各种家用电器、家庭保安装置和各种计量设备连接到一起组成一个家庭内部网络,由家庭智能控制器进行统一管理[1]。远程控制就是通过某种通讯方式将智能家庭控制器与外界相连,使人们能够在本地或异地对家庭系统进行集中的监视、控制。本文中介绍的方案,结合了GPRS(GeneralPacketRadioService)技术永远在线,速度快,接入范围广,体积小,功耗低等优点[2],采用RS485工业总线,设计实现了一种基于嵌入式系统的家庭智能控制器。用户可以通过短信及互联网等方式现远程无线监控,在手机和互联网相当普及的今天,为用户提供了更简单、方便的选择。同时由于该控制器RS485接口的特殊设计,外挂节点可以由原来的32个扩展到64个,解决了家用设备的布线组网以及控制等问题。

  2系统设计

  从结构上看主要分为用户,控制器,和RS485总线的家用设备控制三个部分。用户通过手机短信或网络方式向控制器的GPRS模块发送命令,而控制器也通过GPRS模块向用户反馈信息或发出报警通知。从而实现了用户和控制器无线互联,实现远程控制。

  3硬件设计

  硬件部分的结构框图如图1所示,控制器是整个系统的核心部分,经过串口扩展与GPRS模块相连;通过电平转换芯片提供RS485总线接口与家用设备相连接;同时还提供LCD,键盘等交互接口。控制器的主控芯片采用三星S3C44B0,使用ARM7TDMI核,工作频率在66MHz[1]。处理器外接4MFlash(用于存储控制器的启动代码和系统代码以及当天事件的文本日志)分配到存储器Bank0空间和4M×16的SDRAM,分配到存储器的Bank6空间。

  硬件部分的结构框图

  GPRS模块外围电路:GPRS模块采用西门子公司的MC35模块,支持数据、语音、短消息和传真等多种通信方式可以通过AT命令对其实现控制。串行线通过MAX3238电平转换后可直接和RS232串口相连。串口扩展:44B0通过外接双通道的通用异步收发器ST16C2550为GPRSmodem拨号上网提供完整的9线串口。其主要特点是接收﹑发送各有16字节的FIFO(先入先出)缓冲区,独立的波特率产生器可提供50bps到4Mbps的收发时钟。用户可方便地通过芯片的状态寄存器来进行错误定位和对操作状态进行判断。该芯片内存空间使用保留的存储空间bank4。采用总线方式控制。RS485接口设计:采用TI公司的RS485接口芯片75LBC184,可实现了44B0串行口的TTL电平与RS485电平之间的转换,该芯片的输入阻抗为RS485标准输入阻抗的2倍(≥24KΩ),故可以在总线上连接64个节点(相当于原来的两倍)。且它有一个独特的设计,当输入端开路时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统的正常工作。

  4RS485总线协议设计

  用RS-485总线进行系统通讯需要对其传输协议做规定,最重要的就是帧结构的设计。本系统数据帧的构造包括:起始,地址,类型,数据长度,数据,校验和及结束帧七个部分,除数据帧为N字节外(根据从机传送的数据而定),其余均占1个字节。类型字定义如表1所示,类型帧中的“SENDDATA”帧为数据帧,用于存放从机设备的状态信息,其它4种为指令帧,用于存放主机发送给从机的命令字[3]。

  类型字定义

  主机发查询请求主机发读请求从机准备好接收从机处于忙碌主/从机发送数据

  本系统采用LRC帧校验的方法。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有传输错误。除了帧结构的定义以外,整个系统的通信还需要遵守下面的规则:(a)主机查询方式:由主机轮询各从机,并要求从机提交状态信息,从机不能主动发出请求。(b)当主机发出“ASK”命令后,若从机反馈“BUSY”帧,则主机启动计时和计数,超时3次,则任务执行失败。(c)主机接收到从机发回的“READY”信号后,向从机发送“GETDATA”指令,进入接收状态,同时开启超时控制。若在规定时间未接收到从机发回的数据,则计数器加1,并继续发出“GETDATA”信号。如果超时3次,则取消这次查询。(d)从机等待主机发送指令,并根据具体指令作相应操作。如果接受到的指令帧错误,则会直接丢弃该帧。

  5软件设计

  软件部分的设计主要是基于ARM-Linux,因为该操作系统具有完整的TCP/IP协议,同时还支持许多其他网络协议,可以为GPRSmodem连接互联网提供完整的协议支持,并且该操作系统具有良好的稳定性和实时性可以满足家庭智能控制器对系统可靠性的要求,另外Linux的源代码开放,可移植性强,为系统开发中的问题提供了良好的技术支持。本系统的软件设计主要是应用程序的两个部分:GPRS的无线数传;RS485总线控制控制。[page]

  5.1RS485总线控制

  基于上一部分RS485的总线协议,主从控制主要分为:轮询、查询、控制三部分。(1)轮询:主机定时对各从机进行查询,如果发现报警信息,保存后及时触发报警并反馈给用户。如果出现超时或帧错误等状态时主机放弃此次查询,并将该事件存储在主机中。(2)查询:查询的工作流程和轮询大致相同,但是只对指定的从机和指定状态进行查询。(3)控制:把控制指令发到指定从机,并要求从机反馈执行结果。

  5.2GPRS的无线数据传输

  5.2.1接收和发送SMS短信

  (1)编码转换:要发送中文短信就需要使用PDU模式的16-bit编码。在Linux系统中默认用GB2312保存中文字符。发送短信前,要先进行编码转换,要将GB2312转换为Unicode编码,再将Unicode编码转换为PDU的16-bit编码。这里使用Linux中的iconv()函数,该函数可以实现Linux支持的任意的两种编码之间的转换。实现的方法:首先用iconv_open(),打开一个转换句柄,指定两种转换前的编码和转换后的编码。然后用icnov()作转换。最后用iconv_close()关闭句柄,释放资源。完成转换后,即可以正确的发送。(2)发送:向MC35模块发送一条AT指令,得到OK响应,则表示控制器与GPRS模块通讯正常,通过“AT+CSCA=“***”及AT+CSCA=0命令设置设置短信中心号码及短信格式(PDU)。然后发送AT+CMGS=“电话号码”,得到提示符号“》”,此时可以向MC35模块发送编辑好的PDU编码并以“CTRL+Z”结束。得到响应OK,则发送成功;如果收到ERROR则表示发送失败,重新初始化MC35模块,发送信息[4]。(3)接收:当收到短信时,发送”“AT+CMGR=X”从SIM卡读取短消息并调用短信处理程序作相应转换。

  5.2.2GPRS联网在Linux下的实现

  GPRS联网是Linux的PPP协议实现的。因此在编译内核时需要增加Linux内核的PPP支持[5]。然后根据程序中提供的配置信息,包括移动的APN*/为“CMNET”,通讯协议IP,拨号号码“*99***1#”,串口设备号/dev/ttyS2,波特率9600,用户名,密码等信息配置PPP协议需要的5个脚本和配置文件:ppp-on、ppp-off、options.gprs、dialer.gprs、pap-secrets。完成设置后,运行ppp-on,就可以进行GPRS拨号;运行ppp-off断开连接。

  GPRS联网流程(控制器作为客户端):(a)当用户希望通过网络访问GPRS模块时可以通过短信方式向主机GPRS模块发送联网命令,包括用户的IP地址和相关配置信息。(b)主机根据用户短信获得GPRS上网连接的配置信息,并生成对应的拨号脚本文和配置文件。调用ppp-on脚本进行PPP拨号。(c)判断PPPD是否拨号成功,标志是能否生成ppp0网络设备。(d)在数据传输过程中通过看门狗实时观测网络连接状态,网络掉线时,主机保存当前数据状态,重新启动GPRS模块并恢复连接。(e)结束本次任务时,用户在网上发送命令,让控制器调用ppp-off,断开连接。

  5.3系统软件流程

  软件流程如图2所示,系统上电启动后,首先对包括串口,LCD,键盘,GPRS模块以及网络配置文件等做相应的初始化。并检测GPRS模块和主机是否通讯正常。然后开始对从机进行轮询,发现警情时,读取并存储报警信息,启动报警器并将相应的报警信息通过拨号和短信的方式通知用户。当收到用户命令时,先判断用户的控制方式,再做出做出回应。

  软件流程

  6总结与展望

  本文介绍了一种基于ARM-Linux和GPRS技术的家庭智能控制终端,并通过RS485总线解决了家用设备的布线及控制器对设备的控制问题。文中给出了详细的系统架构方案。从软、硬件两方面给出了详细的设计思路和实现方法。整套方案对家庭智能控制器系统实现中存在的主要问题提出详细的解决方案,并且在实践中证明了其可实施性。此外,由于该控制器具备GPRS控制器的基本功能,只需在应用程序部分做相应修改,可用作其它无线远程控制设备,具有通用性和可扩展性。

关键字:GPRS  智能家居终端  RS485  ARM-Linux 引用地址:基于GPRS的嵌入式智能家居终端的设计与实现

上一篇:一种基于ARM920T的现场总线控制系统
下一篇:烟叶自动烘烤实验系统研制

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

基于DSP的智能温度检测系统设计
随着物联网时代的到来,农业正朝着智慧农业发展。“智慧农业”就是充分应用现代信息技术成果,集成应用计算机与网络技术、物联网技术、音视频技术、无线通信技术及专家智慧与知识,实现农业的智能化管理。温度作为农业生产过程中的一个重要指标,温度检测系统是智能农业的一个子系统。以DSP技术为核心,利用接口简单、性能稳定的DS18B20温度传感器芯片,设计了具有温度检测、温度阈值设定、现场蜂鸣器报警、远程智能短信报警、温度值实时显示、温度节点可扩展等功能的温度检测系统。该系统在农业领域可广泛进行应用推广。 1 智能温度检测系统 智能温度检测系统在智慧农业中发挥着重要的作用,成为智慧农业中信息采集必不可少的一部分。精确的获取农业生产或农业产品管
[测试测量]
基于DSP的智能温度检测系统设计
arm-linux异常的返回
之前在这里列出了 几个 几个异常入口,现在要考虑 这些异常入口最终会走到哪里去 将其分为四种情况考虑 // TODO 循环卡死 vector_addrexcptn __dabt_invalid __irq_invalid __pabt_invalid __und_invalid 返回内核空间 __dabt_svc __pabt_svc __und_svc __fiq_abt __irq_svc __fiq_svc 返回用户空间 vector_swi __dabt_usr __fiq_usr __irq_usr __pabt_usr __und_
[单片机]
<font color='red'>arm-linux</font>异常的返回
Win9X平台下通过RS485通信实现多台三菱变频器控制
   1、引言          由于变频器具有优良的控制特性以及其高效节能的特点,使得变频器近几年在各个领域被广泛的采用。在某些场合,需要用一台 工控 机灵活地控制多台变频器,以达到控制交流 电机 的目的。在油田输油控制系统中,多台变频器的控制问题成为关键,按照以往的控制方法,需要使用 PLC 或者控制电路板来控制变频器。然而使用这种方法造价高、系统复杂、布线量大、故障率高,因此亟需一种结构简单、造价低廉、可靠性高的系统来实现多台变频器的控制。           针对这一需要,一些公司(如日本三菱、德国西门子、日本东芝等)推出了带有RS-485通信接口的变频器,使用户能方便灵活地选择变频器的强大功能,设计各自的工业控制
[嵌入式]
今天使用crosstool制作了arm-linux交叉编译工具链
今天使用crosstool制作了arm-linux交叉编译工具链,并且成功编译和运行u-boot-1.3.0。 通过http://www.kegel.com/crosstool/了解crosstool。 要制作的交叉编译工具链版本为3.3.2。 具体步骤如下: 下载crosstool-0.43.tar.gz mkdir /home/wxm/crosstool cp crosstool-0.43.tar.gz /home/wxm/crosstool cd /home/wxm/crosstool tar -jxvf crosstool-0.43.tar.gz mkdir downloads 下载源码包: binuti
[单片机]
GPRS DTU在充电桩行业的应用
随着国家对新能源汽车的大力推广,充电基础设施建设则显得捉襟见肘,如何解决充电难的问题,仅仅靠建桩是不够的。 世界能源需求的不断攀升和自然资源的日益枯竭,人们环保意识逐渐增强,世界各国对新能源汽车的推广支持,让新能源汽车在未来汽车市场将占据重要地位,如果说过去充电站等配套设施的不完备在一定程度上限制了电动汽车发展的话,那么这些问题正在逐步得到解决。 当前充电桩行业面临的主要问题包括: 1.受市政建设规划,充电桩位置分散,车主难以找到桩 有人购车后“吐槽”有车找不到充电桩的时候,而我们却经常看到,充电桩一字排开,静静地伫立在那里,无人问津的现象。一面是有车无处充电,一面则是大量已建成的充电桩无用武之地,因为闲置而浪费。
[汽车电子]
基于ARM9和Linux的电磁流量计设计
  0  引 言   电磁流量计是一种测量导电介质体积流量的计量仪表,具有测量精度高、稳定性好、可靠性高等特点。电磁流量计除可测量一般导电液体的流量外,还可测量液固两相液体、高粘度液体及盐类、强酸、强碱液体的体积流量,可广泛应用于水泥、化工、轻纺、冶金、矿山、造纸、医药、给排水、食品饮料、环保等工业技术部门,其产品的性能、质量和可靠性对上述企业的经济效益有着重要的影响。   嵌入式系统( Embedded Sy stem) 是以应用为中心和以计算机技术为基础的,并且软硬件是可以裁减的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它是面向用户、面向产品、面向应用的专用系统,与通用的计算机系
[嵌入式]
一个基于RS485总线的智能小区周界防盗报警系统设计
1.引言 随着科学技术和经济的快速发展,人们对居家的概念已从最初满足简单的居住到注重对住宅的人性化需求,如安全、舒适、快捷、方便的智能小区,其中安全性是智能小区设计的首要目标。智能小区的安防系统担负着保护小区居民生命和财产安全的职责,由周界防越报警、视频监控、电子巡查、可视对讲、出入口控制、停车场管理等子系统组成,其中周界防越报警子系统是整个智能小区安防系统的核心之一。 2.智能小区周界防越系统概述 智能化住宅小区周界防越系统是为了防止有人从非法入口擅自闯入小区,以避免各种潜在的危险。为了对小区的周界进行安全防范,防止围墙或栅栏有可能受到破坏及非法翻越,提高周边的安全防范的可靠性,缩短发现非法入侵的时间,保证小区内各住户的财产
[单片机]
一个基于<font color='red'>RS485</font>总线的智能小区周界防盗报警系统设计
基于RS485接口Modbus协议的PLC与多机通讯
  1 引言   在自动控制领域,PLC 和单片机都受到广泛应用。PLC 具有稳定可靠,抗干扰能力强, 功能强大且使用方便等特点 ,单片机具有成本低廉,使用灵活,功能多样等特点。PLC 与 单片机结合,互相联系,互相通讯,将扩展控制功能,更好的控制复杂的系统。   在研究混合动力电动汽车驱动系统 时, 采用PLC 作为主控制器,控制电机变频器和发 动机节气门控制器,实现对电机和发动机功率的 综合控制。因为PLC 和变频器均是艾默生公司 的产品,均支持RS485 接口和MODBUS 协议, 所以控制系统统一采用RS485 接口和MODBUS 协议。而发动机节气门控制器采用89C51 单片 机,所以要通过建立PLC 与单片机的
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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