NKM Labs – IoT Stack

Este post forma parte de la serie “Proceso del IoT” y explica como instalar NKM – Labs IoT Stack en un Raspberry Pi para convertirlo Gateway de IoT o un “sandbox”.

Al finalizar la instalación tendrás una solución IoT local y personalizable para experimentar sin preocuparse por servicios en la nube y sus costos asociados.

NKM – Labs IoT Stack son varios contenedores de Docker interconectados y pre configurados que proveen;

 

 

  • Mosquitto: Bróker de mensajes MQTT
  • Telegraf: Recolecta información del bróker MQTT y otras fuentes si es necesario, las procesa y transforma para su almacenamiento
  • InfluxDB: Base de datos de serie de tiempo, almacena los valores de los valores recolectados por Telegraf.
  • Crhonograf: Permite consultar y administrarlas bases de InfluxDB
  • Grafana: Permite armar paneles web personalizados con gráficos para mostrar la visualizar actual e histórica almacenada.

Las imágenes de Mosquitto y Grafana NO SON OFICIALES. Al momento no hay imágenes oficiales de Docker para Raspberry Pi.

Paso 1 – Instalar Docker en RPI

Todo el stack esta basado den Docker. Pose utilizar nuestra guía que detalla todos los pasos.

Paso 2 – Instalar el cliente de Git

Git es el programa que usamos para bajar código desde un repositorio de código, en este caso nuestro repositorio en Github.

sudo apt-get install git

Paso 3 – Clonar el repositorio

Esta línea de comando copia el repositorio con todo el código que define las imágenes de docker y su configuración.

git clone https://github.com/NakamaLab/iotstack.git

Paso 4 – Ejecutar el stack

cd iotstack
docker-compose up -d

Docker compose va a descargar todas las imágenes desde hub.docker.com , esto tarda un rato y va a instanciar los contenedores.

Paso 5 – Probar

Antes de empezar recuerden que pueden obtener la direccion IP del raspberry usando nmap

MQTT

Para probar el broker mqtt podemos utilizar un cliente html

  1. Ingresar a http://www.hivemq.com/demos/websocket-client/
  2. Colocar en host la direccion IP del raspberry
  3. Colocar en puerto 9001
  4. Presionar el botón conectar, si no funciona
  5. Al conectarse habilita la sección de publish y subscribe
  6. Subscribirse al topic testtopic/# 1.Publicar al topic testtopic/1 el mensaje 1.Luego de nos segundos publicar al topic testtopic/1 el mensaje 2 y así varias veces.

Cronograf

  1. Ingresar a http://<<ip del raspberry>>:8888
  2. Crear un nuevo origen de datos como lo indica la imagen (hay que cambiar localhost por influxdb)
  3. DB.RetentionPolicy : telegraf.autogen 1.Measurement & Tag : mqtt_consumertopictesttopic/1
  4. Field: value
  5. Fill: Previous

Debajo se podrá visualizar un gráfico con los valores.

Grafana

Ingresar http://<<ip del raspberry>>:3000

usuario y pass : admin en minúsculas AMBOS en Linux el nombre de usuario también es sensible a mayúsculas y minúsculas

Agregar un nuevo data source

Ingresamos los datos de conexión a influxdb

Creamos un nuevo dashboard e insertamos un grafico

Seleccionado el titulo del nuevo panel y editar para modificar el origen de datos

Conclusión

La solución  Docker, MQTT, Grafana, Influx y RaspberryPi conforman este NKM IoT Stack que proporciona casi todos los elementos que conforman el proceso del IoT. Solo falta el paso mas importante… La producción de datos.

Compartit en: Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someonePrint this page

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *