基于嵌入式的无线智能家居网关设计方案(3) 您所在的位置:网站首页 基于嵌入式linux的智能家居网关设计方案有哪些要求 基于嵌入式的无线智能家居网关设计方案(3)

基于嵌入式的无线智能家居网关设计方案(3)

2024-02-05 00:06| 来源: 网络整理| 查看: 265

标签:嵌入式(1267)无线(436)智能家居(62)

  3 软件平台设计

  软件平台采用一种开放源码的Linux 操作系统,便于在其基础上完成各项相关应用程序的开发。软件主要涉及到操作系统的裁剪与编译、驱动程序编写和系统主程序编写。

  3. 1 家庭网关软件体系结构

  家庭网关采用模块化设计方案,如图4 所示由硬件驱动层、操作系统层、网络协议层和应用程序层组成。硬件驱动层描述网关节点中Zigbee 模块和Wi-Fi 模块的驱动; 操作系统层移植了ARM Linux 实时操作系统内核; 网络协议层移植了Zigbee 和Wi-Fi 协议栈,实现Zigbee 和Wi-Fi 协议双向转换;应用程序层在Linux 内核上移植嵌入式Web 服务器软件Boa.

  

  图4 家庭网关结构。

  网关中的网络协议层主要完成从Wi-Fi 和Zigbee 协议的相互转换工作。对于从Zigbee 设备发送到Wi-Fi 的数据,在网关需要经过以下处理步骤: Zigbee 设备接收到数据→去掉物理层Zigbee 分组→去掉MAC 层Zigbee 分组→添加MAC头的Wi-Fi 分组→添加物理层头的Wi-Fi 分组→Wi-Fi 处理或发送。Wi-Fi 接收数据到发送给Zigbee 设备的过程如下:

  Wi-Fi 接收到数据→去掉物理层Wi-Fi 分组→去掉MAC 层Wi-Fi 分组→添加MAC 头的Zigbee 分组→添加物理层头的Zigbee 分组→Zigbee 处理或发送。Wi-Fi-Zigbee 通信协议模型如图5 所示。

  

  图5 Zigbee /Wi-Fi 网关的通信协议模型。

  3. 2 Zigbee 组网软件设计

  家庭网关集成了Zigbee 网络协调器和嵌入式Web 服务器,有两个主要功能。1 ) 实现无线传感器网络的建立,传感器节点管理和数据传输。将收集到的数据存储在数据库中,使用户可以随时查询监控Zigbee 终端设备的状态。2) 用户可以通过Web 浏览器直接访问网关,可以进行实时监测和远程管理。

  为了实现家庭网关的功能,在硬件平台上移植了Linux2. 6 实时操作系统、Zigbee 协议栈和VT6656 的驱动程序,并使用基于HTTP 协议的Boa 服务器作为Web 服务器,其中ZigBee 网络协调器的软件实现包括ZigBee 协议和监控管理程序的移植。该软件流程如图6 所示。

  

  图6 Zigbee 软件流程。

  在智能家居内部ZigBee 无线网络中,首先协调器进行初始化,然后协调器选择一个称为PAN ID 的标识号码,接着启动网络,所有的设备接入CSMA-CA 机制的协调器。当协调器收到数据时,首先判断是新节点加入网络的请求还是设备节点的控制请求: 如果是新节点加入网络的请求则分配网络地址并绑定节点; 如果是控制请求,则调用控制请求处理函数处理数据。数据处理完毕,协调器返回等待请求监听状态。

  3. 3 家庭网关主程序设计

  家庭网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式,Zigbee 协议栈由一系列分层结构组成,包括物理层、数据链路层、网络层、应用支持层和应用层,每一层为上一层提供服务。采集节点将要传输的节点地址信息和监测数据以Zigbee 帧的形式打包发送给网关节点。传送数据在通过物理介质进入网关后,先用Zigbee 协议栈解封装得到原始数据,网关可以用操作系统上的应用软件根据需要对原始数据处理。然后再以TCP / IP 协议打包后通过USB 口与Wi-Fi 通信模块VT6656 相连,Wi-FiVT6656 网卡通过AP 路由器,将数据传送到Wi-Fi 网络中,AP路由器接入Internet,从而实现网关与Internet 相连。为实现系统的监测和控制两大功能,数据帧结构的设计由前导码、数据模式、目标地址、数据长度、数据信息与校验和等部分构成[3],其中数据信息字段又划分为方向位、功能类型和数据。

  方向位分为上行和下行两种: 上行传输的是监测数据,下行传输的是控制命令。

  家庭网关主程序处理流程如图7 所示。硬件上电系统启动以后,应用程序初始化,网关开始监听网络,有数据到来网关进入中断状态。首先判断是否Zigbee 数据,如果是Zigbee数据,按照WSN 协议处理数据然后打包转发给Wi-Fi 模块,网关返回监听状态; 如果不是Zigbee 数据,网关判断是否Wi-Fi 数据,如果是则以Wi-Fi 协议处理数据然后打包转发给Zigbee 模块,并返回监听状态; 若是未知数据,网关进行丢弃处理直接返回监听网络状态。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有