Centralina livello 1/Primo avvio

Da raspibo.

Torna a Centralina livello 1

Indice

Centralina livello 1 - Primo avvio

Prima prova di avvio centralina

Mi preparo al primo test di funzionamento, per trovare eventuali "bug", iniziero` come se accendessi per la prima volta.


Fermo tutto

Fermo eventuali "demoni" in esecuzione, e` tutta roba in python per cui il comando:

ps -e -o pid,cmd | grep python

mostra tutti i programmi python in esecuzione.


Esempio (reale) di comandi da eseguire:

./mqtt2redis_init.d.sh stop
./setsgraph_init.d.sh stop sets:graph:mobile1


Svuoto database Redis

Copio e incollo la "schermata":

pi@level1:~ $ redis-cli
127.0.0.1:6379> FLUSHALL
OK
(0.72s)
127.0.0.1:6379>quit
pi@level1:~ $

Mi fermo di scrivere perche` ho trovato il primo bug: la pagina html principale. ;)

E` gia` configurato per "localhost", ma e` possibile definire il database Redis da utilizzare, selezionate "config.json" da menu nella pagina web:

Livello1-DB Redis.png


Possiamo usare la prima voce di menu per visualizzare tutte le chiavi Redis attualmente presenti:

Livello1-Keys part1 none.png

Avvio del "demone" principale

.. e problema, non "bug":

pi@level1:~ $ /var/www/cgi-bin/mqtt2redis_init.d.sh start
Starting system mqtt2redis_d daemon:.
pi@level1:~ $ Connected with result code 0
Arresto programma: manca il file ../conf/config.json

Mi fermo di scrivere per andare a correggere. ;)

Riproviamo (ora funziona):

/var/www/cgi-bin/mqtt2redis_init.d.sh start

Da ora, tutti i dati arrivati al broker mqtt, vengono letti, elaborati e scritti nel database Redis.

Questo e` quello che vediamo dopo qualche minuto nella pagina "chiavi":

Livello1-Keys part1 keys4.png

Sono comparsi i primi dati, dai sensori, sonde, eccetera .. che hanno inviato almeno un valore, i dati sono stati divisi in due chiavi distinte, una del segnale (che andremo a manipolare successivamente) e la rispettiva dei valori.

I valori sono inviati dai "remotes" (meglio che "utenze") ad ogni variazione, mi limito a leggerli, aggiungere data e ora ed accodarli.

#Promemoria C'e` la possibilita` di creare un grafico per qualsiasi chiave ":Valori", ma solo da linea di comando, mi e` sembrata una funzionalita` utile solo in fase di debug (sono tantissimi valori, a volte arrivano anche ogni mezzo secondo .. per cui ..)

Un po` di configurazione

Meglio identificarsi i "remotes", prima che diventino troppi e non si capisca a cosa si riferisca.

Oltre a cio`, dovremo definire anche eventuali anomalie sulle letture, il tipo di segnale, ecc.ecc.

Sempre dalla selezione chiavi, filtriamo se necessario, per individuare meglio il "remote" da configurare, per esempio solo i "PIR": Livello1-Keys part1 keysPIR.png


Spostiamoci verso il basso con la barra di scorrimento, selezioniamo il giusto PIR e poi il pulsante modifica della chiave "hash" (e` il tipo, visibile a fianco del nome chiave), se sbagliate 'sezione' non preoccupatevi, non funzionera` (a meno che clicchiate ELIMINA, ma anche qua, perderete i dati attuali, al primo nuovo valore ricomparira` di nuovo):

Livello1-Keys part2 keysPIR.png


C'e` una breve descrizione dei campi, ma non e` del tutto attendibile, mi sembra che ho cambiato qualcosa, comunque, per ora mi limito alla descrizione:

Livello1-Keys Hash Mod PIR M.png

Qualcosa di simile, per la sonda di temperatura:

Livello1-Keys Hash Mod Temp M.png

Grafici

C'e` una sola sonda di temperatura, ma creiamo ugualmente un gruppo per la creazione del grafico.

Lo faro` anche per il PIR, saranno solo 0 e 1, ma dovrebbe funzionare.

Da menu (siamo sempre sul web, con la parte console, dovremmo avere terminato) selezioniamo la voce 'Aggiungi chiavi "sets" Redis', qui ci sono dei vincoli, al momento sono previste solo due tipologie:

  • graph
  • alarms

inseriamo un grafico, il tempo e` quello di campionamento, i valori vengono letti dalla chiave ":Valori" della sonda/e inclusa/e:

Livello1-Keys AddSetsGraph M1.png


Torniamo alla selezione chiavi, filtriamo per *:graph:* e andiamo a modificare l' "hash" del ":Config":

Livello1-Keys SelectSetsGraph M1.png


Possiamo cambiare il tempo di campionamento, la descrizione e` solo per promemoria (non e` usata per nent'altro), le altre sono impostazioni se fosse un gruppo di allarme:

Livello1-Keys ChangeSetsGraph M1.png

Daemons

Non resta che avviare il 'demone' che da questo momento iniziera` il campionamento delle temperature scrivendole su file e su una nuova chiave Redis.

Livello1-Daemons graph M1.png

.. e ancora

La procedura per il gruppo allarmi e` pressoche` identica, ho creato un gruppo con due PIR ed ho iniziato i test del software ..

Promemoria

  • valori2csv
Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Strumenti