martes, 8 de marzo de 2016

FASE 7. COLAS Y EVENTOS CON MQTT



Message Queue Telemetry Transport (MQTT) es un protocolo de conectividad abierto Machine-to-Machine (M2M) que permite enviar datos estilo telemetría como mensajes a través de redes de alta latencia o con restricciones.

Está diseñado para ser una mensajería Publish-Suscribe muy ligera, es muy útil para conexiones donde es importante no consumir mucho ancho de banda La arquitectura de MQTT sigue una topología de estrella, con un nodo central que hace de servidor o “broker” con una capacidad de hasta 10000 clientes. El broker es el encargado de gestionar la red y de transmitir los mensajes, para mantener activo el canal, los clientes mandan periódicamente un paquete (PINGREQ) y esperan la respuesta del broker (PINGRESP). La comunicación puede ser cifrada entre otras muchas opciones.

La comunicación se basa en unos “topics” (temas), que el cliente que publica el mensaje crea y los nodos que deseen recibirlo deben subscribirse a él. La comunicación puede ser de uno a uno, o de uno a muchos.

Un “topic” se representa mediante una cadena y tiene una estructura jerárquica. Cada jerarquía se separa con ‘/’. Por ejemplo, “/controlador/plazas/plaza1/ocupada”. De esta forma se pueden crear jerarquías de clientes que publican y reciben datos.

De esta forma un nodo puede subscribirse a un tema concreto “/controlador/plazas/plaza1/ocupada”  o  a varios “/controlador/plazas/#”.

MQTT permite dos tipos diferentes de comunicación:

1) A nivel de IP que será  el caso que se utilice en este proyecto, la comunicación se realizará entre el controlador a través de Ethernet y la Raspberry Pi, que será el servidor MQTT
2) A nivel de sensor con MQTT-SN, donde en un futuro se podría utilizar con
El primer paso sería instalar el servidor en la Raspberry PI con:
sudo apt-get install mosquitto && sudo apt-get install mosquitto-clients
Como el controlador recoge los valores de las plazas, solo será necesario incluir la librería de MQTT para Arduino y utilizarla.

No hay comentarios:

Publicar un comentario