Отправка данных с помощью 4-контактного разъема 3,5 мм на смартфон

Я искал некоторое время и не нашел полезной информации о том, как это делается. Я работаю над проектом, который намеревается отправлять данные через разъем для наушников для обработки смартфоном. Точнее, я хочу измерить температуру воды с помощью ИК-датчика. Напряжение датчика будет отправлено на смартфон, где его можно будет проанализировать, чтобы сообщить мне, какова температура. Это осуществимая идея?

Я не слишком много знаю о том, как работают 3,5-мм разъемы на смартфонах, поэтому ссылки тоже будут полезны. Я знаю, что это расплывчатое описание проекта, и я просто ищу некоторые источники, которые направят меня в правильном направлении. Проект требует использования разъема для наушников на смартфонах, поэтому я не могу использовать USB.

Боковое примечание: я начинающий инженер-старшекурсник, который может быть выше его головы.

Ответы (4)

Не должно быть слишком сложно решить эту проблему таким образом, который достаточно не зависит от платформы и является гибким для возможных вариантов потребностей вашего приложения.

Во-первых, вам нужно найти схему подачи аудиосигнала в разъем для гарнитуры; поскольку на рынке доступны гарнитуры с широкой совместимостью (iphone, большинство устройств Android и, возможно, больше), это вполне возможно. Я считаю, что это было описано здесь раньше.

Тогда вам нужно простое в реализации средство передачи данных, достаточно невосприимчивое к изменениям модели телефона, комплектующих, температуры и т. д.

Попытка отправить аналоговый уровень напряжения напрямую, скорее всего, не будет - телефон (или, по крайней мере, используемая вами входная цепь), скорее всего, заблокирует постоянный ток, и даже если это не так, вам будет трудно узнать точное усиление на входной цепи телефона.

Так что что-то, что кодирует информацию с течением времени, вероятно, будет работать лучше. Простым решением может быть преобразователь напряжения в частоту или аудиогенератор, управляемый напряжением. Создав тон с частотой, пропорциональной вашему сигналу, а затем измерив самую сильную частоту в программном обеспечении на телефоне, вы получите довольно надежную систему. Однако это будет в некоторой степени зависеть от точности вашего модулятора - например, если вы что-то взломаете с помощью 555, это может зависеть от неточных конденсаторов, значение которых варьируется от примера к примеру, и от температуры.

Другой вариант, на который стоит обратить внимание, - это цифровой модем, например частотная манипуляция. Вы можете просто взять характеристики телефонного модема на 300 бод и аппроксимировать такой сигнал прямоугольным сигналом на выходе небольшого процессора, такого как ATtiny, PIC, MSP430 и т. д., используя АЦП процессора для считывания показаний датчика и получения число, которое вы хотите закодировать. Если вам не нужно проводить измерения очень быстро, вы можете еще больше снизить скорость передачи данных и упростить запись декодера.

Таким образом, модулируя некоторые аспекты сигнала, такие как частота, которая менее подвержена вариациям от устройства к устройству, вы можете построить систему, которая будет довольно универсальной — потребуется только создать сборку вашего программного обеспечения демодулятора, которая может быть связаны со структурой базового приложения типа аудиозаписи в буфер в SDK каждого типа телефона, который вы хотите поддерживать.

Спасибо за быстрый ответ. Я отвечаю только за аппаратный дизайн, и это очень поможет двигаться вперед.

После ответа Криса, возможно, будет полезно что-то вроде микросхемы LM331. Он выполняет задачу преобразования напряжения в частоту И частоты в напряжение в зависимости от того, как он подключен.

http://www.ti.com/product/lm331

введите описание изображения здесь

аналог JIm вернулся.

Да, это вполне осуществимая идея. Это просто аналоговая связь. Но скорость передачи данных будет не такой хорошей, как у USB.

Недавно я работал над той же концепцией. И я нашел о проекте Hijack. Проверьте это http://web.eecs.umich.edu/~prabal/projects/hijack/

Это устройство с питанием от разъема 3,5 мм, что позволяет общаться со смартфоном.

Это всего лишь одностороннее общение. Насколько я знаю, никто не пробовал двухстороннюю связь с использованием разъема 3,5.

@мфоммал:

Прежде чем вы сможете добраться до сути этой проблемы, необходимо рассмотреть множество вещей:

1) О каком именно смартфоне идет речь? Разные поставщики используют разное оборудование и настройки интеграции, а это означает, что процесс, по всей вероятности, будет отличаться для разных телефонов.

2) Как вы предлагаете делать свою обработку на смартфоне? Есть ли у вас «рутированный» телефон с полным доступом ко всем возможностям встроенного процессора? Или вы хотите сделать это приложение пользовательского домена?

3) Какой датчик вы планируете использовать? Аналоговый, 4–20 мА или 0–5 В постоянного тока, или цифровой с последовательным интерфейсом (SPI, TWI, I2C и т. д.)?

Как я это вижу, у вас действительно есть два варианта выполнения обработки. Вы можете выполнить поиск по инструментам разработки для ОС вашего телефона (iOS, Android и другие) и посмотреть, включают ли эти инструменты библиотеки для чтения данных из определенных входов. Возможно, есть тот, который соответствует вашим потребностям. ИЛИ, вы можете полностью взломать телефон и использовать встроенный процессор как обычный старый UC, что, вероятно, означает изучение соответствующего ассемблера или, если вам повезет, встроенный процессор имеет доступный компилятор C/BASIC.

Как только вы ответите на эти вопросы, я думаю, мы сможем помочь вам встать на путь успеха.

Я думаю, вы делаете это слишком сложным - простой аудиосигнал (который, в зависимости от типа данных и необходимой точности, либо модулирует и кодирует данные в цифровом потоке, либо кодирует сигнал как простую частоту) может быть реализован практически с любым телефоном без необходимости рутирования телефона или взаимодействия с каким-либо специальным аппаратным обеспечением телефона, кроме вывода звука, который телефон может «прослушивать» через разъем для микрофона.