Hace unos días hablé del nuevo MTXTunnelv5.0.   Como comenté entonces, este software que pueden montar opcionalmente los módems MTX, permite llevar a cabo multitud de aplicaciones, no sólo una pasarela GPRS-RS232. Hoy voy a comentar cómo utilizar el MTXTunnel v5.0 para controlar relés mediante SMS (es decir, por ejemplo se puede activar/desactivar luces, calderas, … mediante un mensaje SMS).

Como queremos conmutar relés, vamos a suponer que el MTXTunnel5.0 se está utilizando con un módem MTXIND (de Matrix), pues es el único módem de la familia MTX que incorpora relés. Realmente el MTXTunnel5.0 no es que esté concebido para conmutar relés, sino que va mucho más allá, el MTXTunnelv5.0 tiene la posibilidad de ejecutar comandos AT mediante SMS.

rele-sms-luces

¿Y que quieres decir?

Pues quiere decir que ahora vamos a ver cómo conmutar unos relés por SMS, pero que podría usarse el mismo concepto para conmutar una salida digital, leer una entrada analógica o digital, leer la cobertura GSM del equipo, …

¿Entonces quieres decir que para conmutar un relé del módem gsm MTXIND basta con enviar un SMS con un comando AT?

Eso es. El MTXIND dispone de 4 relés llamados RL1,RL2,RL3 y RL7. Estos relés están asociados, respectivamente, a los GPIOs 1,2,3 y 7 del core del módulo, es decir, del módulo TC65i interno que gobierna el MTXIND.

Por ejemplo, si queremos actuar sobre el relé RL1 (relé asociado a GPIO1) bastaría con enviar el comando AT:   AT^SSIO=0,0  para activar el relé  y el comando:   AT^SSIO=0,1   para desactivar el relé. Cuando digo “bastaría con enviar el comando” me refiero a enviar un SMS con el texto “AT^SSIO=0,0″ ó “AT^SSIO=0,1″. Es decir, el fichero de configuración el MTXTunnelv5.0 que nos permitiría gobernar los relés del equipo por SMS podría ser así:

MTX_PIN: 0000    Si la tarjeta SIM no tiene PIN, dejar en 0000
MTX_model: MTX65IND   El modelo MTX escogido es el MTX65IND por los relés
MTX_mode: none    No necesitamos túneles serie-gprs

SMS_allPhones: off   Sólo queremos que puedan actuar teléfonos autorizados
SMS_validPhone1: 666123456  Teléfono autirizado nº 1
SMS_ATEnabled: on   Se aceptan comandos AT por SMS


Ufff, es muy complicado. Me interesa esta característica para algunos proyectos que tengo pero no puedo hacer teclear a mis clientes un SMS con el texto “AT^SSIO=0,0″, “AT^SSIO=0,1″ … para conmutar un relé. Demasiado lioso.

Tienes razón, a mi también me parecía un rollo. Por eso también he introducido la posibilidad de ALIAS.

¿Un Alias? ¿Qué es eso?

Veámoslo con un ejemplo, este sería el fichero de configuración utilizando alias:

MTX_PIN: 0000    Si la tarjeta SIM no tiene PIN, dejar en 0000
MTX_model: MTX65IND   El modelo MTX escogido es el MTX65IND porque tiene relés
MTX_mode: none    No necesitamos túneles serie-gprs

SMS_allPhones: off   Sólo queremos que puedan actuar teléfonos autorizados
SMS_validPhone1: 666123456  Teléfono autorizado nº 1
SMS_ATEnabled: on   Se aceptan comandos AT por SMS

SMS_alias1: ON1>AT^SSIO=0,0  Activamos el Relé1 cuando se reciba un SMS con ON1
SMS_alias2: OFF1>AT^SSIO=0,1  Desactivamos el Relé1 cuando se reciba un SMS con OFF1
SMS_alias3: ON2>AT^SSIO=1,0  Activamos el Relé2 cuando se reciba un SMS con ON2
SMS_alias4: OFF2>AT^SSIO=1,1  Desactivamos el Relé2 cuando se reciba un SMS con OFF2
SMS_alias5: ON3>AT^SSIO=2,0  Activamos el Relé3 cuando se reciba un SMS con ON3
SMS_alias6: OFF3>AT^SSIO=2,1  Desactivamos el Relé3 cuando se reciba un SMS con OFF3
SMS_alias7: ON4>AT^SSIO=6,0  Activamos el Relé7 cuando se reciba un SMS con ON4
SMS_alias8: OFF4>AT^SSIO=6,1  Desactivamos el Relé7 cuando se reciba un SMS con OFF4

Es decir, con la configuración anterior activaremos el Relé1 con un SMS con el texto “ON1″ y lo desactivaremos con el texto “OFF1″. O dicho de otra manera, cuando el módem decibe un SMS con el texto “ON1″ él, internamente, lo interpreta como “AT^SSIO=0,0″. Si yo quisiera activar el Relé1 con el texto “luz1on”, pues habría que especificar algo como :

SMS_alias1: luz1on>AT^SSIO=0,0

Ahora me gusta más. Pero me gustaría también poder tener confirmación de que realmente se ha conmutado el relé. ¿Es posible?

Claro, sino no me lo preguntaría a mi mismo :)

Para ello basta con añadir al fichero de configuración la línea:

SMS_ATResponse: on   Se devuelve la respuesta al comando enviado por SMS

Eso haría que el módem devuelva la respuesta del comando AT ejecutado.

Pero eso devolvería una respuesta poco entendible para un usuario no técnico ¿no? Pues sería la respuesta del módem a un comando AT.

Efectivamente. Esto está bien para conocer la cobertura, para leer le valor de una entrada analógica o digital pero quizás no sea la mejor idea para conocer si se ha ejecutado bien una orden como conmutar un relé. Para esto último podemos introducir las líneas al archivo de configuración:

SMS_aliasOk: Comando Ok  Se envía este texto por SMS si el comando SMS se ejecutó bien
SMS_aliasError: Comando Error  Se envía este texto por SMS si el comando SMS se ejecutó mal

Con esto, si un comando SMS se ejecuta (y se ejecuta bien) el teléfono que envió el SMS con el comando recibirá un SMS con el texto “Comando Ok”. Si se ejecuta con error recibirá un SMS con “Comando Error”. Y si no se ejecuta pues no recibirá nada.

Bueno, recapitulando todo lo que hemos hablado aquí, el fichero de configuración del MTXTunnelv5.0 para poder conmutar 4 relés quedaría así:

MTX_PIN: 0000    Si la tarjeta SIM no tiene PIN, dejar en 0000
MTX_model: MTX65IND   El modelo MTX escogido es el MTX65IND porque tiene relés
MTX_mode: none    No necesitamos túneles serie-gprs

SMS_allPhones: off   Sólo queremos que puedan actuar teléfonos autorizados
SMS_validPhone1: 666123456  Teléfono autorizado nº 1
SMS_ATEnabled: on   Se aceptan comandos AT por SMS

SMS_alias1: ON1>AT^SSIO=0,0  Activamos el Relé1 cuando se reciba un SMS con ON1
SMS_alias2: OFF1>AT^SSIO=0,1  Desactivamos el Relé1 cuando se reciba un SMS con OFF1
SMS_alias3: ON2>AT^SSIO=1,0  Activamos el Relé2 cuando se reciba un SMS con ON2
SMS_alias4: OFF2>AT^SSIO=1,1  Desactivamos el Relé2 cuando se reciba un SMS con OFF2
SMS_alias5: ON3>AT^SSIO=2,0  Activamos el Relé3 cuando se reciba un SMS con ON3
SMS_alias6: OFF3>AT^SSIO=2,1  Desactivamos el Relé3 cuando se reciba un SMS con OFF3
SMS_alias7: ON4>AT^SSIO=6,0  Activamos el Relé7 cuando se reciba un SMS con ON4
SMS_alias8: OFF4>AT^SSIO=6,1  Desactivamos el Relé7 cuando se reciba un SMS con OFF4

SMS_ATResponse: on   Se devuelve la respuesta al comando enviado por SMS

SMS_aliasOk: Comando Ok  Se envía este texto por SMS si el comando SMS se ejecutó bien
SMS_aliasError: Comando Error  Se envía este texto por SMS si el comando SMS se ejecutó mal

PD. Para los despistados. Los textos anteriores en gris son comentarios explicativos. No hay que ponerlos en un fichero de configuración real.

¿Fácil y personalizable verdad? Espero que sea de interés para alguno. Otro día más. ;)


No hay posts relacionados.








Etiquetas:
4 Respuestas a “Como conmutar relés mediante SMS”
  1. crisemy dice:

    Se envía el sms pero el comando es “Comando Error”. No entiendo que sucede. Me podrías ayudar?

    Saludos y gracias.

  2. blogElectronica dice:

    Hola Crisemy,

    eso es porque no has escrito correctamente el fichero de configuración. Si tienes algo como esto:

    SMS_alias1: ON1>AT^SSIO=0,0

    te funcionará correctamente. De hecho el comando SMS te está llegando al módem (si no no te contestaría con SMS de error). Lo que ocurre es que tendrás mal escrito la parte de “AT^SSIO=0,0″ (o del relé que vayas a usar) con total seguridad.

    Si quieres o tienes dudas pon aquí o envíame el fichero JAD de configuración y te echo una mano.

    Salu2.

  3. Fabian dice:

    Hola Jose, tengo una rutina en j2me para el tc65 y lo que hace es enviar 30 sms uno por uno, los envia al momento de cambiar una de sus entradas, pero tengo el problema que se demora demasiado tiempo en enviarlos y a demas la red GSM parece que no le da mucha prioridad al envio de sms, que me recomiendas? Crees que se puede enviar SMS a través de GPRS de alguna forma? Tu que estas en el medio me puedes decir como hacen las personas que desarrollan alarmas para que los sms lleguen de inmediato?
    Te agradezco tu colaboración

    • blogElectronica dice:

      Hola Fabian,

      por desgracia no es posible enviar más de unos 6 SMSs por minuto, la propia red lo impide. De hecho hay equipos (por ejemplo el (creo recordar) i-SMS de Multitech) que la única misión que tienen es el envío de SMSs masivos. Esos equipos disponen en su interior de varios módems GSM con sus correspondientes SIMs, precisamente por esta limitación.

      Salu2.

  4.  
Deja una Respuesta

Puedes publicar un comentario aquí si quieres, pero te recomiendo que uses el nuevo foroElectronica.com para introducir comentarios. Te contestaré más rápido. Recuerda que debes registrarte si no lo estás para publicar un comentario.