当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > zigbee简单的点对点通信流程
zigbee简单的点对点通信流程
时间:2016-12-12作者:华清远见

近几年物联网技术得到了快速发展,与之相关的RFID,无线传感网络等技术也得到快速发展,在无线网络里zigbee是重要的组成部分,但是由于zigbee的协议栈是半开源的所以使用有一些难点,还有就是zigbee网络组建,绑定时的数据传来传去的,很麻烦!今天我们就讲一个,简单的zigbee点对点的通信例子;其实我们只需要关系这几个数据就可以了;节点描述符endPointDesc_t,簇描述符cId_t,简单设备描述符SimpleDescriptionFormat_t;

看这几个变量的初始化,
        const cId_t GenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS] =
        {
                GENERICAPP_CLUSTERID
        };
        endPointDesc_t GenericApp_epDesc;
        GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT; //10
        GenericApp_epDesc.task_id = &GenericApp_TaskID;
        GenericApp_epDesc.simpleDesc =(SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;
        GenericApp_epDesc.latencyReq = noLatencyReqs;

初始化的宏都是协议栈早已定义好的。

然后afRegister(&GenericApp_epDesc);注册节点就可以了。

后发送数据

afAddrType_t GenericApp_DstAddr;
        GenericApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
        GenericApp_DstAddr.endPoint = GENERICAPP_ENDPOINT;
        GenericApp_DstAddr.addr.shortAddr = 0x0000;
        if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
                        GENERICAPP_CLUSTERID,
                        (byte)osal_strlen( theMessageData ) + 1,
                        (byte *)&theMessageData,
                        &GenericApp_TransID,
                        AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)