Tabla de contenido:

Teléfono móvil con dial giratorio de estilo retro: 4 pasos (con imágenes)
Teléfono móvil con dial giratorio de estilo retro: 4 pasos (con imágenes)

Video: Teléfono móvil con dial giratorio de estilo retro: 4 pasos (con imágenes)

Video: Teléfono móvil con dial giratorio de estilo retro: 4 pasos (con imágenes)
Video: Celular para abuelos y adultos mayores. ¿Qué tan bien funciona? 2024, Noviembre
Anonim
Teléfono móvil de dial giratorio de estilo retro
Teléfono móvil de dial giratorio de estilo retro

Este proyecto fue impulsado tanto por la necesidad práctica como por el deseo de hacer algo divertido.

Como la mayoría de las familias modernas, dejamos de tener un teléfono "residencial" real (con cable) hace muchos años. En cambio, tenemos una tarjeta SIM adicional asociada con nuestro "antiguo" número de casa, que llevaba en mi teléfono celular dual-sim. Esto estuvo bien como configuración la mayor parte del tiempo, pero no funcionó mejor en algunos casos, como cuando nuestros padres nos visitaron (son de la generación anterior, sin teléfonos celulares, y no podía llamarlos a nuestra casa cuando no estaba ya que nuestro teléfono de "casa" estaba conmigo). Esto también se amplificó cuando cambié mi teléfono (el nuevo teléfono tiene una sola ranura SIM). Por lo tanto, parecía una buena idea encontrar una manera de tener un teléfono estilo "hogar" que pudiera usar nuestra tarjeta SIM adicional.

En lo que respecta a la parte divertida, la mayoría de los niños de hoy en día no tienen mucha idea de cómo funcionaban los viejos teléfonos de discado giratorio, o incluso si existían como tales. En la parte del mundo de donde somos mi esposa y yo, usamos la expresión "dar la vuelta al número" para marcar, lo cual es confuso para la población más joven, ya que "¿por qué alguien daría la vuelta al teléfono para marcar"? Por lo tanto, pensé que sería genial que mi hijo (que participaba activamente en este proyecto) pudiera adquirir experiencia con el teléfono de disco.

Por supuesto, también estaba seguro de que este "nuevo" teléfono sería un buen tema de conversación cuando tengamos amigos y parientes. O mejor aún, llevar el teléfono con nosotros cuando visite a amigos, sorprender a la gente con un teléfono celular de aspecto retro completamente funcional.

Durante el proyecto, cambiamos algunos de los objetivos de diseño originales. Por ejemplo, estaba pensando en incrustar una batería externa recargable dentro del teléfono para que se pueda llevar fácilmente, pero finalmente me di cuenta de que esto no es necesario (ya que este tipo de teléfono naturalmente permanece en un lugar todo el tiempo, por lo que puede estar siempre enchufado a una toma de corriente). Hubo algunos otros "atajos" que pudimos tomar, lo que hizo que el proyecto fuera relativamente sencillo y no demasiado complejo.

================

En cuanto al material, originalmente esperaba que pudiéramos obtener un teléfono de disco antiguo de mis padres y usar la mayoría de sus partes (carcasa del teléfono, dial giratorio, auriculares, etc.), lo que disminuiría el costo del proyecto en general. Eso finalmente no sucedió debido a COVID-19, que impidió nuestro viaje planeado a Europa (visitando a la familia), y en su lugar, simplemente encontramos y compramos el nuevo teléfono de marcado giratorio en Amazon (no estaba contento con las opciones y los precios en eBay). Esto estuvo bien, ya que proporcionó algunas funcionalidades adicionales interesantes, ya que encontramos un teléfono de marcación giratoria con opciones de marcación adicionales (* y #), que normalmente no están disponibles en teléfonos antiguos.

La parte principal del proyecto fue GSM / GPRS HAT que está disponible (no necesitábamos la versión 4G) y que se puede controlar directamente con cualquier Raspberry Pi o placas similares. En nuestro caso, teníamos una pequeña placa Raspberry Pi Zero que no estábamos usando activamente (del proyecto anterior de mi hijo).

Es interesante que la mayoría de los cambios de pensamiento y diseño se realizaron en torno a una parte relativamente simple y pequeña del proyecto, creando una acción de resonancia. Como saben aquellos que están familiarizados con los teléfonos antiguos, el timbre distintivo de estilo antiguo fue producido por "campanas" impulsadas por 40-60 VCA, lo cual fue complicado de hacer como parte de este proyecto. Finalmente decidí simplificar esa parte del proyecto y terminé con una solución relativamente simple mediante el uso de un módulo de sonido grabable que generalmente es parte de las tarjetas de felicitación. Había algunas otras opciones, pero esto realmente funcionó muy bien y fue una solución relativamente económica.

Suministros

  • Raspberry Pi Zero W
  • Waveshare GSM / GPRS / GNSS / Bluetooth HAT
  • Módulo de sonido grabable, botón pulsador activado
  • (Antiguo) Teléfono rotatorio
  • Tarjeta Micro SD (para Raspberry Pi), cables / pines, auriculares viejos, etc.

Paso 1: preparar el teléfono

Preparando el teléfono
Preparando el teléfono

Los teléfonos con cable de estilo antiguo son dispositivos relativamente simples. Como se puede ver en la imagen con el teléfono original desmontado, las partes reutilizables son la carcasa principal del teléfono, incluido el dial giratorio y la base, los auriculares y su interruptor, mientras que el resto se retiró: timbre de timbre y tablero de control.

Lo que fue muy bueno con este modelo de teléfono en particular es que pudimos no solo reutilizar el dial giratorio, sino también su conector, que se podía conectar directamente al encabezado de la Raspberry Pi. Cabe señalar que este conector tiene 3 cables, uno de referencia y 2 que van a entradas discretas en Raspberry Pi. Con la lógica adecuada (capturada en el código adjunto), esto permite la detección de cuándo se gira el dial y qué número se seleccionó.

Lo mismo ocurrió con el conmutador de auriculares, que tiene un conector que se puede conectar directamente al cabezal. Es de lógica simple, ya que solo requiere referencia y una entrada discreta.

Como era de esperar, el cable de los auriculares tiene 4 cables, 2 de cada uno para el altavoz y el micrófono de bajo nivel de potencia. Dado que el HAT que estábamos usando tenía un conector de audio de 3,5 mm para auriculares, acabo de conectar esos 4 cables a uno de los auriculares antiguos con conector de audio macho de 3,5 mm.

Una cosa más interesante que fue útil de este modelo particular de teléfono fue el montaje de postes desde la base del teléfono. Si bien necesitábamos cortar algunos de ellos para dejar espacio para las tablas, aún pudimos reutilizar otras y asegurar nuestras tablas. Este fue un buen descanso y nos ahorró algo de tiempo.

Paso 2: unir las cosas

Poniendo las cosas juntas
Poniendo las cosas juntas
Poniendo las cosas juntas
Poniendo las cosas juntas
Poniendo las cosas juntas
Poniendo las cosas juntas

Para una prueba de concepto simple, es suficiente conectar Raspberry Pi y GSM HAT directamente, y conectar auriculares normales a GSM HAT. Pude usar esa configuración junto con la aplicación MiniCom (que controla el puerto serie Raspberry Pi, que está directamente conectado a GSM HAT) para verificar rápidamente que mi tarjeta SIM funciona y que puedo llamar y enviar / recibir mensajes SMS con esa configuración.

Dado que otros podrían estar interesados en hacer eso (es divertido probar rápidamente la nueva configuración), aquí están los consejos sobre cómo hacerlo (obviamente, basado en la suposición de tableros iguales / similares):

- Instale y configure el sistema operativo en Raspberry Pi (utilicé la versión Lite OS, que viene sin GUI).

- Conecte GSM HAT (con la tarjeta SIM instalada) en Raspberry Pi (asegúrese de que GSM HAT tenga la selección de conmutador UART adecuada según el tipo de conexión, consulte el enlace a continuación para ver el manual de HAT). Para este paso, es posible que necesite la versión de Raspberry Pi que ya tiene un conector de encabezado instalado, en nuestro caso necesitaba soldarlo (ya que estaba usando Pi zero, que por defecto viene sin encabezado). Alternativamente, una mejor opción es usar un cable micro USB para conectar ambas tarjetas (tanto Raspberry Pi como GSM HAT tienen micro USB)

- Habilite el uso del puerto serie Raspberry Pi si conecta GSM HAT a través del puerto serie (de forma predeterminada, el puerto Raspberry Pi se usa para la consola). Para hacer eso, necesitará seguir las instrucciones para raspi-config (vea el enlace "configurar" arriba), opciones de interfaz - habilitando SSH y opciones seriales. Si usa la versión Lite OS, es posible que también deba "conectarse a la red inalámbrica" y habilitar SSH (consulte las instrucciones del enlace "configurar" anterior).

- Conecte Raspberry Pi al monitor y al teclado (o acceda a él a través de ssh remoto)

- Use MiniCom o una aplicación serial similar para controlar manualmente HAT a través del puerto apropiado (para mi puerto de configuración era "/ dev / ttyS0", será diferente si usa micro USB). Instale MiniCom con "sudo apt-get install minicom" y, una vez instalado, inícielo con "minicom -D / devtyS0" (o el puerto que se utilice).

- Utilice el manual GSM HAT o el manual AT Command para controlar varias funciones HAT (enviar SMS, realizar llamadas, etc.). Una vez conectado correctamente, GSM HAT responderá con "OK" cuando se le pregunte por el comando "AT". Para verificar si la tarjeta SIM se registró correctamente, use el comando "AT + CREG?", Que también debe devolver "OK". También puede verificar el proveedor de red con "AT + COPS?", O verificar su propio número de teléfono con "AT + CNUM"

Para integrar el resto de las piezas necesarias, creamos un cable personalizado de 16 pines para Raspberry Pi a GSM HAT, ya que necesitábamos algunos de otros pines IO de uso general para leer el dial giratorio, el estado del interruptor de los auriculares y para activar el timbre (también para iniciar automáticamente GSM HAT durante el encendido / inicialización). Traté de usar algunos de los cables de ruptura estándar para Raspberry Pi para ese propósito, y aunque funcionó bien para conectar y probar rápidamente, no estaba muy contento con la calidad y terminé haciendo mi propio conector de 16 pines.

Otra forma de hacer la conexión entre Raspberry Pi y GSM HAT es a través de los puertos micro USB de ambas placas (y nuevamente, deberá configurar adecuadamente el interruptor UART en GSM HAT), y esa puede ser una solución más rápida y mucho más simple. Puede hacerlo fácilmente si obtiene el cable adecuado (eso le ahorraría tiempo y esfuerzo para hacer el cable), pero no olvide cambiar el puerto utilizado por el software / aplicación.

Después de conectar placas (con micro USB), el resto es fácil. Simplemente siga el diagrama anterior, donde los pines presentados allí están asociados con el código adjunto al final de este instructivo. Específicamente:

- Los pines 35, 37 y 39 (asociados con Raspberry Pi GPIO 19, 26 y tierra) se utilizan para conectarse al dial (pines de entrada). El teléfono que elegimos ya había construido un conector de 3 cables, con el cable rojo y negro asociado con los pines NO y NC, y el cable amarillo siendo común.

- Los pines 23 y 25 (Raspberry Pi GPIO 11 y tierra) se utilizan para conectar el interruptor de los auriculares (entrada: detecta cuando se levantan o se colocan los auriculares)

- Los pines 22 y 20 (Raspberry Pi GPIO 25 y tierra) se utilizan para conectarse al interruptor del módulo de sonido (salida - acción de anillo)

- Además, es posible que el pin 19 (GPIO 10) deba soldarse al interruptor de encendido GSM HAT, ya que algunas versiones de HAT no pueden iniciarse solo con el encendido, sino que es necesario que alguien presione manualmente el interruptor de "encendido" en HAT.

- En el lado del teléfono, quitamos el cable interno de 4 hilos del auricular y lo conectamos al conector de audio de 3,5 mm de los auriculares antiguos. Los cables rojo / verde son para el micrófono del auricular y el amarillo / negro son para el altavoz del auricular. Dependiendo del lado del conector de 3,5 mm utilizado, es posible que deba averiguar el cable apropiado (según el extracto anterior para la entrada de auriculares GSM HAT), pero en nuestro caso, el micrófono estaba conectado al blindaje y al rojo, mientras que los cables del altavoz eran verde y azul. Al final, conecte el conector de 3,5 mm a la entrada de auriculares GSM HAT.

Paso 3: Empaquetado final y adición de un "efecto de timbre" simulado

Empaquetado final y adición simulada
Empaquetado final y adición simulada

Si bien el empaque interno final como se ve en la imagen de arriba se ve relativamente ordenado, requirió muchos retoques y probar diferentes opciones. Las principales limitaciones eran el espacio debajo del dial giratorio y los conectores rígidos, y todo el proceso era como armar un rompecabezas.

Fue muy afortunado que pudimos usar varias publicaciones que ya existían dentro del teléfono (eliminamos otras publicaciones con la herramienta Dremel), y para asegurar tableros y parlantes. Pero eso también restringió el resto del espacio disponible, lo que finalmente nos llevó a abandonar la idea original de agregar una fuente de energía recargable interna.

En cuanto a "ring", terminamos comprando un módulo de sonido grabable que funciona con baterías. Como opción (cuando se conectan placas a través de micro USB), hay una versión sin batería que se puede alimentar directamente desde el conector Raspberry Pi de 5V.

En ambos casos, sería necesario quitar el interruptor de control externo del módulo de sonido y conectar los cables a uno de los pines GPIO + tierra. Y programar el tono de llamada en el módulo es muy simple, simplemente conéctelo a la PC y descargue el archivo mp3 que desee utilizar para la acción de llamada. Aquí está el enlace a un sitio agradable con muchos sonidos de timbre antiguos.

Paso 4: Software e integración final

Software e integración final
Software e integración final
Software e integración final
Software e integración final

El diagrama de bloques anterior presenta todos los componentes principales y sus relaciones. En esencia, la implementación necesita 3 entradas discretas y al menos 1 salida discreta (usamos 2 DO ya que la versión de GSM HAT que obtuvimos no puede iniciarse automáticamente sin presionar el botón en HAT, por lo que necesitábamos soldar el cable a ese botón para forzar iniciando el SOMBRERO cuando el teléfono está encendido).

En cuanto al código, fue escrito en Python 2.7, por lo que si instala / usa la versión 3.xy superior, puede haber algunas cosas que deban cambiarse (una obvia es la declaración "print"). Para que el código funcione correctamente, hay un par de bibliotecas de Python que deben agregarse primero, como:

- gpiozero (necesario para la interfaz GPIO de Raspberry Pi)

- re (biblioteca de expresiones regulares - para analizar los mensajes SMS entrantes, instalar si no es parte de la instalación predeterminada de Python)

- serial (para conectarse a GSM HAT - necesario incluso si se conecta a través de micro USB, instálelo si no es parte de la instalación predeterminada de Python)

Además, hay 2 lugares en el código adjunto que deben modificarse / adaptarse dependiendo de la implementación final (o 3 lugares, si se utilizan diferentes pines GPIO). El primero está relacionado con el número que le gustaría usar para reenviar mensajes:

# ********************************** FORWARDING_NUMBER = "5551234567" # ponga aquí el teléfono donde desea sus mensajes ser reenviado

# ***********************************

Y el segundo es para la configuración del puerto serie:

# ***********************************

# Inicialización de SIM868 y rutinessim868 = serial. Serial ("/ dev / ttyS0", 115200)

# asegúrese de que / dev / ttyS0 sea el adecuado para su configuración

# ***********************************

El código se construyó como una máquina de estado, descrita en el diagrama anterior. La mayor parte del tiempo el teléfono está en estado INACTIVO, esperando eventos: 1. Llamada entrante (que conducirá el teléfono al estado RING)

2. Mensaje SMS entrante, que se puede reenviar automáticamente a otro teléfono.

3. Levantando el auricular, en preparación para marcar (lleva el teléfono al estado DIAL)

4. Marcando un carácter especial sin levantar el auricular (según el código actual, marcando "#" apagar el teléfono)…

Hay muchos comentarios incrustados en el código, que deberían ayudar a leerlo y comprenderlo. Dejamos algunas cosas sin terminar, como agregar la opción de marcación rápida o enviar un mensaje de estado, o …

En cuanto a cómo hacer que el código se ejecute automáticamente cuando se aplica energía, elegimos implementarlo como servicio, lo que se puede hacer como se describe aquí. Simplemente haz lo siguiente:

- descargue los archivos adjuntos a continuación "rotaryPhoneStateMachine.txt" y "myphone.txt" y cámbieles el nombre a "rotaryPhoneStateMachine.py" y "myphone.service" (por alguna extraña razón, el servidor de Instructables no permite la carga de ciertos tipos de archivos)

- coloque "rotaryPhoneStateMachine.py" en la carpeta / home / pi

- coloque "myphone.service" en / etc / systemd / system

- habilitar el servicio con el comando "sudo systemctl enable myphone.service" (después de probar todo)

Recomendado: