Files
OldPeopleHome/zigbee/README.md
LitterDryFish a349e3c356 downdowndown
2019-09-11 19:25:24 +08:00

92 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 硬件部分
## z-stack协议栈简介
#### 协议栈的文件包层次结构功能:
- App应用层目录这是用户创建各种不同工程的区域在这个目录中包含了应用层的内容和这个项目的主要内容在协议中一般是以操作系统的任务实现的。
- HAL硬件层目录包含有与硬件相关的配置和驱动及操作函数
- MACMAC层目录包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件
- MT实现通过串口可控制各层并与各层进行直接交互
- NWK网络层目录包含网络层配置参数文件网络层库的函数接口文件及APS层库的函数接口
- OSAL协议栈的操作系统
- ProfileAFApplicationframework应用框架层目录
- Security安全层目录包含安全层处理函数比如加密函数等
- Services地址处理函数目录包括地址模式的定义及地址处理函数
- Tools 工程配置目录包括空间划分及Z-Stack相关配置信息
- ZDOZDO目录
- ZMacMAC层目录包括MAC层参数配置及MAC层LIB库函数回调处理函数
- ZMain主函数目录包括入口函数及硬件配置文件
- Output输出文件目录由IAR IDE自动生成
#### 硬件需求
| 类型 | 需求 |
| :---------------------: | :----------------------------------------------------------: |
| 硬件 | ①手环定位、老人身体信息、能通过蓝牙和app传信息 ②房间传感器:获取温湿度,人体红外,继电器等,能与服务器交互 ③RFID能扫描后获得老人的信息 ④物联网开发实验箱|
#### 实验环境详细要求
* zigbee网络拓扑类型网状拓扑
* 网络类型zigbee网络无线局域网
* 协议栈版本Z-stack 3.0.2
* 传感器节点:温、湿度传感器(tem&&Humm)两个,人体红外传感器(IRPers)两个,运动手环(Band)两个,执行器(Excuter)三个,USB无线热点适配器(wifi AP)一个
* 角色:终端(EndDevice),协调器(Coordinator),路由器(Router),网关(Gateway),后台主机
* 协议zigbeeTCP/IPBLE 4.0
* wifitricker连通内外网
#### 硬件模块功能实现
| 功能描述 | 实现 |
| :--------------: | :----------------------------------------------------------: |
| 老人身体情况获取 | **开源手环**通过**蓝牙**给老人随身携带的**app**发送数据,采集老人的**心率,步数,血氧,睡眠。运动轨迹**然后app传到**服务器** |
| 老人房间信息获取 |通过实验箱模拟老人房间环境zigbee模块通过**温湿度传感器****人体红外传感器**采集老人房间状态值,并根据温度值控制**继电器(空调)**实现房间的温控A8网关通过系统提供的CGI接口请求协调器发送各节点的信息通过脚本解析过后发送给服务器。|
####硬件系统架构
![avatar](https://s2.ax1x.com/2019/09/07/nlzwhF.png)
##
####数据访问WifTrick
##
####数据访问网络接口
获取zigbee节点数据[http://192.168.0.1/cgi-bin/node.cgi](http://192.168.0.1/cgi-bin/node.cgi)
发送继电器控制命令:[http://192.168.0.1/cgi-bin/send_node.cgi?type=11&id=3&data=8](http://192.168.0.1/cgi-bin/send_node.cgi?type=11&id=3&data=8)
- **格式用例http://192.168.0.1/cgi-bin/send_node.cgi?type=11&id=3&data=8**(1\2\4)
zigbee拓扑访问接口[http://192.168.0.1/topo.html](http://192.168.0.1/topo.html)
####实验效果展示
烧写好各个zigbee节点后通过A8网关的zigbee 管理界面查看拓扑也可以通过zigbee调试助手和上面的zigbee拓扑访问接口访问效果如下
![avatar](https://s2.ax1x.com/2019/09/07/nljfhQ.jpg)
####拉取数据
![avatar](https://s2.ax1x.com/2019/09/07/nlxToT.md.jpg)
通过访问上面的zigbee节点数据接口可以看到数据拉取成功各个节点的数据都有啦通过脚本解析后Post到云服务器就行了
**备注**
* 由于硬件的数据访问是通过WiFi AP创建的局域网所以数无法部署到云服务器所以我们自己编写了一个脚本WifiTrick用来连接外网把数据post到云服务器并作为数据接收的中介控制执行器执行命令需要在局域网内
* 若要访问以上网络接口需要将设备连接到WiFi AP创建的局域网内。
**完结撒花,感谢队友,泪目**