Interfaccia Web Cloud semplice per i sensori ed altro


Informatica / martedì, Febbraio 4th, 2020

Hai un Raspberry Pi, tanti bei sensori e vuoi vedere i loro valori tramite una interfaccia web, senza perdere ore a capire come fare? Eccoti la mini guida!
Premetto che ci sono molti siti che offrono un servizio di questo tipo, ma questo metodo mi è sembrato il più semplice.

Funzionamento

il Raspberry Pi manderà un messaggio pubblico al sito Dweet.io , successivamente creerai l’interfaccia Freeboard.io , per farlo si può usare la libreria Dweepy in python. 

La base è molto semplice e la mia preferita, ogni sensore collegato ad internet invia un messaggio di testo molto sintetico tramite il protocollo MQTT ad un server in attesa che può essere in cloud o in rete locale. 

I client autorizzati a leggere questi messaggi, possono agire di conseguenza, ad esempio, visualizzandoli su un grafico, attivare dei relè o altri dispositivi… Il limite, come sempre, è la fantasia.

Su discover trovi i messaggi in tempo reale degli utenti gratuiti, quindi evita di usare dati sensibili.

Un esempio di dato grezzo inviato da un utente

{
  "uptime": 565620702,
  "appUptime": 488853986,
  "memory": 32,
  "cpuT": 41
}

Nel  campo a sinistra puoi scrivere quello che vuoi come descrizione, ma dovrà essere sempre una coppia del tipo oggetto:valore .

Per il nostro esempio, una volta inviati i dati vogliamo leggerli su una interfaccia web già pronta, chiamata Freeboard, che visualizzerà i dati con grafici e comandi molto semplici.

Istruzioni

  1. Registrati su Freeboard
  2. Installa la libreria Dweepy
    sudo easy_install dweepy
  3. Crea lo script python 
    nano NomeScript.py
  4. Dargli i permessi di esecuzione
    chmod +x NomeScript.py
  5. Dentro lo script scrivi
    import dweepy<br>dweepy.dweet_for('NomeCasualeSceltoDaTe', {'NomeSensore': 'ValoreSensore'})
  6. Avvia lo script 
    sudo ./NomeScript.py
  7. Entra in Freeboard , crea una nuova Dashboard col nome che preferisci
  8. Sotto “DataSource” premi ADD -> Dweet.io -> Name: QuellocheVuoi -> ThingName: ilNomeCasualeSceltoPrima -> Save
  9. Premi “ADD PANE” -> + -> Scegli cio che ti serve (es. TEXT) -> Datasource: scegli il valore che ti serve -> Save
  10. La Dashboard non è solo per i sensori, ma per molte altre informazioni, mappe, foto, ecc…

Riferimenti