En este ejemplo hacemos un seguimiento a personas, autobuses o ciclistas que se mueven por la ciudad de Madrid y envían su localización a nuestros servidores.
Se pueden agregar nuevos dispositivos virtuales al mapa, seleccionando un par de puntos (origen y destino), el sistema busca la ruta más corta (en tiempo) entre estos puntos y realiza el recorrido en el mapa.
Al hacer click sobre los objetos en movimiento en el mapa, se mostrará una imagen del lugar por el que está pasando en ese momento.
IoT con PubNub
El diagrama de la izquierda muestra la arquitecture general del flujo de datos en el ejemplo. PubNub es un Data Stream Network que implementa el patrón Publish-Subscriber, que conciste en asignar mensajes a una "categoría". Un publicador, puede enviar mensajes a una o varias categorías, y un subscriptor puede elegir recibir mensajes de una categoría específica.
En este caso, los publicadores de mensajes son los dispositivos que informan de la geo-localización de sus portadores (persona, ciclista, autobus o coche). PubNub nos provee de manera transparente la infraestructure necesaria para el envío, almacenamiento y recepción de los mensajes, usamos su SDK de JavaScript en todo el proceso. PubNub es reconocido como una de las más eficaces herramientas para soluciones IoT por ofrecer un infraestructura confiable, eficiente y de escalabilidad transparente a los usuarios.
Para la integración con mapas, se usa PubNub EON, contruido sobre MapBox y que permite configurar un mapa como un subscriptor de mensajes. De esta forma se delega en el API de MapBox la funcionalidad de actualizar la localización en el mapa en cada recepción de mensajes de los dispositivos.
La funcionalidad de trasladar el dispositivo insertado por el usuario desde un punto a otro en el mapa se logra usando los modulos "Direction" y "Geocode" del API de MapBox