Как читать / отправлять данные с помощью 3,5-мм разъема для гарнитуры Android-устройств?
Я просто наткнулся на EE Stack и нашел этот пост: какой протокол использует разъем для наушников. И это вызвало во мне некоторое любопытство, и я полагаю, что если iPhone сможет это сделать, я тоже хочу.
Кто-нибудь знает о каких-либо проектах, которые делают это сейчас, или это вообще возможно?
ОБНОВИТЬ
ПОКОЙСЯ С МИРОМ
2 ответа
Вы в основном спрашиваете, как превратить микрофонный вход в модемный. Вариант этой умной техники коммерчески использует Square для своих считывателей магнитных полос на устройствах iOS и Android.
Для этого требуется получить доступ к необработанному потоку PCM с Android и расшифровать входные данные. К счастью для вас, кто-то уже сделал это и выбросил источник там. См. Этот связанный проект "Взломай день" для ознакомления с примерами кода Arduino и Android, предназначенного только для передачи.
Я не смог найти пример кода Android для получения, но в этом посте на форуме Arduino есть довольно подробные заметки о том, как выполнять FSK с iOS.
(Хотя это был не ваш вопрос, более простой способ получить данные на устройстве Android и получить их - это новая поддержка USB-хоста и аксессуаров. Для этого требуется новый телефон и ОС, поэтому он не такой гибкий, как аудио-маршрут.)
Я написал библиотеку C, которая может отправлять и получать данные через аудио кабель со скоростью 64 кбит / с. https://github.com/quiet/quiet
Что касается методов модуляции, он поддерживает широкий диапазон, так как он использует библиотеку SDR для выполнения своей модуляции.
Если вы хотите попробовать это, вот живая демонстрация https://quiet.github.io/quiet-js/lab.html