Конвертировать MAC-адрес Wiimote в PIN из C ++ в Python или Javascript

В нашли следующий фрагмент, размещенный здесь: http://wiibrew.org/wiki/Wiimote#Bluetooth_Pairing

Здесь также есть другой фрагмент кода для преобразования адреса в пин-код: https://www.richlynch.com/2009/11/18/permanently-pair-wiimotewii-balance-board/

То, что он пытается сделать, — это преобразовать mac-адрес wintendo nintendo в пин-код, который запрашивается во время сопряжения bluetooth.

Я предполагаю, что это C или C ++, но ничего не знаю о C / C ++, но я знаю javascript и python.

Я хотел бы преобразовать этот код в JavaScript или Python, чтобы я мог сгенерировать действительный STRING номер пин-кода, который можно ввести при появлении запроса при сопряжении Bluetooth или даже сделать это вручную, как только я пойму, что именно делает этот код

Это оригинальный фрагмент:

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.

Еще один фрагмент с использованием функции:

_TCHAR * FormatBTAddress(BLUETOOTH_ADDRESS address)
{
static _TCHAR ret[20];
_stprintf(ret, _T("%02x:%02x:%02x:%02x:%02x:%02x"),
address.rgBytes[5],
address.rgBytes[4],
address.rgBytes[3],
address.rgBytes[2],
address.rgBytes[1],
address.rgBytes[0]
);
return ret;
}

Теперь, хотя я ничего не знаю о C ++, я знаю, что он использует какой-то (обращенный) 6-байтовый массив, и когда я запускаю этот код, используя MAC-адрес в примере на repl.it, он действительно производит то, что кажется человеком 4-символьная читаемая строка, которую можно ввести как пин-код Bluetooth:

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-кода Bluetooth:

��n�� @

Кто-нибудь может пролить свет на это, так как я не могу понять, каким образом предоставленный код может создать читаемую человеком строку, которая может быть использована в качестве номера контакта Bluetooth?

В конечном счете, я хотел бы написать это в Javascript или Python, но даже возможность сделать это вручную и сгенерировать допустимые строки из адресов MAC была бы полезной.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]