92 lines
4.5 KiB
Markdown
92 lines
4.5 KiB
Markdown
## 硬件部分
|
||
## z-stack协议栈简介
|
||
|
||
#### 协议栈的文件包层次结构功能:
|
||
|
||
- App:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议中一般是以操作系统的任务实现的。
|
||
|
||
- HAL:硬件层目录,包含有与硬件相关的配置和驱动及操作函数
|
||
|
||
- MAC:MAC层目录,包含了MAC层的参数配置文件及其MAC的LIB库的函数接口文件
|
||
|
||
- MT:实现通过串口可控制各层,并与各层进行直接交互
|
||
|
||
- NWK:网络层目录,包含网络层配置参数文件网络层库的函数接口文件及APS层库的函数接口
|
||
|
||
- OSAL:协议栈的操作系统
|
||
|
||
- Profile:AF(Applicationframework应用框架)层目录
|
||
|
||
- Security:安全层目录,包含安全层处理函数,比如加密函数等
|
||
|
||
- Services:地址处理函数目录,包括地址模式的定义及地址处理函数
|
||
|
||
- Tools: 工程配置目录,包括空间划分及Z-Stack相关配置信息
|
||
|
||
- ZDO:ZDO目录
|
||
|
||
- ZMac:MAC层目录,包括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),后台主机
|
||
* 协议:zigbee,TCP/IP,BLE 4.0
|
||
* wifitricker连通内外网
|
||
|
||
|
||
#### 硬件模块功能实现
|
||
|
||
| 功能描述 | 实现 |
|
||
| :--------------: | :----------------------------------------------------------: |
|
||
| 老人身体情况获取 | **开源手环**通过**蓝牙**给老人随身携带的**app**发送数据,采集老人的**心率,步数,血氧,睡眠。运动轨迹**,然后app传到**服务器** |
|
||
| 老人房间信息获取 |通过实验箱模拟老人房间环境,zigbee模块通过**温湿度传感器**,**人体红外传感器**采集老人房间状态值,并根据温度值控制**继电器(空调)**实现房间的温控,A8网关通过系统提供的CGI接口请求协调器发送各节点的信息,通过脚本解析过后发送给服务器。|
|
||
|
||
####硬件系统架构
|
||
|
||

|
||
##
|
||
####数据访问(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拓扑访问接口访问,效果如下:
|
||

|
||
|
||
####拉取数据
|
||
|
||

|
||
|
||
通过访问上面的zigbee节点数据接口,可以看到数据拉取成功,各个节点的数据都有啦,通过脚本解析后Post到云服务器就行了!
|
||
|
||
**备注**:
|
||
|
||
* 由于硬件的数据访问是通过WiFi AP创建的局域网,所以数无法部署到云服务器,所以我们自己编写了一个脚本(WifiTrick)用来连接外网,把数据post到云服务器,并作为数据接收的中介(控制执行器执行命令需要在局域网内)。
|
||
* 若要访问以上网络接口,需要将设备连接到WiFi AP创建的局域网内。
|
||
|
||
|
||
**完结撒花,感谢队友,泪目**
|
||
|