TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1312R7: 关于替代py-spinel的方案实现

Part Number:CC1312R7Other Parts Discussed in Thread:SYSCONFIG

亲爱的TI工程师,您好:

最近仔细查看了基于Wisun-fan SDK中的工程代码,搭建了py-spinel工具的使用环境,发现一切正常,并且py-spinel的脚本命令是结合工程(例如:ns_br_src)的ncp_base_mtd.cpp文件中调取其他函数实现的。

现在我想通过某些串口助手上位机替代py-spinel工具使用,在工程中通过识别串口的字符串来执行相应动作。

我已经做了类似于py-spinel工具的ncpversion, role, routerstate, 等参数获取功能。但任然有一些指令我不知道如何调取函数实现,例如ping 指令,或者一些数据发送指令。

我想要达到的目的是:在BR 或 Router中,通过串口输入字符串:“udp + dest_addr + data”,可以将data发送到对应的节点中

Yolande Wang:

您好,

建议您检查 ti_sisunfan 项目的文档以及在源码中搜索关键字试试。例如 ping, command, addr 等。

另外您可以尝试先运行demo,了解项目里是否已经实现了您想要实现的函数功能并调试。

,

Feng Bill:

hi Yolande:

我按照您的指示尝试搜索,但很抱歉我没有在ncp_base_mtd.cpp中搜索到关于ping指令的相关操作函数,我调试仿真了程序ns_br_src,发现用py-spinel工具输入ping指令会调用HandleDatagramFromStack()这个函数(如下图所示),但是这是开启了NCP功能时调取的,假设我没有开启NCP功能,边界路由器(br)会调用哪个函数发送数据到路由器节点?

据我了解在ns_coap_node中,路由器节点作为服务端可以用coap_service_request_send()函数进行数据发送,那么边界路由器作为客户端也可以使用coap_service_request_send这个函数发送数据吗

,

Yolande Wang:

您好,

由于您想创建工具替代 py-spinel ,我将咨询更加了解此例程的工程师,我已将您的问题升级到E2E论坛,有进展立即回复您。

,

Feng Bill:

好的谢谢您,期待您的回复!

,

Yolande Wang:

不客气

,

Yolande Wang:

您好,

我们有一种可用的 pyspinel 替代方案:wfantund 网络守护进程,您可以在 github 上找到它:(这个使用相同的 ns_br 十六进制文件)

https://github.com/TexasInstruments/ti-wisunfantund

不太明白你所说的“NCP功能未打开”是什么意思,我们只支持NCP模式下的BR。

您是否看过我们关于如何使用 CoAP 消息传递的 SimpleLink Academy 模块?详细介绍了任务3中如何从RN向BR发送数据。

https://dev.ti.com/tirex/explore/node?node=A__Ab5oYpAuOfLVRwkotwJZNQ__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST&placeholder=true

希望能够帮助到您。

,

Feng Bill:

非常感谢您的建议,但在此之前,我已经完成了您说的“使用 CoAP 消息传递的 SimpleLink Academy 模块?详细介绍了任务3中如何从RN向BR发送数据。”,我现在的疑惑是,怎样利用边界路由器节点(BR)发送我想要发送的任何数据到我指定的路由器节点(RN)上,例如我想从BR节点发送“Hello world”数据 到 连接到BR节点网络的某一个RN节点上?

,

Yolande Wang:

正在跟进您的问题,有进展立即回复您。

,

Yolande Wang:

从 BR 向 RN 发送数据包含在 Task 2 of the SLA I linked.。它使用 LED 资源,但您可以将类型从二进制切换为字符串以发送“Hello world”消息。

,

Feng Bill:

hi Yolande,感谢您对我的问题的跟进,您可以回复您所说的这个链接吗?抱歉我没有找到你的图片中的这个位置

,

Yolande Wang:

Hi Feng,

回复里的链接是:https://dev.ti.com/tirex/explore/node?node=A__Ab5oYpAuOfLVRwkotwJZNQ__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST&placeholder=true

另外,这个是英文论坛的链接,您可以看看:https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1308408/cc1312r7-about-the-implementation-of-the-alternative-to-py-spinel

,

Feng Bill:

好的,这将对我是很大的帮助,谢谢你Yolande

,

Yolande Wang:

不客气,能帮助到您就好。

如有需要,您也可以在英文论坛跟进问题,工程师会回复的。

,

Yolande Wang:

Hi Bill,

您的问题解决了吗?

如果没有,可以反馈一下您现在的问题吗?我再帮您寻找其他解决办法。

,

Feng Bill:

Hi Yolande,感谢您的问候

目前,节点与节点之间的通信我暂时采用的是UDP通信模式,我还想问两个问题:

1、使用UDP通信模式时,我发现:在用边界路由节点将其他节点组成网络后,将边界路由节点掉电停止工作,其他节点任然可以用UDP模式互相通信,这是否可以说明UDP通信模式不需要依赖于边界路由节点的存在?

2、关于路由表的更新:我发现在组网成功后,断开某一节点,在路由节点或其他节点中显示的路由表任然存在断开的节点信息,路由表未更新,我相知道可以用工程的哪个参数可以实时更新当前路由表的信息吗?

,

Yolande Wang:

明白您的需求,正在跟进您的问题,请等候一下。

,

Yolande Wang:

Hi Bill,

1. 如果某些设备断电,网络将使用替代路由。

2.设备关闭电源后,需要相当长的时间才会被视为“断开连接”。超时时间约为 15 分钟。 

在下一个 SimpleLink F2 SDK(版本 7.40,预计于二月底发布)中,我们添加了一个 SysConfig 选项来缩短这个时间。 

我不确定这是否能解决您的问题。

,

Feng Bill:

Hi Yolande,谢谢您的回复

对于问题1,我之前是参考的这篇文章:https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1067601/lp-cc1352p7-wi-sun-router-node-point-to-point-communication,

我看到技术工程师说到:“对于设备之间有多个跳点,通信需要通过BR。”结合我的现状,成功将设备组网后,将BR节点断开连接,剩下的节点任然可以通过UDP方式互相通信。因此我想问的是,如果网络中的设备使用UDP通信,通信是否可以不通过BR?

,

Yolande Wang:

好的,问题关键在于网络中的设备使用UDP通信,通信是否可以不通过BR?

我已同步过去,有进展回复您。

,

Yolande Wang:

您好,

您可以直接点击此链接查看E2E的回复,这样可以省去转述的时间和避免一些理解上的问题。

,

Feng Bill:

好的,辛苦你了Yolande,我现在直接可以在英文论坛与工程师直接交流,谢谢你对于我的帮助

,

Yolande Wang:

好的,不客气。

我会继续帮您跟进问题。

赞(0)
未经允许不得转载:TI中文支持网 » CC1312R7: 关于替代py-spinel的方案实现
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1