далее... ключи.
надо максимально просто и безопасно передать ключи (несколько десятков байт) из телефона в мк.
возможные варианты:
1. По звуковому кабелю.
Спойлер

Добавлено after 19 minutes 50 seconds:2. подключить микрофон.
Спойлер

3. RFID...
Спойлер

4. фототранзистор... ))
Спойлер

Спойлер

5. подключить программатор ... ))
Спойлер

и Zflasher...
Спойлер

6. Физический ключ...
Спойлер

Добавлено after 25 minutes 54 seconds:попробуем вариант 1.
сделаем звук в браузере...
Спойлер
Код:
function beep() {
var snd = new Audio("data:audio/wav;base64,//uQRAAAAW...");
snd.play();
}
beep();
берём формат wav...
Спойлер
Код:
/////////////////////////////////////////////////////////////// Data = 126.252 -8
///////////////////////// RIFF (4 байт)
wav_int[0] = 0x52; // R
wav_int[1] = 0x49; // I
wav_int[2] = 0x46; // F
wav_int[3] = 0x46; // F
///////////////////////// Data Size (4 байт) 00 01 ED 24 = 126.244
wav_int[4] = 0x24; //
wav_int[5] = 0xED; //
wav_int[6] = 0x01; //
wav_int[7] = 0x00; //
/////////////////////////////////////////////////////////////// Data = 126.244 -32
///////////////////////// WAVE (4 байт)
wav_int[8] = 0x57; // W
wav_int[9] = 0x41; // A
wav_int[10] = 0x56; // V
wav_int[11] = 0x45; // E
///////////////////////// секция формата ("fmt") (4 байт)
wav_int[12] = 0x66; // f
wav_int[13] = 0x6D; // m
wav_int[14] = 0x74; // t
wav_int[15] = 0x20; //
///////////////////////// Data Size (4 байт)
wav_int[16] = 0x10; //
wav_int[17] = 0x00; //
wav_int[18] = 0x00; //
wav_int[19] = 0x00; //
///////////////////////// Код сжатия (Compression Code) 1 - 65,535 (2 байт) 1 = PCM/uncompressed
wav_int[20] = 0x01; // PCM/uncompressed
wav_int[21] = 0x00; //
///////////////////////// Количество каналов (Number of Channels) 1 - 65,535 (2 байт) 1 моно, 2 стерео
wav_int[22] = 0x01; // 1 mono // 2 стерео
wav_int[23] = 0x00; //
///////////////////////// Скорость выборок (Sample Rate) 1 - 0xFFFFFFFF (4 байт) 1F 40 = 8000
wav_int[24] = 0x40; //0x40 8000 семпл в секунду
wav_int[25] = 0x1F; //0x1F 8000 семпл в секунду
wav_int[26] = 0x00; //
wav_int[27] = 0x00; //
///////////////////////// Среднее количество байт в секунду (Average Bytes Per Second) 1 - 0xFFFFFFFF (4 байт) 3E 80 = 16000
wav_int[28] = 0x40; //0x40 8000 //0x80 16000 байт в секунду
wav_int[29] = 0x1F; //0x1F 8000 //0x3E 16000 байт в секунду
wav_int[30] = 0x00; //
wav_int[31] = 0x00; //
///////////////////////// Количество байт на одну выборку (Block Align) 1 - 65,535 (2 байт)
wav_int[32] = 0x01; //0x01 1 bytes/frame //0x02 2 bytes/frame
wav_int[33] = 0x00; //
///////////////////////// Количество бит на выборку (Significant Bits Per Sample) 1 - 65,535 (2 байт)
wav_int[34] = 0x08; //0x08 8 бит на выборку //0x10 16 бит на выборку
wav_int[35] = 0x00; //
///////////////////////// Секция данных ("data")
wav_int[36] = 0x64; // d
wav_int[37] = 0x61; // a
wav_int[38] = 0x74; // t
wav_int[39] = 0x61; // a
///////////////////////// dword 01 ED 00 = 126.208
wav_int[40] = 0x00; //
wav_int[41] = 0xED; //
wav_int[42] = 0x01; //
wav_int[43] = 0x00; //
/////////////////////////////////////////////////////////////// Data = 126.208
///////////////////////// Data...
надо закодировать его в base64...
Спойлер

проверяем...
Спойлер

Спойлер

пока не идеально... почему у нас импульсы "смазаны" ? всё дело в резонансе динамика телефона...
проверим... подключим ГСС...
Спойлер

видим два резонанса...
можем даже добротность посчитать))
Спойлер

значит надо переделать меандр в синус...
Спойлер

ну вот... уже лучше))
только передавать импульсами мы все равно не можем... добротность мешает.
Добавлено after 4 minutes 40 seconds:попробуем двухтоналкой... синусом... 2 кГц и 4 кГц...
Спойлер

не получается... резонанс мешает.
попробуем однотоналку...
Спойлер

кодировать будем паузами.
Спойлер

аналогично работает ИК пульт.
Спойлер

Добавлено after 5 minutes 14 seconds:далее...
оказывается в телефоне типа Андроид при прослушивании громкой "музыки" при первом включении уровень сигнала в динамике возрастает плавно (линейно)... с задержкой до нескольких секунд...
Спойлер

Спойлер

видимо это сделано для защиты слухового аппарата пользователей...
в ПК аналогичный случай... но там уровень сигнала возрастает быстрей...
Спойлер

далее...
сделали преамбулу длинного тона...
Спойлер

теперь всё хорошо))
Добавлено after 1 minute 9 seconds:далее...
а как принимать и декодировать будем ? думаем...
