- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ZigBee技术的手机智能家居系统设计.doc
基于ZigBee技术的手机智能家居系统设计 【摘要】提出了一种基于ZigBee无线传感器网络的智能家居系统,给出系统的软件设计。所设计的网关节点具备网关的基本功能,并结合了Bluetooth和GPRS通信功能,可以支持近远程的综合接入。用户可以采用Android终端设备实现实时数据的采集或者控制指令的执行,也可以通过移动通信公网实行远距离的控制操作。Android终端软件开发平台采用的是安装了SDK开发包的Eclipse开发软件。除了网关以外的其他节点都采用了休眠管理来降低能耗。 【关键词】智能家居ZigBee无线传感器网络Android 中图分类号:TN92文献标志码:A 本文结合ZigBee无线传感网络与Android智能手机系统,设计了新型的智能家居系统。硬件方面使用TI公司的CC2530 ZigBee无线传感模块和支持RS-232的Android智能手机开发平台,完成了比较完善的通信网关功能,使用户可以通过Android手机端的应用程序控制ZigBee智能家居系统。 一、ZigBee规范分析 在ZigBee规范中,节点按功能分为3种类型[3]:①协调器(ZC),负责创建并维护一个PAN;②路由器(ZR),负责把感知数据路由到ZR,并帮助ZC进行PAN的创建和维护工作;③端设备(ZED),负责感知物理世界环境变化,然后在ZR的帮助下将感知数据传送到ZC[4]。 二、系统设计 2.1建立ZigBee智能家居网络 整个系统由ZigBee无线传感器网络、无线通信公网和Android智能终端组成。组建一个完整的ZigBee网状网络包括两个步骤:网络初始化、ZED加入网络。其中ZED加入网络又包括两种方式:通过与ZC连接入网和通过已有父节点入网。 为了建立连接,ZED需要向ZC提出请求,ZC接收到ZED的连接请求后根据情况决定是否允许其连接,然后对请求连接的ZED做出响应,ZED与ZC建立连接后,才能实现数据的收发[6]。具体的流程如图1所示: (1)查找网络ZC。首先ZED点会主动扫描查找周围网络的ZC,如果在扫描期限内检测到信标,那么将获得了ZC的有关信息,这时就向ZC发出连接请求。如果没有检测到,间隔一段时间后,ZED重新发起扫描。(2)发送关联请求命令。ZED将关联请求命令发送给ZC,ZC收到后立即回复一个确认帧(ACK),同时向它的上层发送连接指示原语,表示已经收到ZED的连接请求。协调器接收到连接指示原语后,根据自己的资源情况(存储空间和能量)决定是否同意此ZED的加入请求,然后给ZED的MAC层发送响应。(3)等待ZC处理。ZC给ZED的MAC层发送响应时,ZED会设置一个等待响应时间来等待ZC对其加入请求命令的处理,若ZC的资源足够,ZC会给ZED分配一个16位的短地址,并产生包含新地址和连接成功状态的连接响应命令。若ZC资源不够,等待加入的ZED将重新发送请求信息。(4)发送数据请求命令。如果ZC在响应时间内同意ZED加入,那么将产生关联响应命令并存储这个命令。当响应时间过后,ZED发送数据请求命令给ZC,ZC收到后立即回复ACK,然后将存储的关联响应命令发给ZED。(5)ZED收到关联响应命令后,立即向ZC回复一个确认帧(ACK),以确认接收到连接响应命令,此时ZED将保存ZC的短地址和扩展地址,并且ZED的MLME向上层发送连接确认原语,通告关联加入成功的信息。自此,ZigBee网络组网成功。 当组网成功后,ZED将在指定的报告周期时间内,通过zb_SendDataRequest原语向ZC发送状态数据包。ZC通过RS-232接口将数据包转发到Android模块,然后通过Socket或者蓝牙将数据包传递到用户终端。 2.2串口通信 Android模块串口通信主要由下面几步组成,JNI通过init、upload、download三个HAL层函数接口对串口进行初始化、写数据和读数据。写数据时,通过upload在 HAL层中加上包头及CRC位,然后在写线程中写入串口设备节点。读数据时,在HAL层中通过读数据线程从串口设备节点中将数据读出后进行解析和CRC校验,如果CRC校验正常则把解析之后的数据通过JNI层传给java中进行使用。接收数据和解析数据的时候采用buffer控制,在接收数据时采用的环形buffer,容量为1Kbyte,这样做的目的是防止接收数据丢失。 2.3用户与Android模块通信 2.3.1Socket通信 Android平台Socket通信由客户端和服务器两部分组成,当客户端启动时,会向指定IP地址和端口号的服务器发送一个短数据包,服务器接受到数据包后建立起与相应客户端的Socket连接。当ZigBee协调器通过RS-232将数据包传输到客户端,客户端会将接收到的数据进行拆包、解析,然后将比特流(
原创力文档


文档评论(0)