Enviando datos usando el conector de 3.5mm de 4 clavijas al teléfono inteligente

2

He estado buscando por algún tiempo y no he encontrado información útil sobre cómo se hace esto. Estoy trabajando en un proyecto que pretende enviar datos a través de la toma de auriculares para que sean procesados por un teléfono inteligente. Más específicamente, quiero medir la temperatura del agua usando un sensor IR. El voltaje del sensor se enviará a un teléfono inteligente en el que se puede analizar para indicarme cuál es la temperatura. ¿Es esta una idea factible?

No sé mucho sobre cómo funcionan los conectores de 3,5 mm en los teléfonos inteligentes, por lo que los enlaces también serían útiles. Sé que esta es una descripción vaga del proyecto y solo estoy buscando algunas fuentes para guiarme en la dirección correcta. El proyecto requiere el uso de la toma de auriculares en los teléfonos inteligentes, por lo que no puedo usar USB.

Nota al margen: soy un ingeniero novato en pregrado que podría estar por encima de su cabeza.

    
pregunta mphommal

4 respuestas

4

No debería ser demasiado difícil resolver este problema de una manera que sea bastante independiente de la plataforma y flexible a través de las posibles variaciones de la necesidad de su aplicación.

Primero, necesita encontrar un circuito para inyectar una señal de audio en el conector del auricular; Como los auriculares con amplia compatibilidad (iPhone, la mayoría de los dispositivos Android y probablemente más) están disponibles en el mercado, esto es claramente posible. Creo que ha sido cubierto aquí antes.

Entonces necesita un medio de transmisión de datos que sea fácil de implementar y que sea bastante inmune a las variaciones en el modelo del teléfono, los componentes, la temperatura, etc.

Tratar de enviar un nivel de voltaje analógico directamente probablemente no lo sea: el teléfono (o al menos el circuito de entrada que usa) probablemente bloqueará la CC, e incluso si no le resulta difícil saber la ganancia precisa en el teléfono. circuito de entrada.

Por lo tanto, algo que codifique información a lo largo del tiempo probablemente funcione mejor. Una solución simple sería un convertidor de voltaje a frecuencia o un oscilador de audio controlado por voltaje. Al producir un tono con una frecuencia proporcional a su señal, y luego medir la frecuencia más fuerte en el software del teléfono, tendrá un sistema bastante confiable. Sin embargo, estará sujeto a la precisión de su modulador; por ejemplo, si piratea algo con un 555, puede depender de condensadores de no precisión cuyo valor varía de un ejemplo a otro y de sobretemperatura.

Otra opción a tener en cuenta sería un módem digital, por ejemplo, el cambio de frecuencia. Puede simplemente extraer las especificaciones para un módem telefónico de 300 baudios y aproximar una señal de este tipo con una salida de onda cuadrada de un procesador pequeño como ATtiny, PIC, MSP430, etc., utilizando el ADC del procesador para leer el sensor y obtener una número que desea codificar. Si no necesita realizar mediciones muy rápidamente, podría reducir aún más la velocidad de transmisión y hacer que el decodificador sea más fácil de escribir.

En resumen, al modular algún aspecto de la señal, como la frecuencia que está menos sujeta a la variación de dispositivo a dispositivo, puede crear un sistema que será bastante universal, solo que se requiere crear una versión de su software de demodulador. que se puede vincular a la estructura de una aplicación de tipo básico de grabación de audio a búfer en el SDK de cada tipo de teléfono que desee admitir.

    
respondido por el Chris Stratton
3

Siguiendo la respuesta de Chris, quizás algo como un LM331 IC sería útil. Realiza la tarea de conversión de voltaje a frecuencia Y frecuencia a conversión de voltaje dependiendo de cómo está cableado.

enlace

    
respondido por el JIm Dearden
1

Sí, esta es una idea completamente factible. Esto es solo comunicación analógica. Pero la velocidad de transmisión de datos no será tan buena como la del USB.

Recientemente he estado trabajando en el mismo concepto. Y he encontrado sobre el proyecto Hijack. Mira esto enlace

Este es un dispositivo alimentado por Jack de 3,5 mm, que permite que el teléfono inteligente se comunique con él.

Esto es solo una forma de comunicación. Por lo que sé, ninguno ha intentado la comunicación bidireccional con el conector 3.5.

    
respondido por el Vishvesh Shah
-2

@mphommal:

Se deben considerar muchas cosas antes de poder llegar al fondo de este problema:

1) ¿De qué smartphone exacto estamos hablando aquí? Diferentes proveedores utilizan diferentes configuraciones de hardware e integración, lo que significa que el proceso será diferente entre los teléfonos, con toda probabilidad.

2) ¿Cómo propones hacer el procesamiento en el teléfono inteligente? ¿Tiene el teléfono 'rooteado', con acceso completo a todas las instalaciones del procesador integrado? ¿O estás buscando hacer de esta una aplicación de dominio de usuario?

3) ¿Qué sensor planeas usar? Analógico, 4-20ma o 0-5VDC, o digital con una interfaz en serie (SPI, TWI, I2C, etc.)?

A mi modo de ver, realmente tiene dos opciones para realizar el procesamiento. Puede buscar en las herramientas de desarrollo del sistema operativo de su teléfono (iOS, Android, otros) y ver si esas herramientas incluyen bibliotecas para leer datos de entradas específicas. Tal vez hay uno que se adapte a sus necesidades. O, puede piratear completamente el teléfono y usar el procesador integrado como un uC antiguo, lo que probablemente signifique aprender el ensamblador adecuado o, si tiene suerte, el procesador integrado tiene un compilador C / BASIC disponible.

Una vez que respondas estas preguntas, creo que podemos ponerte en camino hacia el éxito.

    
respondido por el gankoji

Lea otras preguntas en las etiquetas