HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

Solución M2M para telemetría y control del microcontrolador Bolt 18F2550, desde un servidor TCP-IP, a través de las redes GPRS e internet.  

Desarrollo del proyecto: Moisés Meléndez Reyes

 

Vea el video de alta resolución HD

 

1. Introducción:

El llamado control M2M (Machine to Machine) incorpora las redes GPRS e internet como vehículos para la trasmisión de datos en un sistema de telemetría y control remoto de dispositivos. De esta forma, un sistema microcontrolador equipado con un módem GSM SIM900 puede establecer un enlace con una PC (habilitada como servidor TCP-IP), ubicada en cualquier lugar del planeta en donde exista el servicio de internet.

En la figura de abajo se muestra el diagrama de bloques: el sistema microcontrolador tiene como tareas supervisar sensores y operar actuadores (por ejemplo en una casa habitación). Dicho sistema puede ser a su vez monitoreado remotamente desde un puesto central, en donde también pueden darse comandos remotos al dispositivo microcontrolador. Las ventajas de un sistema como el descrito son las siguientes:

- Acceso remoto con status en línea del enlace cliente - servidor TCP-IP. En este esquema, el servidor es una computadora PC conectada a internet mientras el cliente TCP-IP es el sistema microcontrolador. Una vez establecida la comunicación, en forma transparente al usuario, éste puede manejarla como si se tratase de un enlace punto a punto por cable serial, con tiempos de respuesta de apenas algunos segundos.

- Bajo costo de trasmisión de datos. Dado que los operadores de telefonía móvil cobran el servicio de la red GPRS por uso del ancho de banda, y tomando en cuenta que el intercambio de mensajes entre ambos puntos consume muy poco tráfico de la red, el costo es muy bajo comparado por ejemplo con un sistema que utilice el envío de mensajes SMS para la comunicación entre el puesto central de control (la computadora PC) y la terminal remota (el sistema microcontrolador).

- Alcance ilimitado: considerando que se utiliza infraestructura con cobertura global como son las redes GPRS e internet, es posible realizar la telemetría y el control remotos del sistema microcontrolador desde prácticamente cualquier sitio del planeta.

- Software de aplicación servidor TCP-IP para PC Windows disponible en forma gratuita. Existen varios programas que pueden bajarse de internet, para permitir la operación de la máquina PC como servidor TCP-IP. Como ejemplos están el llamado SocketTest y el Servidor TCP-IP Hércules. Este último cuenta con una versión gratuita para usos no comerciales.

- Puede utilizarse el servicio de DNS dinámico, el cual permite asignar un hostname fijo (por ejemplo puntoflotante.ddns.net) a la IP dinámica del servidor TCP-IP, la cual normalmente se modifica contínuamente. De esta forma, el firmware del microcontrolador (el cual debe utilizar dicho nombre al enviar comandos al módem GSM), no requiere de ninguna modificación a lo largo del tiempo.

FIGURA 1

 

2. Descripción general:

Con base en la figura de abajo, en este proyecto se desarrolló el enlace para permitir la telemetría y el control remotos del microcontrolador Bolt 18F2550, mediante una solución M2M como la explicada en la introducción. El sistema Bolt, acompañado de un módem GSM SIM900, puede ser operado remotamente mediante 3 comandos, los cuales son escritos manualmente por el usuario desde una computadora PC Windows 8:

- lee temperatura: el microcontrolador envía a la computadora PC la temperatura leída de su sensor, en grados centígrados.

- enciende relevador: el microcontrolador activa su relevador y envía la confirmación 'relevador encendido!'

- apaga relevador: el microcontrolador desactiva el relevador y envía la confirmación 'relevador apagado!'

FIGURA 2

 

El sistema microcontrolador lleva acoplado a su puerto serial RS232 un módem GSM operando con el circuito SIM900 y el cual incluye un receptáculo para la insersión de un chip SIM. El módem es controlado a través de comandos AT y tiene ya integrado el protocolo TCP-IP en su firmware, de tal manera que puede conectarse y trasmitir información por internet.

Inicialmente el cliente TCP-IP, que en este caso es el microcontrolador, inicia el procedimiento de conexión hacia la red GPRS. De la estación base, la información es derivada hacia internet para finalmente completar la conexión con el servidor TCP-IP. Una vez que la conexión está lista, el usuario puede teclear cualquiera de los comandos remotos referidos.

 

3. Datos importantes del proyecto:

* Se empleó una PC Windows 8 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 GSM SIM900, todas las pruebas fueron realizadas utilizando un chip SIM (modo de prepago) del operador Telcel. Para la conexión GPRS de Telcel se utilizaron los siguientes datos:

APN: internet.itelcel.com
Nombre de usuario: webgprs
Contraseña: webgprs2002

* 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 GSM SIM900, es de 9600 bps. Siga el siguiente manual para fijar la velocidad del módem a 9600: Pruebas iniciales al módem GSM-SIM900.pdf

 

4. Hardware del cliente TCP-IP:

En la foto de la figura 3, se muestra el hardware completo del cliente TCP-IP (ver también la figura 1). Consiste de las siguientes componentes:

1. Microcontrolador Bolt 18F2550 con un LCD 16x1 para mostrar el status del sistema.

2. Mini Core módem GSM GPRS SIM900

3. Adaptador AC/DC, ajustado a 7.5 volts @300 ma. marca Steren para alimentar la tarjeta Bolt 18F2550.

4. Arnés de conexión DB9 con 3 cables, para la conexión del puerto serial RS232 en el sistema Bolt 18F2550, al módem GSM SIM900

5. Adaptador de voltaje AC/DC de 7.5 a 9.0 volts@1 amp. para alimentar al regulador de voltaje LM317.

6. Regulador de voltaje LM317 de 3.9 volts, para la alimentación del mini core módem GSM SIM900.

7. Adaptador de plug a terminal de tornillos

La empresa vende un kit de desarrollo completo con los dispositivos mostrados

 

FIGURA 3

 

5. Firmware del microcontrolador Bolt 18F2550:

El firmware para el microcontrolador Bolt 18F2550 fue desarrollado en lenguaje ANSI C y con el compilador C18 de Microchip. Se utilizó el ambiente de desarrollo MPLAB-IDE. El control de Módem GMS SIM900 se realiza a través del puerto serial RS232 por medio del set extendido de los comandos AT para el circuito SIM900.

Importante: para su funcionamiento correcto con el firmware, el módem GSM SIM900 debe estar inicializado para operar a un baud rate fijo de 9600 bps. Siga las instrucciones de la siguiente guía para hacerlo: Pruebas iniciales del módem GSM SIM900.pdf

Se dispone de 2 versiones del firmware:

FIRMWARE-SIM900-BOLT-VERSION-1.zip

- La versión 1 del firmware no contiene mecanismos que aseguren el enlace permanente entre cliente y servidor. Se trata de una versión preliminar, adecuada para llevar a cabo las primeras pruebas del sistema.

FIRMWARE-SIM900-BOLT-VERSION-2.zip

Para la versión 2 del firmware, se añadieron los siguientes 2 mecanismos de seguridad:

- La conexión entre el cliente y el servidor TCP-IP tiene un timeout que fija el operador de telefonía celular para el servicio GPRS (que en este proyecto es Telcel) y que es de alrededor de 1 ó 2 minutos. Pasado ese tiempo, y en caso que no existiese intercambio de mensajes entre el cliente y el servidor, la conexión se cerraría en forma automática. Para evitar la ocurrencia del timeout, desde el cliente al servidor se envía el mensaje "..." cada 25 segundos. Ésto mantiene vivo el enlace en forma indefinida. Nota: el procedimiento para el envío de este mensaje ("...") consume un tiempo aproximado de 3 segundos. Durante este período, el cliente (microcontrolador) no responderá a los comandos enviados desde el servidor.

- Además de lo mencionado en el párrafo anterior, en el firmware del microcontrolador Bolt 18F2550 se activa la función 'Watch-Dog', lo cual garantizará la reconexión entre cliente y servidor en cualquier eventualidad (por ejemplo, en caso que el servidor quede apagado ó la aplicación Hércules no esté activa). De esta manera, el firmware está programado para que, en caso de que transcurran 131 segundos sin existir comunicación entre el cliente y el servidor, el microcontrolador se da un auto-reset automático y reinicia la conexión.

Lo antes descrito garantiza un enlace confiable, estable y permanente entre el cliente y el servidor TCP-IP. Cargue en el sistema Bolt 18F2550, el archivo .hex de la versión del firmware de su elección.

 

6. Implementación del servidor TCP-IP con servicio de DNS dinámico, con una PC Windows 8:

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:

7. Download de la aplicación de software servidor TCP-IP para su máquina.

 

 

 

Como se explicó previamente en el punto 1, para habilitar su máquina PC como servidor TCP-IP, se requiere de un software especializado.

Baje aquí el programa de aplicación: Servidor TCP-IP Hércules.

El software consta de un solo archivo .exe como se muestra en la imagen de la izquierda, y no requiere de instalación. Guarde el archivo en su carpeta de trabajo para este proyecto.

Puede usted también bajar este software directamente del sitio de internet: Servidor TCP-IP Hércules.

 

 

8. Configuración del software Hércules Servidor TCP-IP.

 

 

Abra el archivo de nombre hercules_3-2-8.exe previamente almacenado en el punto 6. Una vez en la pantalla de inicio, usted requiere activar 3 funciones: primeramente dé click sobre la pestaña llamada 'TCP Server'.

Posteriormente escriba en la ventana llamada 'Port' el número 2020, que es el puerto asignado a su servidor TCP-IP. Ahora, para iniciar la aplicación, dé click en el ícono de color verde denominado 'Listen' y verá la pantalla como se muestra en la FIGURA 4.

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

 

9. 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:

 

 

 

 

 

Desactivación del Firewall del software antivirus Panda.

 

En cuanto al software antivirus, dependiendo de su versión, habrá que aplicar el procedimiento correspondiente. En el caso particular del antivirus PANDA, versión 2015, la ventana de configuración del Firewall se muestra en la imagen de la izquierda.

Nota importante: por favor considere que al desactivar las protecciones de Firewall en su computadora, el riesgo de ingreso de malware ó software malintencionado en su máquina se incrementa.

10. Pruebas de telemetría y control remoto del sistema Bolt 18F2550:

Finalmente, estamos listos para efectuar las pruebas de acceso remoto (ver FIGURA 2). 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 4. Su módem router debe estar configurado como se indicó en el punto 5, y el servicio de DNS dinámico debe haber sido dado de alta siguiendo las instrucciones en el mismo punto 5. La pantalla del software Hércules debe estar en espera como se muestra en la figura de arriba.

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 GSM SIM900 debe estar inicializado a un baud rate de 9600 bps para esta prueba, pues de lo contrario no podrá establecer comunicación con el microcontrolador. También revise que el chip SIM 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 (ó bien, si el switch ya está encendido, oprima el botón de reset del microcontrolador Bolt 18F2550). 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. Pasados entre 1 a 2 minutos, 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

A partir de este momento, usted ya puede enviar los comandos descritos en el punto 2, desde el servidor TCP-IP. Por ejemplo, tecleé el comando 'enciende relevador' en la ventana como se muestra en la FIGURA 6 y dé click en 'Send'. Segundos después, el microcontrolador Bolt 18F2550 activa su relevador y envía la confirmación 'Relevador encendido!'.

Ahora escriba 'apaga relevador' y dé click en 'Send'. Segundos después, el microcontrolador apaga su relevador y envía el mensaje 'Relevador apagado!'. Proceda a leer la temperatura tecleando 'lee temperatura'. Segundos después, usted observará la medición de la temperatura enviada por el microcontrolador.

 

FIGURA 6

 

Otros links:

Kit M2M con sistema Bolt 18F2550 y módem SIM900

Mini Core SIM900 Modem GSM Quad Band