ztack协议栈

层次结构:

PHY:从无线物理信道上为MAC层提供数据收发的服务

MAC:保证协议数据正确收发

NWK:兼容IEEE802.15.4标准,并为上层提数据NLDE和管理NLME服务

APS :为ZDO访问NWK提供了通路

AF :为各个用户自定义的应用对象提供了模板式的活动空间

APL :基于zigbee协议栈,建立在ZDO基础之上的具体应用

zigbee无线通信:

信道:tools目录中的f8wConfig.cfg中定义:

//-DDEFAULT_CHANLIST=0x04000000  // 26 - 0x1A
//-DDEFAULT_CHANLIST=0x02000000  // 25 - 0x19
//-DDEFAULT_CHANLIST=0x01000000  // 24 - 0x18
//-DDEFAULT_CHANLIST=0x00800000  // 23 - 0x17
//-DDEFAULT_CHANLIST=0x00400000  // 22 - 0x16
//-DDEFAULT_CHANLIST=0x00200000  // 21 - 0x15
//-DDEFAULT_CHANLIST=0x00100000  // 20 - 0x14
//-DDEFAULT_CHANLIST=0x00080000  // 19 - 0x13
//-DDEFAULT_CHANLIST=0x00040000  // 18 - 0x12
//-DDEFAULT_CHANLIST=0x00020000  // 17 - 0x11
//-DDEFAULT_CHANLIST=0x00010000  // 16 - 0x10
//-DDEFAULT_CHANLIST=0x00008000  // 15 - 0x0F
//-DDEFAULT_CHANLIST=0x00004000  // 14 - 0x0E
//-DDEFAULT_CHANLIST=0x00002000  // 13 - 0x0D
//-DDEFAULT_CHANLIST=0x00001000  // 12 - 0x0C
-DDEFAULT_CHANLIST=0x00000800  // 11 - 0x0B

panID,16bit网络地址,只有panID相同的设备才能组成一个网络

/* Define the default PAN ID.
 *
 * Setting this to a value other than 0xFFFF causes
 * ZDO_COORD to use this value as its PAN ID and
 * Routers and end devices to join PAN with this ID
 */
-DZDAPP_CONFIG_PAN_ID=0xFF00

 

shortAddr,由父节点分配的16bit短地址,用于设备之间通信

endPoint,是一个1-240的具体设备端点号,与应用相关

zigbee网络中有3种通信设备:

全功能设备FFD协调器

全功能设备FFD路由器

半功能设备RFD终端

有且只能有一个协调器,协调器,路由器,终端节点由软件决定

 

实现无线通信:

 

//1.基于端点进行通信,所以首先需要注册端点
/*
 *功能:注册一个断点
 *参数:@epDesc   描述端点信息的结构体指针
 *  typedef struct
 *  {
 *    uint8 endPoint;//端点号1-240
 *    uint8 *task_id; //当前任务ID
 *    SimpleDescriptionFormat_t *simpleDesc;//端点简单描述符
 *   afNetworkLatencyReq_t latencyReq;//网络延迟信标设置,一般默认参数noLatencyReqs
 *  } endPointDesc_t;
 
 typedef struct
{
  uint8  EndPoint;//端点号1-240
  uint16  AppProfId;//profile应用规范ID,表示应用领域比如建筑、农业、家居等
  uint16  AppDeviceId;//应用设备ID
  uint8  AppDevVer:4;//应用设备版本号
  uint8  Reserved:4; //保留
  uint8  AppNumInClusters;//输入簇命令个数,如打开、关闭、停止等操作命令
  cId_t  *pAppInClusterList;//输入簇命令ID列表
  uint8  AppNumOutClusters;//输出簇命令个数
  cId_t  *pAppOutClusterList;//输出簇命令ID列表
} SimpleDescriptionFormat_t;
*/ 
afStatus_t afRegister( endPointDesc_t *epDesc )


/*无线消息发送函数*/
afStatus_t AF_DataRequest( afAddrType_t *dstAddr,//目标地址
 endPointDesc_t *srcEP,//源端点
 uint16 cID, //簇命令ID,对于接收方可以通过该命令来区分数据包
 uint16 len, //发送数据的长度
 uint8 *buf, //发送数据的起始地址
 uint8 *transID,//事务ID,是包计数器,用于信息确认
 uint8 options, //告知AF层做的一些预处理,一般为AF_DISCV_ROUTE
 uint8 radius )//转发数据最多经过的路由深度(AF_DEFAULT_RADIUS)
 
 typedef struct
{
  union
  {
    uint16      shortAddr;
    ZLongAddr_t extAddr;
  } addr;
  afAddrMode_t addrMode;
  uint8 endPoint;
  uint16 panId;  // used for the INTER_PAN feature
} afAddrType_t;

对于 Ztack 3.0.2 的查询未能找到直接对应的技术资料。然而,基于提供的其他软件版本特性和安装指南的信息结构,可以推测 Ztack 3.0.2 可能具备类似的文档分类方式。 ### Ztack 3.0.2 版本特性 通常情况下,新版本会引入性能改进、安全增强以及功能扩展。假设 Ztack 是一款服务器管理工具或开发框架,则其更新可能会聚焦于提高稳定性、优化资源利用效率、增加新的API接口支持等方面。 ### 安装配置 考虑到大多数应用程序的安装流程相似性,Ztack 3.0.2 的安装过程可能涉及以下几个方面: - **前置条件准备**:确认操作系统兼容性并满足最低硬件需求。 - **依赖项安装**:确保所有必要的库和服务已经正确部署到位。 - **核心组件设置**:通过命令行或者图形界面完成主要服务的初始化配置。 - **安全性调整**:定义访问控制策略,如用户认证机制和授权规则等。 ```bash # 假设这是用于启动Ztack的服务脚本示例 ./ztack start --config=/path/to/config/file.conf ``` ### 使用教程 针对初学者而言,官方应该提供了详尽的操作手册来指导如何有效地运用该平台的各项能力。这包括但不限于项目创建向导、数据模型设计建议、插件生态系统介绍等内容。 ### 更新日志 每次迭代都会记录详细的变更列表以便开发者了解具体改动之处。这些信息不仅有助于排查问题也方便社区成员参与贡献代码审查工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值