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.

[参考译文] CC2650:在 RemoTI 2.00.01.15中使用代理绑定

Guru**** 2587345 points


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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/633185/cc2650-using-proxy-binding-in-remoti-2-00-01-15

器件型号:CC2650

大家好、感谢您花时间阅读此帖子。

我正在根据包含1个收件人和2个汇款人的 RNP 项目处理我的项目。 一个外部 MCU 正在使用 UART 接口(NPI 帧)来通信/控制 RNP。 节点的 MAC 地址 可以在带外共享。

下面是我使用 UART 从 MCU 发送到 RNP 的操作:

在收件人端、

0xFE 0x04 0x00 0x2A 0x21 0x00 0x00 0xE8 0x01 0xE6 (读取 GDP 绑定电容器、返回0x01、即按钮+验证)

0xFE 0x05 0x00 0x2A 0x22 0x00 0x00 0xE8 0x01 0x00 0xE4 (使用 0x00写入 GDP 绑定电容、只需按下按钮即可、希望跳过验证或只是降低复杂性)

0xFE 0x0E 0x00 0x2A 0x22 0x00 0x00 0xE4 0x0A <8字节 MAC><2字节 PAN> 0xD0 (写入代理绑定信息、返回0xFE 0x01 0x00 0x6A 0x22 0x00 0x49、状态0x00、成功)

0xFE 0x00 0x00 0x4A 0x31 0x7B (发送允许绑定)

在发起方端、

0xFE 0x0E 0x00 0x2A 0x22 0x00 0x00 0xE4 0x0A <8字节 MAC><2字节 PAN> 0xD0 (写入代理绑定信息、返回0xFE 0x01 0x00 0x6A 0x22 0x00 0x49、状态0x00、成功)

0xFE 0x01 0x00 0x4A 0x30 0x01 0x7A (已发送开始绑定)

然后、在监听器中、我可以看到来自发起方的配对请求消息、以及来自收件人的配对响应。 但是、不会形成对

收件人返回:0xFE 0x02 0x00 0x4A 0x32 0xB4 0xFF 0x31 (我认为返回的状态为0xB4、即 RTI_ERROR_INT_LEVENTIFICAL)

发起方返回:0xFE 0x02 0x00 0x4A 0x30 0x54 0xFF 0xD3 (返回的状态为0x54、即 RTI_ERROR_BICK_TIMEOUT)

我错过了什么? 欢迎提出任何建议和建议。 再次感谢您花时间阅读此帖子。

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

    我在 RNP 应用程序中进行了深入探讨,如果 gdpBrState != NULL,您只能通过植入者上的 RTI_ERROR_NOT_LEVED 获得 RTI_AllowBindReq();这意味着 GDP 配置文件可能处于发现(或配对)状态。 从您提供的日志中、我无法真正判断它的状态。 您是否在 RTI_AllowBindReq()之前执行了任何发现? 是否在 RTI_InitReq()之后将任何其他 NPI 命令发送到 RNP?

    此外,收件人和组织器上 RTI_WriteItem()调用的 CRC 值是相同的。 这似乎很愚蠢、但您能否验证您是否可以相互发送 MAC 地址而不是同一个地址?

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

    您好、Tom、

    非常感谢您的回复。

    请在下面找到您的问题的答案:

    您能否验证是否可以相互发送 MAC 地址而不是同一个地址? 是的、我已验证、MAC 是不同的、实际上 CRC 也是不同的、一个是0xC1、一个是0xD0。 创建要发布的日志时、我刚刚使用了剪贴板中的相同信息。

    您是否在 RTI_AllowBindReq()之前执行了任何发现? 否、我没有执行任何发现。

    是否在 RTI_InitReq()之后将任何其他 NPI 命令发送到 RNP? 连同上述问题、以下是我在启动时创建的用户线程中所做的工作。 请告诉我是否有任何步骤不需要、不需要、甚至是错误的。 谢谢!

    收件人端,pData 的内容:

    写入节点功能- RTI_SYNC_REQ、 RTI_CMD_WRITE_ITEM、 {0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_NODE_Capabilities、 0x01、0x0F}

    写入应用器件类型列表 -{0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_APPL_DEV_TYPE_LIST、0x03、0x09、 0x09、0x00}

    写入节点支持的目标类型 -{0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_NODE_SUPPORTED_TGT_Types、0x06、0xFF、 0x00、0x00、0x00、0x00、0x00}

    写入应用程序功能 -{0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_APPL_Capabilities、0x01、0x25}

    写入配置文件 ID 列表 -{0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_APPL_PROFILE_ID_LIST、0x02、RTI_PROFILE_GDP、 RTI_PROFILE_ZRC}

    写入供应商 ID -{0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_VENDOOR_ID、0x02、0x07、 0x00}

    写入供应商名称 -{0x00、RTI_PROFILE_RTI、RTI_CP_item_vender_name、0x07、0x54、 0x49、0x20、0x49、0x6E、0x63、 0x00}

    写入用户字符串-{0x00、RTI_PROFILE_RTI、RTI_SA_ITEM_USER_STRING、0x0F、0x4D、 0x69、0x7A、0x75、0x68、0x6f、 0x20、0x4F、0x53、0x49、0x00、 0x00、0x00、0x00、0x00}

    (可能我不需要这个、因为 PAN 是随机生成的?) 读取然后写入 PAN -  

    (可能我不需要这样做、因为短地址是在代理绑定时生成的?)  写入此节点的短地址-

    RTI_InitReq ()- RTI_ASYNC_REQ、 RTI_CMD_INIT_REQ

    写入恢复、 启动控制恢复- RTI_SYNC_REQ、 RTI_CMD_WRITE_ITEM、 {0x00、RTI_PROFILE_RTI、RTI_CP_ITEM_STARTUP_CTRL、 0x01、0x00}

    关闭待机模式- RTI_ASYNC_REQ、 RTI_CMD_STANDBY_REQ、0x00

    启用通道敏捷性- RTI_SYNC_REQ、 RTI_CMD_WRITE_ITEM、 {0x00、RTI_PROFILE_RTI、RCN_NIB_REAGEMENT_ENABLE、 0x01、0x00}