Revista 100% Verde

Instalación de Node-Red, InfuxDB y Grafana

Por Soloelectronicos @soloelectronico

La Raspberry Pi es una placa ideal para monitorear todo tipo de cosas. Hoy usaremos Node-Red, InfluxDB y Grafana para monitorizar diferentes entidades , así como habilitar alarmas hacia nuestro smartphone o en el correo.

Resumidamente estos son los tres componentes que usaremos

  • Grafana es un software libre basado en licencia de Apache 2.0,que permite la visualización y el formato de datos métricos. Permite crear cuadros de mando y gráficos a partir de múltiples fuentes, incluidas bases de datos de series de tiempo como Graphite, InfluxDB y OpenTSDB.​ Originalmente comenzó como un componente de Kibana y que luego le fue realizado una bifurcación
  • es una base de datos de series de tiempo de código abierto (TSDB) desarrollada por InfluxData. Está escrito en Go y optimizado para el almacenamiento y la recuperación rápidos y de alta disponibilidad de datos de series de tiempo en campos como el monitoreo de operaciones, métricas de aplicaciones, datos de sensores de Internet de las cosas y análisis en tiempo real. También tiene soporte para procesar datos desde Graphite .
  • es una herramienta de desarrollo basada en flujo para programación visual desarrollada originalmente por IBM para conectar dispositivos de hardware, API y servicios en línea como parte del Internet de las cosas . roporciona un editor de flujo basado en navegador webJavaScript . Los elementos de las aplicaciones se pueden guardar o compartir para su reutilización. El tiempo de ejecución se basa en Node.js . Los flujos creados en Node-RED se almacenan mediante JSON . Desde la versión 0.14, los nodos MQTT pueden realizar conexiones TLS P configuradas correctamente . En 2016, IBM contribuyó con Node-RED como un , que se puede utilizar para crear funciones de proyecto de JS Foundation de código abierto .

Preparar imagen en tarjeta SD

Descargar imagen: http://bit.ly/2GdZbPe
Agregar archivo ssh vacío al directorio raíz de la tarjeta
Agregar wpa_supplicant.conf al directorio raíz

Contenido del archivo wpa_supplicant.conf:

country = CH
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1
network = {
ssid = "..."
psk = "..."
}

Inserte la tarjeta SD en su Raspberry, arranque y encuentre su dirección IP por ejemplo usando https://www.advanced-ip-scanner.com o simplemente con el comando sudo ifconfig
Inicie sesión desde un terminal usando Putty https://www.putty.org/ usando las credecniales por defcto: Pi/raspberry

Ahora debe actualizar su Raspberry a la versión más reciente :

 sudo apt-get update & sudo apt-get upgrade

Configuración en la Raspbery

Configuración de Mosquitto

Tenemos que modificar el fichero mosquito,conf , para lo cual;

sudo nano /etc/mosquitto/mosquitto.conf

Insertaremos el siguiente comando al finala del fichero y salivar los cambios:
allow_anonymous true

Reiniciar Mosquitto

 sudo systemctl reiniciar mosquitto

Configuración de influxDB

Crear usuario:

CREATE USER "pi" WITH PASSWORD 'raspberry' WITH ALL PRIVILEGES
exit

Cambiar archivo de configuración:

sudo nano /etc/influxdb/influxdb.conf

En [http] descomente:
enabled = true y bind-address =: 8086
en [monitor] descomente y cambie a:
store-enabled = false

sudo service influxdb restart

Configuración de Node-Red

Importar flujos desde: https://drive.google.com/open?id=1kECuykSaFO7Qb_67QqIHtlpvElpVWDMI

Instalar correo

sudo apt-get install ssmtp
sudo apt-get install mailutils
sudo nano /etc/ssmtp/ssmtp.conf

Para Gmail, ingrese este texto:

mailhub = smtp.gmail.com: 587
AuthUser = [yourmailaddress] @ gmail.com
AuthPass = [emailPassword]
UseSTARTTLS = YES
UseTLS = YES

Pruebe su correo

echo "Hola mundo cuerpo del correo electrónico" | mail -s "Prueba asunto "[email protected]

Agregue soporte para aplicaciones menos seguras en Gmail: https://myaccount.google.com/lesssecureapps

Crear una base de datos influxDB

influx

Create database [su nombre de la base de datos]
Show DATABASES
Use [ su nombre de la base de dato]
Show series

exit

Instalar y preparar Telegram

Instale Telegram en su PC https://desktop.telegram.org/

Inicie el telegrama y busque "botfather"

Instalación de Node-Red, InfuxDB y Grafana

Ingrese el nombre de su bot deseado anotando la ficha.
Envíe un mensaje de texto al bot.

Vaya a: https://api.telegram.org/bot[Token]/getUpdates y tome nota de la identificación (ID) pues lo usaremos más tarde:

Instalación de Node-Red, InfuxDB y Grafana

Prepare Grafana

Instalación de Node-Red, InfuxDB y Grafana
Agregue una fuente
Instalación de Node-Red, InfuxDB y Grafana
Agregue el tablero importando un archivo JSON:

Ejemplos:
Presión de cerveza: https://drive.google.com/open?id=1beKyu4WuGErAHeYKyE3-8wtpyZJ8yHkZ
Clima: https://drive.google.com/open?id=18326_tjcVln0xBLRJINJn2ZwP0lNlyHX
YouTube: https://drive.google.com / open? id = 1TrZAGnxn4zRfyO_X8RXw4ZtQIvJi8JnQ

Agregar canal de notificación por correo

sudo nano /etc/grafana/grafana.ini

enabled=true
host = smtp.gmail.com:587
user =[receivingEmail]@gmail.com
password ="[emailPassword]"
skip_verify = true
from_address = [sendingEmail]@gmail.com
from_name = [whateverName]

Instalación de Node-Red, InfuxDB y Grafana
Ir a los canales de notificación
Instalación de Node-Red, InfuxDB y Grafana
Agregar nuevo canal
Instalación de Node-Red, InfuxDB y Grafana
Editar canal de notificación y presione Send Test ("Enviar texto")

Agregar canal de notificación de Telegram

Instalación de Node-Red, InfuxDB y Grafana
Agregar nuevo canal de notificación de Telegram

Añada ahora el nuevo canal de notificaciones de Telegram. Insertar chatID y token obtenidos anteriormente

Y presione "Enviar prueba"

Contraseñas por defecto usadas

Fuente: sensoriot.org


Volver a la Portada de Logo Paperblog