Paso 2: Hacer sentido de los datos
Hace tiempo que recibí un Consejo de desarrollo de MeLabs llamado el XT Lab. Era para microcontroladores pic y tenía fichas de apoyo para DTMF e identificador de llamadas. Me sorprendió que nadie realmente tiene ejemplos para el mundo de Arduino. Hay uno por ahí, repetido muchas veces, pero simplemente no funcionó para mí.
Utilizando la Página de información de identificador de MeLabs como guía me puse a construir una máquina de estado simple para analizar el paquete entrante. No puede parecer sencillo pero he intentado estirar las cosas para que pueda seguir en el código. Sólo he implementado el MDMF ya que es cuál está en mi casa. El SDMF es más simple pero no tienen una descarga real de.
Si alguien me envía un registro de terminal de un mensaje SDMF voy a añadir al código. Yo puedo reproducir volcados en el decodificador para probarlo.
Y eso es lo primero. Obtener un volcado de datos. Usé un Prolific USB a serie breakout Junta para supervisar los datos hacia fuera del perno. He utilizado masilla para registrar unas cuantas llamadas y Midnight Commander para ver el registro en hexadecimal. Hay un montón de otros terminales y los espectadores. Use su favorito.
Hay mucho ruido en la línea pero no hay confundir esos 30 de U en una fila. En caso de que echo de menos algunos para que pruebo > 25 de U recibido. Luego buscar el identificador de 0 x 80 paquete MDMF. Esto es donde se busca un 0 x 04 Si desea también hacer SDMF descifrar.
Luego guardar la longitud del paquete para saber cuando fueron hechos.
5 mensaje de ID ' s para ver y procesar cada uno por separado. Termina con una suma de comprobación pero ignoraba por el momento. Tal vez más adelante. Prefiero ver un nombre indescifrable de un mensaje de error...
El mensaje de fecha parece ser el proveedor local. Un servidor de voip locales fue apagado por 1 hora pero fue un error de ahorro de luz diurna en el propio servidor.
He intentado un par de diferentes proveedores y los mensajes no siempre vienen en el mismo orden. A veces su "fecha – nombre – número" y en otros es "Fecha – número – nombre". YMMV