Archivi tag: nginx

Monitoraggio Sensori – Configurazione Grafana

Dopo aver configurato nodered per inoltrare i dati ai database, si utilizzano dei sensori di temperatura ed umidità con ESP8266, come già visto negli articoli precedenti

Mqtt con Beaglebone ed ESP8266 – Lista Articoli

Di seguito il firmware utilizzato ed il codice per l’invio dei dati dei nodi ESP8266

Firmware ESP8266

Temperatura-Umidià ESP8266

All’interno dello zip del firmware è presente lo script per eseguire l’upload del firmware sulla porta COMX (da modificare nella propria porta COM) su windows.

Nel codice LUA invece occorre inserire i dati del proprio router wireless, l’ip del server mqtt, le impostazione della stanza, sostituendo roomx, con room1, room2,ecc.

Si può quindi impostare Grafana, accedendo alla Dashboard, aggiungendo come sorgenti dati Mysql ed InfluxDB

grafanaSourceCon Add data source si accede alla schermata dei Data Source, da cui si scelgono InfluxDB e MySql

grafanaAddSourceDi seguito le impostazioni eseguite per InfluxDB e MySql

InfluxDBInfluxDBESPMySqlMySqlESPLe due connessioni sono presenti nella configurazione dei datasource

AllDataSource

Di seguito l’export delle due Dashboard usate nell’articolo da importare sul proprio sistema con il pulsante Import

importDashboards

Dashboards

Ecco la schermata della Dashboard ESPRealtime con i dati reperiti su InfluxDB

RealTimeGrafanaPer visualizzare lo storico dei dati, si utilizza MySql con la Dashboard ESPHistory

HistoryGrafana

 

Monitoraggio Sensori – Configurazione Nodered

A questo punto impostiamo nodered per leggere i messaggi su Mosquitto ed inserire i dati in InfluxDB e MySql.

Di seguito il file json da importare in nodered

Json Nodered

Tale flusso è funzionale alla spiegazione del funzionamento della architettura nel complesso; il flusso deve essere ottimizzato programmando nodered in modo da generare automaticamente le informazioni dei nodi da cui arrivano i dati senza ricorrere a diversi nodi per ciascun sensore.

Per eseguire l’import procedere come segue, dopo aver acceduto a nodered

http://dashboardora.local/nodered

e dopo aver cliccato sul menù a destra, scegliere di importare il json da clipboard

importFlowsAlla schermata successiva, scegliere di importare il file json in un nuovo flusso

flowUna volta importato, impostare le credenziali per accedere a MySql ed InfluxDB, selezionando dal menu a destra Configuration nodes ed impostando utenza e password

configureNodesVengono mostrate le connessioni ai db e mosquitto

configureNodesDBDi seguito l’impostazione di MySql, accedibile cliccando con il mouse due volte su ESPMYSQL

MySqlSetting

Con Update si aggiorna il nodo.

Per rendere operativi i flussi cliccare su Deploy

deployOra con nodered prendiamo il contenuto dei vari topic mqtt e li inseriamo all’interno di MySql e di InfluxDB.

Nel prossimo articolo visualizziamo tali dati in Grafana

Monitoraggio Sensori – Configurazione Grafana

 

Monitoraggio Sensori – Configurazione InfluxDB

Dopo aver creato le tabelle su MySql

Monitoraggio Sensori – Configurazione MySql

si procede alla creazione di un database  su InfluxDB.

Come prima operazione si attiva un utente amministrativo sul sistema, come descritto al link

Autenticazione ed autorizzazione

Si accede al db dal client locale eseguendo da una shell il comando influx

Si esegue

Si imposta nel file /etc/infuxdb/influxdb.conf, con l’utenza root di Debian o mediante sudo, il parametro auth-enabled  da false a true

Si fa ripartire InfluxDB

Si accede in una shell su Debian e si crea il database DATAESP con il seguente comando

Inserire le credenziali di admin al comando auth e procedere alla creazione del database

Di seguito il risultato dei comandi sopra elencati

datainfluxdb

Per la gestione del database Influxdb, è possibile installare Chronograph

Chronograph

Il download di Chronograph è disponibile al link

Chronograph Download

L’installazione può essere eseguita in due modalità.

Avvio applicazione

Accedere con l’utenza monitor ed eseguire in una shell

Avviare l’applicazione chronograf

 

Avvio Servizio

Accedere sempre con l’utenza monitor; eseguire in una shell

Nella cartella /opt/chronograf/usr/lib/chronograf/scripts esistono gli scripts per l’avvio automatico di chronograf.

Di esguito le operazioni eseguite nel nostro sistema:

  • Copiare /opt/chronograf/usr/lib/chronograf/scripts/init.sh in /etc/init.d/chronograf ed assegnare i permessi di esecuzione

  • Copiare /opt/chronograf/usr/lib/chronograf/scripts/chronogaf.service  in /etc/systemd/system/chronograf.service

Cambiare in entrambi i file l’utenza ed i path dei vari componenti di chronograf, ossia l’utenza in monitor ed i path che puntano a /opt/chronograf

Di seguito il link ai file modificati

Avvio Automatico Chronograf

Dopo la modifica eseguire

Per abilitarlo all’avvio ed avviarlo eseguire

Dopo aver avviato chronograf in una delle modalità descritte sopra è possibile accedervi  mediante browser e porta 8888

http://dashboardora.local:8888

ChronografPremere Get Started ed impostare la connessione e le credenziali dell’utenza admin con relativa password definito prima

Chronograf2conImpostare la dashboard di Influxdb

ChronografDashboardNon impostare la componente Kapacitor

Chronograf3Completare la configurazione e cliccando su View All Connections

Chronograf4si accede alla connessione appena creata

ChronografConnections

Tale componente potrà essere utile in seguito per gestire e monitorare InfluxDB.

Nel prossimo articolo si inseriscono su nodered le regole per popolare i database MySql ed InfluxDB con i dati inviati dai sensori

Monitoraggio Sensori – Configurazione Nodered

 

Monitoraggio Sensori – Configurazione MySql

Dopo aver installato il software su Orange Pi PC procediamo alla configurazione degli stessi

Monitoraggio Sensori – Preparazione Ambiente 2

Creazione Tabelle su MySql

Su MySql sono state create 3 tabelle contententi i valori di temperatura, umidità e pressione dei sensori.

Di seguito il modello

Modello MySql

da importare in MySql Workbench

ESPModelloUna volta importato si accede al menù Database->Forward Engineering e si importano le tabelle sul proprio sistema MySql presente sull’Orange Pi PC, immettendo l’utenza root di MySql e relativa password

ESPImport

Alla schermata successiva si utilizza la connessione creata su MySql Workbench per connettersi al database

ESPImport1

Lasciare tutto di default ed inserire la password di root quando richiesto.

Le tabelle ora sono presenti sul database

ESPTablesNel prossimo articolo si configura InfluxDb per la ricezione dei dati in tempo reale dai sensori

Monitoraggio Sensori – Configurazione InfluxDB

 

Monitoraggio Sensori – Preparazione Ambiente 2

Dopo aver installato parte dei componenti software nel precedente articolo

Monitoraggio Sensori – Preparazione Ambiente

continuamo tale operazione con il presente articolo.

Infludb

Si procede alla installazione di Influxdb secondo quanto indicato al link

Influxdb

Per Debian 9 si esegue

Controllare che il tutto funzioni correttamente eseguendo la connessione con il client

infux

Nodered

Si procede alla installazione di node.js

Si installa quindi nodered, come indicato al link

Installazione nodered

Per eseguire all’avvio di Armbian nodered si utilizza lo script presente al seguente link

Autostart nodered

Non abbiamo eseguito lo script automatizzato, ma eseguiti i seguenti passi

Editare /etc/init.d/nodered e modificare l’utente da pi a monitor, ossia cambiare il parametro

in

Eseguire

Avviare nodered

Controllare che nodered risponda accedendo con il browser al link

http://dashboardora.local:1880

noderedRiavviare il sistema e controllare che nodered si avvii automaticamente.

Procedere alla installazione dei moduli aggiuntivi di nodered

Grafana

Si procede al download alla versione per arm

Grafana per ARM

Abilitare e far partire Grafana

Accedere al sistema mediante l’url

http://dashboardora.local:3000

collegarsi con l’utenza admin e password admin; procedere al cambio della password

GrafanaUna volta impostata la nuova password si accede alla interfaccia di impostazione

Grafana2Nei prossimi articoli eseguiremo le impostazioni per poter visualizzare i dati dei sensori.

Installazione reverse proxy

Per poter accedere al sistema attraverso la porta 80 del server http si può utilizzare nginx come reverse proxy

nginx

Se si utilizza nginx come proxy si disabilita apache

Si procede alla installazione di nginx

Si configura il tutto per accedere ai due sistemi mediante i seguenti link

http://dashboardora.local/nodered per nodered

http://dashboardora.local/grafana per grafana

Per grafana si segue la documentazione ufficiale

Grafana proxy

Si procede quindi a modificare il file /etc/grafana/grafana.ini modificando i parametri domain e root_url; nel nostro caso si modifica tale sezione come segue

Si configura quindi nginx, creando nella cartella /etc/nginx/sites-available  il file servizi con il seguente contenuto

Di seguito la configurazione di nginx

Configurazione nginx

Si esegue il seguente comando

e si fanno ripartire i servizi grafana e nginx

A questo punto è possibile accedere ai due servizi mediante il link

http://dashboardora.local/nodered

nodered-nginx

http://dashboardora.local/grafana

grafana-nginxNel prossimo articolo si inizia la configurazione dei vari moduli necessari per la gestione del sistema

Monitoraggio Sensori – Configurazione MySql