您好!
在信标网络中、一些设备由线路供电、而另一些设备则处于休眠状态。 现在、当加入器件时、收集器会正确处理 器件的 RxOnIdle 状态、因此我可以直接发送消息、而不是等待信标。
现在、当我更改器件上的 rxOnIdle 时、该值不会反映在收集器上、即使在重新引导器件后也不会反映。 如何通知网关器件的 rxOnIdle 状态已更改?
我尝试为 ApiMac_associateIndMp_t 添加回调、因为设备在引导后发送了一个关联请求、但没有在收集器中调用它。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
在信标网络中、一些设备由线路供电、而另一些设备则处于休眠状态。 现在、当加入器件时、收集器会正确处理 器件的 RxOnIdle 状态、因此我可以直接发送消息、而不是等待信标。
现在、当我更改器件上的 rxOnIdle 时、该值不会反映在收集器上、即使在重新引导器件后也不会反映。 如何通知网关器件的 rxOnIdle 状态已更改?
我尝试为 ApiMac_associateIndMp_t 添加回调、因为设备在引导后发送了一个关联请求、但没有在收集器中调用它。
尊敬的 Marijn:
执行 collector_init 时、仅调用 ApiMac_associateIndMp_t 进行初始化
为延误道歉。 我看了代码、初始化后似乎无法将器件的正确状态更新到收集器。 但是、我可以选择一个可能有效的解决方案。 assocIndCb()函数(在 cllc.c 中)从 位于 rxOnWhenIdle 中的传感器接收能力信息。 在 assocIndCb 函数中,通过使用 maintainAssocTable()函数将能力信息存储在收集器上。 assocIndCb 检查设备是否已存在、即设备是否正在重新连接。 您需要设置这行代码:
//更新能力信息
maintainAssocTable (&DevInfo,&pData->capabilityInformation,1,0,0,
CLLC_Maintenance_Assoc_table_update);"
在第1660行(在 cllc.c 中)的 assocIndCb 函数下。
在 maintainAssocTable()函数中, 当模式为"cllc_maintene_assoc_table_update"时,在"pItem->RSSI = RSSI;"和"pItem->STATUS = STATUS;"下添加" memcpy (&pItem->Capitem -> Capinfo、sizeof (ApiMac_capabilityInfo_t););"。
在传感器端、您需要发送一条包含能力信息的消息、类型为"ApiMac_mlmeAssociateInd_t"。
此致、
马尔文