Prueba concepto DTMF

Hace tiempo realicé una prueba de concepto para decodificar tonos DTMF usando un chip MT8870 conectado a un mando usb en diferentes plataformas:
https://github.com/rpsubc8/gamepadDTMF
Le he dado una vuelta de tuerca más y además de usar el gamepad usb, permito usar un arduino con MT8870 que emula ser un joystick, y también se permite el uso del micrófono o entrada de audio, para en caso de no querer ensuciarnos las manos con el soldador o microcontroladores.
He dejado un servicio básico de envio de mensajes, lo he llamado tipo 0, que básicamente codifica un texto en Base64, lo convierte a 2 tonos DTMF y envia. He puesto también posibilidad de activar VOX enviando un tono DTMF (D) repetido configurable. No sólo se permite enviar, sino, que en función del interface (micrófono, gamepad, arduino) podemos decodificar dichos tonos.
https://github.com/rpsubc8/dtmfgamepadchat
Iré poniendo todos los avances.
El interface es básico, porque sólo es una prueba de concepto para envio de datos de emergencia.
Esta aplicación es HTML5, así que sólo necesitamos un navegador web.
Actualización (2020/04/11): Añadido compresión por diccionario y por LZW, así como poder usar un relé sólido o normal para activar el PTT (sin puerto serie), cuando se recibe el tono DTMF C.
https://github.com/rpsubc8/gamepadDTMF
Le he dado una vuelta de tuerca más y además de usar el gamepad usb, permito usar un arduino con MT8870 que emula ser un joystick, y también se permite el uso del micrófono o entrada de audio, para en caso de no querer ensuciarnos las manos con el soldador o microcontroladores.
He dejado un servicio básico de envio de mensajes, lo he llamado tipo 0, que básicamente codifica un texto en Base64, lo convierte a 2 tonos DTMF y envia. He puesto también posibilidad de activar VOX enviando un tono DTMF (D) repetido configurable. No sólo se permite enviar, sino, que en función del interface (micrófono, gamepad, arduino) podemos decodificar dichos tonos.
https://github.com/rpsubc8/dtmfgamepadchat
Iré poniendo todos los avances.
El interface es básico, porque sólo es una prueba de concepto para envio de datos de emergencia.
Esta aplicación es HTML5, así que sólo necesitamos un navegador web.
Actualización (2020/04/11): Añadido compresión por diccionario y por LZW, así como poder usar un relé sólido o normal para activar el PTT (sin puerto serie), cuando se recibe el tono DTMF C.