我试图找出是否有一种有效的方法来找出rf24无线电的管道地址。为了使两个无线电通信,它们必须位于同一信道上,并且具有相同的读取和写入管道地址。

我现在能想到的唯一方法是使用蛮力,消除搜索次数的最简单方法是至少了解无线电频道-我认为这是最简单的部分。理论上(我猜),我可以将“搜索”广播设置为正确的频道,将其设置为“仅收听”,然后再尝试一个地址。但这效率很低,因为地址可以是任何40位十六进制值。因此,这里有2 ^ 40个可能的密钥-我不想一次花费2个星期来尝试查找“收听”地址。

有没有更好的办法?是否有办法将信号发送到通道并获得该通道上的所有管道地址?基本上除了我的方法。

编辑1:

我想知道是否有一种方法可以修改像这样的扫描器:https://github.com/TMRh20/RF24/blob/master/examples/scanner/scanner.ino,以便它捕获给定通道的所有“可见”数据包,然后找出地址。根据nRF24L01(+)规范,“数据包包含前同步码,地址,数据包控制,有效负载和CRC字段”。这会将可能的地址数量缩小到很少。

最佳答案

或者,您可以执行以下操作:

尽管设备/节点地址指定为5字节eq。 40位,您可以仅指定第一个字节。在这种情况下,剩余的4个字节成为有效负载的一部分。

然后,您只需要听256个键(2 ^ 8),而不是2 ^ 40。

07-24 09:45
查看更多