将WiMoT MAC地址转换为PIN,从C++到Python或JavaScript

2024-06-14 07:44:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在中找到了张贴在此处的以下片段:http://wiibrew.org/wiki/Wiimote#Bluetooth_Pairing

这里还有另一个代码段将地址转换为pin号码:https://www.richlynch.com/2009/11/18/permanently-pair-wiimotewii-balance-board/

它试图将任天堂wiimote的mac地址转换成蓝牙配对时请求的pin号码。在

我猜这是C或C++,但对C/C++一无所知,但我确实知道JavaScript和Python。在

我想把这段代码转换成javascript或python,这样我就可以生成一个有效的字符串在蓝牙配对过程中提示时可以输入的pin号码,甚至在我理解了这段代码的具体功能后手动输入。在

这是原来的狙击手:

Lets assume the Wiimote has the bluetooth address "00:1E:35:3B:7E:6D". If you want the PIN for bluetooth pairing in a simple string, do the following:

char pin[6];
pin[0] = 0x6D;
pin[1] = 0x7E;
pin[2] = 0x3B;
pin[3] = 0x35;
pin[4] = 0x1E;
pin[5] = 0x00;

Now "pin" contains your bluetooth pin that should be used for pairing your devices.

另一个使用函数的snippit:

^{pr2}$

现在,虽然我对C++一无所知,但我知道这是使用某种(反向)6字节数组,当我使用这个示例中的MAC地址运行这个代码时更换它确实产生了一个人类可读的4字符字符串,可以作为蓝牙Pin输入:

m~;5

但是,当我用我的实际mac地址替换原来的mac地址时,它会生成不可读的字符,而且在我看来,这段代码实际上无法工作,而且上面的原始海报一定遗漏了一些内容wiibrew.org网站. 在

这是使用我的实际MAC地址:

  char xpin[6];
  xpin[0] = 0x03;
  xpin[1] = 0xF4;
  xpin[2] = 0xB9;
  xpin[3] = 0x6E;
  xpin[4] = 0xAE;
  xpin[5] = 0xB8;
  printf(xpin);

这是结果,其中包括无法打印的字符,当提示为有效的蓝牙PIN码时,这些字符肯定无法输入:

��n�� @ 

有人能解释一下这一点吗,因为我不可能理解所提供的代码是如何创建一个人类可读的字符串,可以用作蓝牙的pin码??在

最终,我希望用Javascript或Python编写代码,但即使能够手动执行此操作并从mac地址生成有效的字符串也会有所帮助。在


Tags: the字符串代码orgmac地址pin手动