- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM和ZigBee无线网络智能家居系统设计
基于ARM和ZigBee无线网络智能家居系统设计
摘要:设计了一种基于ARM和ZigBee无线网络的智能家居系统,阐述了智能家居系统的方案设计,并给出了关键环节的实现方法。该系统能实现对家居环境监测和家电控制,在现代生活中具有广阔的应用前景。
关键词: ARM;ZigBee;智能家居;嵌入式Web服务器
1 引言
智能家居利用先进的计算机技术、网络通讯技术、电力自动化技术,将与家居生活有关的各种子系统有机地结合在一起,进行网络化的综合管理[1]。从目前的发展来看,嵌入式系统和无线网络技术应用在智能家居系统已成大势所趋。相比传统的家居系统,嵌入式系统和无线网络技术日益成熟,无线传感器产品成本低廉,而且能提供更大的灵活性、流动性,省去了花在综合布线上的费用和精力,因而更适应于家庭、小中型办公场所。
本文设计了一种具有数据传输稳定、功耗要求低、系统可靠、成本低廉等特点的智能家居系统。该系统以ARM处理器S3C2440和嵌入式Linux操作系统[2]为核心平台,通过ZigBee无线网络[3]把家电设备与嵌入式Web服务器[4]相连接,使得用户可以通过客户端的浏览器实现对家居环境的监测和家电设备的控制。
2 系统方案设计
基于ARM和ZigBee无线网络的智能家居系统原理框图如图1所示。系统以S3C2440嵌入式处理器为核心,外扩NAND Flash、SDRAM、和网络通讯接口等。多个ZigBee无线模块节点CC2430组成无线网络,各终端节点连接传感器或者家电设备,通过无线传输的方式与ZigBee协调器进行通信,ZigBee协调器通过SPI接口与ARM进行数据传输[5]。其中S3C2440处理器是韩国三星基于ARM公司开发的ARM920T处理器核,ZigBee网络节点是成都无线龙公司开发的网络微型节点CC2430。
智能家居系统由客户端、嵌入式Web服务器和家电设备三部分组成,ARM中的嵌入式Web服务器是家电监控系统的核心,嵌入式Web服务器通过ZigBee和家电设备连接,通过网线和客户端相连接。因此,本系统的关键环节是:ZigBee通信网络、嵌入式Web服务器和SPI接口的Linux驱动。
本设计中选用嵌入式Linux操作系统作为软件开发平台,Linux内核版本为2.4.18,交叉编译工具为arm-1inux-gcc(2.95.3版本),根???件系统选用Cramfs, 用户文件系统采用YAFFS格式。
图1 智能家居系统硬件结构图
3 ZigBee通信网络的建立
ZigBee无线传感网络主要功能是传输家居实时信息和控制消息。本系统采用的无线传感器网络硬件平台为成都无线龙通讯公司的无线单片机专业开发系统C51RF-3-PK,该系统的处理器是支持ZigBee协议的SoC射频(RF)芯片CC2430,并且免费提供基于最新ZigBee协议规范的协议栈Z-Stack,协议的应用开发环境为IAR Embedded Workbench for 8051。ZigBee通信网络的建立主要涉及应用数据收发和串口通信的应用程序设计。
3.1 应用数据收发模块
在 ZigBee 网络中,应用层定义了两种数据服务传输格式:KVP(键值对)和。本系统选择采用MSG(消息)数据服务格式。ZigBee网络应用数据收发模块分为数据发送子程序和数据接收子程序。
在Z-Stack协议中,应用层通过调用AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP, uint16 cID, uint16 len, uint8 *buf, uint8 *transID, uint8 options, uint8 radius)函数来发送数据。其中,dstAddr带有目的地址的地址类型和地址信息,cID为待发送数据的16位簇信息(cluster ID),len表示待发送数据的长度大小,*buf为待发送数据的首指针。为实现节点消息的管理,本文将簇信息节点间发送的消息进行分类,分类如下表1所示。
表1应用层 Cluster ID 定义表
在Z-Stack中,当节点接收到数据时,操作系统抽象层(OSAL)会产生一个AF_INCOMING_MSG_CMD事件通知,用户只需要在该事件下对接收到的消息进行处理即可。消息的处理过程中,用户可根据消息中的Cluster ID分别进行处理。本系统按照表1中Cluster ID的定义,控制中心节点的每个Cluster ID 下的功能函数如下所示。
3.2 串口通信模块
文档评论(0)