4.5 KiB
硬件部分
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/send_node.cgi?type=11&id=3&data=8
zigbee拓扑访问接口:http://192.168.0.1/topo.html
####实验效果展示
烧写好各个zigbee节点后,通过A8网关的zigbee 管理界面查看拓扑,也可以通过zigbee调试助手和上面的zigbee拓扑访问接口访问,效果如下:

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

