¿Buscas alguna otra cosa?

Titan – NA20: Ejemplos de aplicaciones con audio

Detalles del escenario

Los router Titan no disponen de audio de forma nativa. Sin embargo son compatibles con económicos dongles USB multimedia. Usando un dongle USB conectado a su router Titan podrá, mediante unos simples comandos AT enviados por Telnet, SMS, modbus, snmp, etc … reproducir ficheros de audio, utilizar una API de conversión de texto a voz y reproducir ficheros alojados en servidores web. Todo de forma muy sencilla. A continuación se mostrará una serie de pequeños ejemplos que le ayudarán a comprender el funcionamiento.

Ejemplo 1: Conversión de texto a voz por mensaje SMS

En este ejemplo pretendemos enviar un mensaje SMS de texto al router Titan. El router, al recibir el mensaje de texto SMS, debe convertir el texto a voz y reproducirlo por unos altavoces.

Para poder llevar a cabo este ejemplo, lo primero que debemos configurar es la TTS API. Es decir, el servicio de conversión de text a voz. En Internet existen multitud de servicios TTS, gratuitos y de pago. Para los ejemplos de la presente nota de aplicación utilizaremos los de api.voicerss.org. Para ello iremos a la sección “Other > Audio” y configuraremos la API como indica la siguiente imagen.

En la URL de la API hay que tener especial precaución de incluir en la última posición el parámetro donde se especificará el texto a convertir a audio. En el caso de este ejemplo:

http://api.voicerss.org/?key=1fc63bbc3b9e4da98ff4f6955f1cf5d9&hl=eses&f=44khz_8bit_mono&src=

Es decir, el parámetro “src”, que contendrá el texto a convertir, debe incluirse en último lugar de la URL. Por otro lado, la sección “Other > SMS control” debe estar correctamente configurada para que el router Titan pueda recibir SMSs (y por tanto, entre otras cosas, reproducirlos en forma de audio).

Una vez configurado y reseteado el router Titan ya podemos enviar mensajes SMS para convertir texto a voz. Por ejemplo, si enviamos el SMS con el texto

mtx at^mtxtunnel=playtext,This is an audio test.

Escucharemos a una amable señorita diciendo por el altavoz “Esto es una prueba de audio”.

Ejemplo 2: Texto a Voz por comandos de dispositivo con Ethernet

Este ejemplo es prácticamente igual que la conversión de texto a voz por SMS, pero realizado mediante comunicación IP a través de Ethernet. En este ejemplo vamos a suponer que tenemos un PLC conectado al router Titan por un cable Ethernet para proporcionar a éste acceso a Internet. Además de dicha tarea el router Titan debe poder realizar la conversión de texto a voz, así como reproducir algunos ficheros de audio precargados en el rotuer Titan y que ante ciertos eventos deberán ser reproducidos.

Para llevar a cabo este ejemplo lo primero es configurar el servicio TTS como hicimos en el ejemplo anterior, es decir, desde la sección “Other > Audio”

Tras ello, activaremos la consola que nos permitirá poder ejecutar comandos AT a través de Telnet desde el PLC. Para ello iremos a la sección “Other > Remote Console” y la configuraremos como se muestra a continuación.

A continuación cargaremos en el router Titan los ficheros de audio (MP3) que necesitemos tener precargados. Esto lo realizaremos desde la sección “Other > Audio”.

Una vez configurado el router de esta manera y reiniciado ya podremos enviar AT commands de audio desde nuestro PLC. No obstante, resulta interesante probarlo de forma previa desde el propio router Titan. Para ello, nos iremos a la sección “Other > Audio” y escribiremos el texto a convertir como se muestra en la siguiente figura. Si todo va bien, al pulsar sobre el botón “TEST TTS AUDIO” oiremos el texto convertido a audio por los altavoces.

Para enviar comandos AT por la Remote Console, basta con conectarse por el puerto TCP 20023 al router Titan. Pueden enviarse comandos como:

AT^MTXTUNNEL=PLAYTEXT,Volume,Text

Volumen: -50 … 50 (0 normal)
Texto: texto a convertir a audio y a reproducir por los altavoces

AT^MTXTUNNEL=PLAYFILE,Volume,FileNumber

Volumen: -50 … 50 (0 normal)
FileNumber: 1 … 10 número de fichero de audio precargado a reproducir

AT^MTXTUNNEL=PLAYURL,Volume,url

Volumen: -50 … 50 (0 normal)
url: url que apunte a un fichero MP3. Por ejemplo http://www.midominio.com/f.mp3

Es decir, con estos tres simples comandos AT puede ejecutarse varias acciones: conversión de texto a voz, reproducción de ficheros de audio precargados en el router y reproducción de ficheros de audio alojados en una web.

Otras consideraciones:

  1. En este ejemplo se están ejecutando los comandos AT por Telnet de forma local a través de una conexión Telnet, pero por supuesto se podrían ejecutar de forma remota los mismos comandos a través de 3G/4G
  2. En este ejemplo se están ejecutando comandos AT desde un PLC por Telnet. Pero debe recordarse que es posible ejecutar comandos AT de múltiples formas, entre ellas vía Modbus TCP. En la nota de aplicación 10 encontrará como ejecutar comandos AT vía modbus TCP (es decir, en otras palabras, que vía modBus TCP podrá reproducir ficheros de música, realizar conversiones de texto a audio, etc.)

Ejemplo 3: Envío de comandos de audio desde plataforma web

En este ejemplo vamos a suponer que tenemos un router Titan conectado a una pantalla en la cual se mostrarán mensajes informativos de texto en un centro comercial. En ocasiones dichos mensajes informativos de texto deben poder ser reproducidos mediante audio. Esta acción y otras deben poderse llevar a cabo desde una plataforma Web de control.

Para llevar a cabo este ejemplo lo primero es configurar el servicio TTS, como hicimos en el ejemplo anterior, la sección “Other > Audio”.

El siguiente punto es activar el Remote Console para conectar el router Titan a una plataforma web. Dicha acción se realiza también desde la sección “Other > Remote Console”. Especificamos la dirección IP y puerto TCP de la Plataforma Web, un KEY identificativo que nos permitirá identificar el router Titan conectado (por si hay varios) y un timeout de reconexión en caso de caída del socket.

Una vez configurado y reiniciado el router Titan ya podremos enviar comandos AT desde nuestra plataforma web de forma análoga a como se detalló en el ejemplo 2 de esta misma nota de aplicación, es decir, pudiendo realizar conversiones de texto a voz, reproducir ficheros de audio precargados en el router Titan o bien reproducir ficheros de audio alojados en servidores Web. Puede consultar la nota de aplicación 18 para más información (AN18-Router-Titan-MTXTunnel-Generic-Web-Platform-Integration.pdf).

Recuerde que los comandos AT ejecutados desde una plataforma web deben ser ejecutados entre los tags <MTXTUNNEL> y </MTXTUNNEL>. Por ejemplo, si se pretende convertir a voz el texto “me gusta el router Titan”, debería enviarse el comando AT desde la plataforma así, desde el socket de conexión:

<MTXTUNNEL>AT^MTXTUNNEL=PLAYTEXT,0,I love Titan router</MTXTUNNEL>

Ejemplo 4: Ejemplo de uso de audio con los Titan scripts

En este ejemplo vamos a suponer que tenemos un router Titan conectado a una sonda de temperatura / humedad modbus RS485. El router, de forma autónoma y periódica, va recogiendo los datos Modbus de temperatura y humedad del sensor conectado y enviándolos a una plataforma web. Pero además vamos a querer que el router reproduzca de forma automática un audio que pronuncie: “Nueva temperatura X grados” cada vez que cambie la temperatura leída del sensor.

En este ejemplo únicamente nos vamos a centrar en la configuración necesaria en los Titan Scripts para llevar a cabo la reproducción de audio. Consultar el manual de usuario o en gsmsupport@matrix.es para la configuración relativa al envío de los datos modbus recogidos a una plataforma web.

Para lograr la reproducción de audio primero necesitamos, como siempre, configurar la API TTS. Esto lo realizamos desde el menú “Other > Audio”.

Ahora configuraremos el puerto serie del router Titan que está conectado a la sonda Modbus RS485. Como el único puerto serie del Router Titan que puede ser configurado como RS485 es el puerto COM1, usaremos éste. Para ello iremos al menú: “Serial Settings > Serial Port1-232/485” y seleccionaremos la velocidad y parámetros correspondientes a la sonda como se muestra en la siguiente figura.

Seguidamente indicaremos qué puerto Serie del router Titan debe usarse para realizar lecturas de dispositivos Modbus Externos. Seleccionaremos el Serial Port 1 que acabamos de configurar desde el menú “External Devices > Modbus RTU/TCP”.

Ya por último escribimos los scripts que necesitemos en el menú “Other > Titan Scripts”. Imaginemos que el sensor modbus (que usa la dirección modbus 1) devuelve la temperatura en el registro número 5. Pues básicamente el script a escribir sería el siguiente.

Consulte el manual de usuario del router Titan para obtener más información de los Titan Scripts. Los comandos Script disponibles en el router relacionados con audio son:

PT[volumen,texto] > PlayText
Para convertir un texto a audio
Volumen: -50 … 50 (0 normal)

PF[volumen,idFichero] > PlayFile
Para reproducir uno de los diez ficheros de audio que pueden ser precargados en el router Titan
Volumen: -50 … 50 (0 normal)
idFichero: 1…10

PU[volumen,url] > PlayUrl
Para reproducir un fichero de audio alojado en un servidor web
Volumen: -50 … 50 (0 normal)
url: http://www.midominio……/fichero.mp3

Para cualquier consulta contacte con nosotros en iotsupport@mtxm2m.com.