#author("2019-10-29T14:53:51+08:00","default:Admin","Admin") ZigBee

※This article is based on ZigBee Stack 2.51.a

针对ZigBee模块现有的数据发送方式,主要是Zigbee的单播和广播两种方式。

广播方式

&ref(): File not found: "ZigBee_广播.png" at page "+ZigBee+广播";

点播(Unicast)

顾名思义就是点对点通信,也就是 2 个设备之间的通讯,不容许有第三个设备收到信息。

在单播方式下,数据由源设备发出,直接或者经过几级中转后,发送至目的地址。加入zigbee网络的所有设备之间都可以进行单播传输。具体路由关系由协调节点/路由节点进行维护、查询。

做一个点对点的通信,向协调器发数据,则dstAddr应该这样实例化:

afAddrType_t Point_To_Point_DstAddr;//点对点通信
Point_To_Point_DstAddr.addrMode = (afAddrMode_t)afAddr16Bit;//点播
Point_To_Point_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
Point_To_Point_DstAddr.addr.shortAddr = 0x0000;//发送给协调器,0x0000是协调器的地址

要使协调器向子节点发送数据,只需要知道子节点的地址即可。

组播

就是把网络中的节点分组,每一个组员发出的信息只有相同组号的组员才能收到。

广播(broadcast)

发送模块发出数据,这个网络里面所有节点都可以收到数据。“广播”可以理解为一个人通过广播喇叭对在场的全体说话,这样做的好处是效率高,信息一下子就可以传递给所有人。

在广播方式下,数据由一个设备发送信息直接或者经过路由中转,发送到整个zigbee网络的所有设备,其目标地址使用16进账的FFFF。在为那的设备中只有协调器才支持广播方式。

afAddrType_t Point_To_Point_DstAddr;
Point_To_Point_DstAddr.addrMode = (afAddrMode_t)afAddrBroadcast;//广播
Point_To_Point_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
Point_To_Point_DstAddr.addr.shortAddr = //下面
  • NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)

数据包将被传送到网络上的所有设备,包括睡眠中的设备。对于睡眠中的设备,数据包将被保留在其父亲节点直到查询到它,或者消息超时(NWK_INDIRECT_MSG_TIMEOUT 在f8wConifg.cfg 中)。

  • NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)

数据包将被传送到网络上的所有在空闲时打开接收的设备(RXONWHENIDLE),也就是说,除了睡眠中的所有设备。

  • NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)

数据包发送给所有的路由器,包括协调器。

优缺点

采用16bit网络地址可以降低功耗问题。

如果采用64bit IEEE地址发送数据,首先其数据发送的最佳路径难以求得,势必会增加多次发送的功耗

其二 如果该数据接收设备离开网络(当机),发送之时也就不知道。

采用网络地址发送数据,可以采用路由算法 找到最佳路径减其功耗。[摘自fjxsos]

协议栈介绍

通过AF_DataRequest函数发送下面的struct

typedef struct
{
  union
  {
    uint16      shortAddr;
    ZLongAddr_t extAddr;
  } addr;
  byte addrMode;
} zAddrType_t;

目的地址模式可以设置为以下的几个值:

typedef enum
{
  afAddrNotPresent = AddrNotPresent,
  afAddr16Bit      = Addr16Bit,
  afAddr64Bit      = Addr64Bit,
  afAddrGroup      = AddrGroup,
  afAddrBroadcast  = AddrBroadcast
} afAddrMode_t;


★月額105円~/容量最大30GB/機能満載! ロリポップ!レンタルサーバー ★

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:45:07 (1627d)

G|Cg|C@Amazon Yahoo yV

z[y[W yVoC[UNLIMITȂ1~] COiq COsیI