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.

[参考译文] CC1352P:如何在非信标模式下替换15.4网络中的收集器?

Guru**** 2390735 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1407445/cc1352p-how-to-replace-collector-in-a-15-4-network-in-non-beacon-mode

器件型号:CC1352P

工具与软件:

您好!

我们之前在 TI-15.4网络中的无线电中观察到一些怪异行为、这些行为最终缩小至以下用例:在非信标模式下替换现有15.4网络中的收集器。

到目前为止、如果我们只需关闭现有收集器、然后打开具有相同网络参数(panId、加密密钥、信道掩码)的另一个收集器对讲机、所有传感器节点都将尝试重新加入网络并成功。 问题是、尽管以下函数返回的状态代码指示 ApiMac_STATUS_SUCCESS = 0、但收集器不会接收到传感器节点发送的任何数据。

/*!
 * @brief      MAC Data Confirm callback.
 *
 * @param      pDataCnf - pointer to the data confirm information
 */
static void dataCnfCB(ApiMac_mcpsDataCnf_t *pDataCnf)

我的问题是:在收集器上、是否有办法以不同方式处理传感器重新加入请求、以避免这种情况?  如果传感器不在设备列表中、则拒绝重新加入请求或将重新加入请求视为加入。 我可以在收集器项目中找到的最相关的代码如下:

// cllc.c
/*!
 * @brief       Handle Cllc associate indication callback
 *
 * @param       pData - pointer to Associate Indication structure
 * Set the correct status of the device to determine whether or not it can join.
 */
static void assocIndCb(ApiMac_mlmeAssociateInd_t *pData)

但对我来说、如何调整这部分代码并不明显、因此请提供建议。

谢谢!

ZL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、致勇、

    关于开关集电极、本应用手册触及这一主题。 请参阅第6章。

    https://www.ti.com/lit/swra734

    谢谢、

    Marie H.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marie:

    感谢指针、我在一段时间前偶然发现了该应用手册。

    遗憾的是、我的用例有所不同。 实际上、旧网关已关闭、并且具有相同 panId、加密密钥和信道掩码的新网关会立即启动。 发生这种情况时、所有传感器节点都可以很快重新加入新收集器启动的网络。 问题是、传感器节点发送的所有数据似乎都成功发送到收集器、但新收集器将静默地丢弃数据、而不输出到外部 MCU。

    我想我尝试理解并解决的根本问题是、为什么发送到新收集器的数据会被新收集器无声丢弃。 我尝试了修改函数来处理来自传感器的传入数据、以便弄清发生了什么情况。 但未观察到以下修改后的函数的调试输出、因为在传感器不断向新收集器发送数据时、从未调用该函数。

    /*!
     * @brief      MAC Data Indication callback.
     *
     * @param      pDataInd - pointer to the data indication information
     */
    static void dataIndCB(ApiMac_mcpsDataInd_t *pDataInd)

    请告知并谢谢。

    ZL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、致勇、

    一般来说,我建议您在交换收集器时使用不同的 PAN ID。

    在 TI 15.4-Stack 中、我们有一个帧计数器、这是 IEEE 802.15.4规范的一部分。 如果您使用 FEATURE_MAC_SECURITY 定义、则应用此选项。  如果这不同步、收集器将丢弃数据包(假定为重放攻击)。

    您可以在交换收集器时在传感器侧进行测试复位。 如果您搜索 framecounter、则可以在 jdllc.c 中找到相关代码。

    谢谢、

    Marie H.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marie:

    感谢您的解释。 如果帧计数器是规格的一部分、则我认为无法轻松地对其进行编码。 由于各种原因、例如安装收集器的网关发生故障、我们确实需要换用新的收集器。 在所有传感器节点上更改 panId 等非常不方便。 我们会以其他方式处理这个问题。 我只是希望这个过程能够无缝。

    此致!

    ZL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、致勇、

    您可以禁用  FEATURE_MAC_SECURITY 定义并测试其是否起作用。

    谢谢、

    Marie H.