#define SAMPLEAPP_ENDPOINT 20
// Setup for the periodic message‘s destination address // Broadcast to everyone SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast; SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF; // Setup for the flash command‘s destination address - Group 1 SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup; SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP; // 点对点通讯定义 Point_To_Point_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //点播 Point_To_Point_DstAddr.endPoint = SAMPLEAPP_ENDPOINT; Point_To_Point_DstAddr.addr.shortAddr = 0x0000;//发给协调器
zigbee中广播、组播、点播,为什么都需要一个SAMPLEAPP_ENDPOINT呢?也就是EndPoint(网上称之为“端点”)。
就好像你需要通过以太网发送一个“信息”给另外一台电脑,只需要通过IP地址就可以找到那台电脑,但如果仅仅是这样的话,这个“消息”只知道了要发到哪台电脑去,但是并不知道具体要由电脑上的哪个应用程序来接收这个“消息”,所以要识别出由哪个应用程序来接收这个消息就必须再加上“其他的识别信息”。在Zigbee中这个“其他的识别信息”就是“端点”,通过端点就可以知道具体是哪个应用来接收这个消息。
个人理解,Zigbee中端点都是通过编程者设定来给具体的端点意义的,比如:端点20代表所有终端的LED这个应用,端点21代表所有终端的温度这个应用。
时间: 2024-09-28 17:50:30