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

AOA 多设备连接问题

有一下几个问题请教一下:

1.按照BLE5.1中关于AOA的方式,应该有两种模式,一种是广播模式,一种是连接模式。请问现在的例程里是连接模式的吗?

2.实际测试,当发完RTLS_CMD_CONNECT指令之后,需要等待5-10秒的时间,才会回复连接成功。这个比蓝牙连接的时间要的多。

[18:25:34.652]发→◇FE 09 00 39 03 00 8D 07 75 03 EE 04 90 01 B4 □
[18:25:34.704]收←◆FE 01 00 79 03 00 7B[18:25:34.790]收←◆FE 1B 00 59 02 00 00 68 AE BA 08 20 03 07 00 00 07 FF FF FF FF 1F 97 06 3D 00 8D 07 75 03 EE 04 B2[18:25:40.282]收←◆FE 03 00 59 03 00 00 00 59

3.我们现在测试,同时连接6台设备的情况下,并让设备一直输出IQ数据,过一段时间之后蓝牙设备会死机。实测2台设备的情况下不会。这个有可能是哪个方便原因。python相应的配置如下:

connect_interval_mSec = 500

rtlsUtil.aoa_start(cte_length=20, cte_interval=0)
Viki Shi:

1、是连接模式
2、每个节点都需要这么长时间吗?
3、怀疑是处理能力的原因,虽然测试可以同时测量8个AOA 从机,但由于实际应用不同,有可能出现处理不过来的情况

wenjian zhao:

回复 Viki Shi:

1.请问现在的广播模式,是否已经有实现的例程?
2.是的,每个节点在都至少需要5秒的时间。虽然可以同时发送多个设备的RTLS_CMD_CONNECT,和RTLS_CMD_SET_PARAMTERS,RTLS_CMD_ENABLE命令,但每个设备至少要收到FE 03 00 59 03 00 00 00 59命令后才可以突出IQ数据。
3.关于debug找原因,有没有比较完整的指导文章。

补充:
现在想实现多设备的测量。由于2的情况RTLS_CMD_CONNECT时间特别长,通过多设备之间的切换时间就太长了。有没有什么办法可以实现长期稳定的多设备测量?广播模式是不是会更好?

Viki Shi:

回复 wenjian zhao:

目前没有广播模式的例程,多设备的稳定性可能还需要自行完善代码,一个建议是减少数据收发量,避免多设备同时发数据。AOA例程毕竟只是一个功能展示,实际应用肯定要改进的

wenjian zhao:

回复 Viki Shi:

好的。那再请教一下,第2点的情况,连接的回复确认,为什么需要这么长的时间?中间做了哪些工作?可不可以简化?蓝牙的连接应该是不需要这么长时间的。

Viki Shi:

回复 wenjian zhao:

请问你有没有改过例程?例程不需要这么长的时间,log信息如下:

[2020-11-04 15:58:54,948] serialnode – DEBUG – >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_CONNECT, data=00:B2:BA:EE:B0:6F:80:50:00)[2020-11-04 15:58:54,948] serialnode – DEBUG – >>> FE:09:00:39:03:00:B2:BA:EE:B0:6F:80:50:00:DA[2020-11-04 15:58:55,004] serialnode – DEBUG – <<< FE:01:00:79:03:00:7B[2020-11-04 15:58:55,004] serialnode – DEBUG – <<< [2020-11-04 15:58:55,004] serialnode – DEBUG – <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_CONNECT, data=00)[2020-11-04 15:58:55,004] serialnode – DEBUG – <<< [2020-11-04 15:58:55,004] rtlsnode – DEBUG – Have 0 subscribers for UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_CONNECT, data=00)[2020-11-04 15:58:55,004] root – INFO – MASTER : 80:6F:B0:1E:3A:34 –> {'type': 'Response', 'command': 'RTLS_CMD_CONNECT', 'payload': {'status': 'RTLS_SUCCESS'}}[2020-11-04 15:58:55,004] asyncio – DEBUG – poll 9125.000 ms took 156.000 ms: 1 events[2020-11-04 15:58:55,020] websockets.protocol – DEBUG – server > Frame(fin=True, opcode=1, data=b'{"identifier": "80:6F:B0:1E:3A:34", "message": {"originator": "Nwp", "type": "SyncRsp", "subsystem": "RTLS", "command": "RTLS_CMD_CONNECT", "payload": {"status": "RTLS_SUCCESS"}}}', rsv1=False, rsv2=False, rsv3=False)[2020-11-04 15:58:55,116] serialnode – DEBUG – <<< FE:1B:00:59:02:00:00:4A:F6:93:33:A0:00:07:00:00:07:FF:FF:FF:FF:1F:FB:42:77:00:B2:BA:EE:B0:6F:80:94[2020-11-04 15:58:55,116] serialnode – DEBUG – <<< [2020-11-04 15:58:55,116] serialnode – DEBUG – <<< UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_CONN_PARAMS, data=00:00:4A:F6:93:33:A0:00:07:00:00:07:FF:FF:FF:FF:1F:FB:42:77:00:B2:BA:EE:B0:6F:80)[2020-11-04 15:58:55,116] serialnode – DEBUG – <<< [2020-11-04 15:58:55,116] rtlsnode – DEBUG – Have 0 subscribers for UNPIMessage(originator=Nwp type=AsyncReq, subsystem=RTLS, command=RTLS_CMD_CONN_PARAMS, data=00:00:4A:F6:93:33:A0:00:07:00:00:07:FF:FF:FF:FF:1F:FB:42:77:00:B2:BA:EE:B0:6F:80)[2020-11-04 15:58:55,116] rtlsnode – INFO – PASSIVE : 80:6F:B0:EE:B6:1B <– {'type': 'Command', 'command': 'RTLS_CMD_CONN_PARAMS', 'payload': {'connHandle': 0, 'accessAddress': 865334858, 'connInterval': 160, 'hopValue': 7, 'mSCA': 0, 'currChan': 7, 'chanMap': [255, 255, 255, 255, 31], 'crcInit': 7815931}}[2020-11-04 15:58:55,116] root – INFO – MASTER : 80:6F:B0:1E:3A:34 –> {'type': 'Event', 'command': 'RTLS_CMD_CONN_PARAMS', 'payload': {'connHandle': 0, 'accessAddress': 865334858, 'connInterval': 160, 'hopValue': 7, 'mSCA': 0, 'currChan': 7, 'chanMap': [255, 255, 255, 255, 31], 'crcInit': 7815931, 'peerAddr': '80:6F:B0:EE:BA:B2'}}[2020-11-04 15:58:55,116] asyncio – DEBUG – poll 8953.000 ms took 93.000 ms: 1 events[2020-11-04 15:58:55,124] websockets.protocol – DEBUG – server > Frame(fin=True, opcode=1, data=b'{"identifier": "80:6F:B0:1E:3A:34", "message": {"originator": "Nwp", "type": "AsyncReq", "subsystem": "RTLS", "command": "RTLS_CMD_CONN_PARAMS", "payload": {"connHandle": 0, "accessAddress": 865334858, "connInterval": 160, "hopValue": 7, "mSCA": 0, "currChan": 7, "chanMap": [255, 255, 255, 255, 31], "crcInit": 7815931, "peerAddr": "80:6F:B0:EE:BA:B2"}}}', rsv1=False, rsv2=False, rsv3=False)[2020-11-04 15:58:55,172] serialnode – DEBUG – >>> UNPIMessage(originator=Ap type=SyncReq, subsystem=25, command=RTLS_CMD_CONN_PARAMS, data=00:00:4A:F6:93:33:A0:00:07:00:00:07:FF:FF:FF:FF:1F:FB:42:77:00)[2020-11-04 15:58:55,172] serialnode – DEBUG – >>> FE:15:00:39:02:00:00:4A:F6:93:33:A0:00:07:00:00:07:FF:FF:FF:FF:1F:FB:42:77:00:43[2020-11-04 15:58:55,227] serialnode – DEBUG – <<< FE:01:00:79:02:00:7A[2020-11-04 15:58:55,227] serialnode – DEBUG – <<< [2020-11-04 15:58:55,227] serialnode – DEBUG – <<< UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_CONN_PARAMS, data=00)[2020-11-04 15:58:55,227] serialnode – DEBUG – <<< [2020-11-04 15:58:55,227] rtlsnode – DEBUG – Have 0 subscribers for UNPIMessage(originator=Nwp type=SyncRsp, subsystem=RTLS, command=RTLS_CMD_CONN_PARAMS, data=00)[2020-11-04 15:58:55,227] root – INFO – PASSIVE : 80:6F:B0:EE:B6:1B –> {'type': 'Response', 'command': 'RTLS_CMD_CONN_PARAMS', 'payload': {'status': 'RTLS_SUCCESS'}}[2020-11-04 15:58:55,227] asyncio – DEBUG – poll 8844.000 ms took 94.000 ms: 1 events[2020-11-04 15:58:55,227] websockets.protocol – DEBUG – server > Frame(fin=True, opcode=1, data=b'{"identifier": "80:6F:B0:EE:B6:1B", "message": {"originator": "Nwp", "type": "SyncRsp", "subsystem": "RTLS", "command": "RTLS_CMD_CONN_PARAMS", "payload": {"status": "RTLS_SUCCESS"}}}', rsv1=False, rsv2=False, rsv3=False)[2020-11-04 15:58:55,619] serialnode – DEBUG – <<< FE:03:00:59:03:00:00:00:59

wenjian zhao:

回复 Viki Shi:

我用simplelink_cc13x2_26x2_sdk_4_30_00_54这个SDK的原始例程试了一下。还是一样情况。方便的话,您测试的master和slave的hex文件发我邮箱我测试一下。zhaowenjian@px-tech.com

wenjian zhao:

回复 Viki Shi:

我用simplelink_cc13x2_26x2_sdk_4_30_00_54这个SDK的原始例程试了一下。还是一样情况。方便的话,您测试的master和slave的hex文件发我邮箱我测试一下。zhaowenjian@px-tech.com

wenjian zhao:

回复 Viki Shi:

不用了,已经确认,是connInterval这个参数也会影响连接时间,之间理解认为只是设置两次采集的时间间隔。struct = Struct('addrType' / Enum(Int8ul),'peerAddr' / NiceBytes(ReverseBytes(Byte[6])),'connInterval' / Int16ul,)

Viki Shi:

回复 wenjian zhao:

反馈已收到,我用的就是4.30的例程,应该是改参数造成的

wenjian zhao:

回复 Viki Shi:

请教下,log打印要怎么实现。我现在用的是SimpleLink™ CC26x2R LaunchPad™,上面USB的两个UART口,一个作为通讯口,另外一个可以作为log口吗?

现在参考的是这份文档dev.ti.com/…/debugging_output.html
通过配置的rtls_master.syscfg,尝试用IDE(CCS)和UART配置log打印都没有实现。

赞(0)
未经允许不得转载:TI中文支持网 » AOA 多设备连接问题
分享到: 更多 (0)