Control remoto M2M: solución utilizando la red de datos UMTS e internet con el protocolo cliente-servidor TCP-IPAutor del proyecto: Moisés Meléndez Reyes
1. Descripción general: Las nuevas tecnologías permiten utilizar las redes de datos de telefonía móvil para el control remoto y telemetría de sistemas microcontroladores, conocido como M2M (Machine to Machine), a un costo muy barato del ancho de banda, dado que el volumen de datos trasmitidos es en general muy bajo. Adicionalmente, dado que en estos sistemas ya es posible utilizar tanto la infraestructura de la red de telefonía móvil, como internet, puede establecerse una conexión entre localidades con una cobertura global, incluyendo la capacidad de tener tanto el puesto central de control como las terminales remotas en distintas regiones de un país, ó incluso en distintos países. Para la implementación de un sistema como el descrito, se hace uso de módems con posibilidad de conexión a la red celular, y que cuentan además con un puerto serial RS232 a través del cual es posible controlarlos por medio de una computadora PC ó bien de un microcontrolador. Tal es el caso del módem Quectel UMTS G3, el cual es utilizado en el presente proyecto. Con base en el diagrama de la figura 1, haciendo uso de un enlace del tipo Cliente- Servidor TCP-IP, se implementó un control remoto entre una computadora PC, y un microcontrolador Bolt 18F2550, conectado con el Módem Quectel UMTS mencionado. Las capacidades del sistema son: - Conexión simple entre el microcontrolador y el módem, usando un cable serial RS232 (ver punto 4), y estableciendo entre ellos una comunicación por medio de los comandos AT. - Módem Quectel operando en la red UMTS, 3G, con cobertura global y un tiempo de respuesta rápido. - Software servidor TCP-IP para la PC gratuito y fácilmente configurable para su conexión al router y a la red internet. - Alcance global entre Cliente y Servidor TCP-IP, utilizando la red de datos de telefonía móvil e internet. - Uso del servicio DDNS 'Dynamic Domain Name Service' el cual actualiza automáticamente su información en el router y permite el uso de una dirección única para el servidor TCP-IP.
Figura 1. Diagrama general de bloques del sistema M2M
2. Comandos remotos disponibles para control remoto y telemetría: Con base en la figura 1, una vez que se tiene el enlace Cliente Servidor con status online, es posible para el usuario enviar cualquiera de los 4 comandos listados. Adicionalmente, el sistema remoto detecta en forma automática y envía el status 'abierto' - 'cerrado', de una puerta (emulada por el dip switch SW1 del sistema Bolt) cada vez que hay algún cambio. - 'enciende relevador': activa remotamente el relevador del
sistema Bolt.
3. Hardware utilizado como Cliente TCP-IP del sistema de telemetría. Para implementar el Cliente TCP-IP, se hace uso de un sistema microcontrolador Bolt, con un display LCD 16x1 y conectado por medio de un cable serial, al módem Quectel UMTS, como se muestra en la figura 3. El Bolt controla al módem por medio de cadenas de caracteres ASCII, conocidos como comandos AT. En el display LCD se muestra el status actual del sistema, inlcuyendo cada uno de los comandos enviados, así como el status 'online' - 'offline' del enlace remoto. Para garantizar la confiabilidad del enlace se usa una antena de 3 db de ganancia y con un cable de 3 metros de longitud, lo que permite posicionarla en lugares con buena comunicación con la estación base más cercana del operador de telefonía celular.
Figura 3: Hardware del microcontrolador Cliente TCP-IP remoto
4. Arnes para la conexión entre los puertos seriales RS232
de los dispositivos Bolt-Módem Quectel UC15:
5. Datos importantes del proyecto: * Se empleó una PC Windows 10 para habilitar la aplicación de servidor TCP-IP. * Conectado a la PC (por vía WiFi), se utilizó un módem router Telmex Alcatel Lucent Infinitum modelo 1-240W-A, de fibra óptica, y el cual tiene asignada la siguiente dirección para su configuración: http://192.168.1.254/ * La guía usada para configurar el módem router infinitum es la siguiente: Servidor TCP-IP configuración router infinitum * La aplicación de software para el servidor TCP-IP utilizada en la PC es: Servidor TCP-IP Hércules. * Para el módem Quectel UMTS, todas las pruebas mostradas fueron realizadas utilizando un SIM en modo de prepago del operador Telcel. Se realizaron pruebas con SIM tanto de las redes 2G y 3G (MicroSim, V5.0 128 Kb) * Para la conexión UMTS de la red de datos de Telcel se utilizó la siguiente configuración dentro del firmware del microcontrolador Bolt: APN: internet.itelcel.com * Para el servicio de DNS dinámico (DDNS, dynamic domain name service), se utilizó este link. El hostname ó dominio utilizado para el acceso al IP dinámico de la computadora PC servidor TCP-IP es: puntoflotante.ddns.net * La guía utilizada para dar de alta el servicio en el DDNS es ésta: NoIP-DDNS-Create-Hostname-User-Guide.pdf * El número de puerto ó socket utilizado en el servidor TCP-IP es: 2020 * El baud rate de la conexión RS232 entre el microcontrolador Bolt 18F2550 y el módem, es de 9600 bps. Adicionalmente, el módem Quectel debe estar configurado de tal manera de habilitar los URC (Unsolicited Result Codes). Siga el siguiente manual para configurar correctamente el módem: CONFIGURACION-INICIAL-Y-PRUEBAS-DEL-MODEM-QUECTEL-UC15.pdf
7. Implementación del servidor TCP-IP con servicio de DNS dinámico, con una PC Windows 10: Como se explicó en la introducción de este proyecto, para el funcionamiento del enlace Cliente (microcontrolador) - Servidor (computadora PC), se requiere habiltar la PC como servidor TCP-IP. Siga los siguientes tutoriales para realizar la configuración en su propio módem-router y la computadora PC y dar de alta el servicio DNS dinámico:
8. Download de la aplicación de software servidor TCP-IP para su máquina.
9. Configuración del software Hércules Servidor TCP-IP.
Con base en la Figura 4, en este momento, el Servidor TCP-IP ya se encuentra listo para el acceso remoto con el microcontrolador Bolt 18F2550 a través de internet. En la ventana de status de la conexión (Client connection status), se muestra el mensaje "All connections closed", ya que el controlador remoto se encuentra por el momento apagado.
Figura 4
10. No olvide desactivar el Firewall de Windows y de su antivirus: Para permitir la conexión entre los sistemas cliente y servidor TCP-IP, deben desactivarse las opciones del firewall tanto de Windows como de su antivirus, pues de lo contrario el software Servidor TCP-IP Hércules no funcionará adecuadamente. En Windows 8, siga el siguiente procedimiento: >Configuración >Panel de Control >Firewall de Windows >Activar ó desactivar Firewall de Windows Desactive el Firewall en la configuración tanto de Red Pública como Privada, quedando las ventanas como se muestran abajo:
11. Pruebas de telemetría y control remoto del sistema Bolt 18F2550: Finalmente, estamos listos para efectuar las pruebas de acceso remoto (ver Figura 1). Usted debe tener listo su hardware como se muestra en el punto 3, con el microcontrolador Bolt 18F2550 ya cargado con el firmware indicado en el punto 6. Su módem router debe estar configurado como se indicó en el punto 7, y el servicio de DNS dinámico debe haber sido dado de alta siguiendo las instrucciones en el mismo punto 7. La pantalla del software Hércules debe estar en espera como se muestra en la figura 4. Hay que recordar que, tratándose del protocolo TCP-IP, la secuencia de conexión entre cliente - servidor debe iniciarla el cliente, mientra el servidor se encuentra en stand by (espera). Revise 2 puntos importantes antes de continuar: el módem Quectel UMTS debe estar inicializado a un baud rate de 9600 bps y con los URC habilitados (ver punto 5) pues de lo contrario no podrá establecer comunicación con el microcontrolador. También revise que el chip SIM (Telcel) del módem esté en su receptáculo y que tenga saldo disponible. Con base en la Figura 3, active el switch general de alimentación del hardware del cliente TCP-IP. Usted observará en el LCD del sistema la secuencia de comandos AT que se están ejecutando con el fin de establecer la conexión con el servidor TCP-IP. Pasado alrededor de 1 minuto, usted verá la conexión establecida, y el cliente TCP-IP envía un mensaje de bienvenida, como se muestra en la siguiente pantalla:
Figura 5
Prueba de comandos remotos: Cada 45 segundos, el Cliente envía al Servidor TCP-IP tres puntos suspensivos ("..."), los cuales confirman el status online del enlace. El usuario puede escribir cualquiera de los comandos mostrados como se muestra en la figura 6, dando click en el botón Send. Por cada comando enviado, deberá recibir la confirmación en la propia pantalla de la aplicación. Si el usuario mueve la posición del dip switch SW1 del sistema Bolt, entonces se enviará automáticamente el mensaje 'La puerta se ha abierto' ó 'La puerta se ha cerrado'. Nota importante: para óptimos resultados, se recomienda enviar los comandos después de la recepción de los puntos suspensivos ("..."). Ésto dará estabilidad al enlace, minimizando los tiempos de espera.
Figura 6: pantalla que muestra los comandos remotos al Cliente TCP-IP
Links adicionales: Control remoto M2M con mensajes SMS desde teléfono móvil. Bolt 18F2550 y módem Quectel Alartma puerta abierta con mensajes SMS. Bolt 18F2550, módem Quectel UMTS
|