Sommario:

Memorizzare e rappresentare graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN: 8 passaggi
Memorizzare e rappresentare graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN: 8 passaggi

Video: Memorizzare e rappresentare graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN: 8 passaggi

Video: Memorizzare e rappresentare graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN: 8 passaggi
Video: Rappresentare i dati con un grafico cartesiano 2024, Novembre
Anonim
Memorizza e rappresenta graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN
Memorizza e rappresenta graficamente i dati EC/pH/ORP con lo stack TICK e la piattaforma NoCAN

Questo spiegherà come utilizzare la piattaforma NoCAN di Omzlo e i sensori uFire per misurare EC, pH e ORP. Come dice il loro sito web, a volte è più semplice far passare un cavo ai nodi del sensore. CAN ha il vantaggio di comunicazione e alimentazione in un unico cavo, quindi segnale e batteria non sono un problema. Il firmware dei nodi può essere più semplice; nessun problema con le modalità di sospensione o la configurazione WiFi, ad esempio. La piattaforma NoCAN ha anche alcune fantastiche funzionalità come la programmazione dei nodi sul bus CAN.

La piattaforma NoCAN utilizza un Raspberry Pi, quindi tutto ciò che può fare sarà disponibile. Ne approfitteremo installando lo stack TICK. Questo ci consentirà di utilizzare InfluxDB per memorizzare le misurazioni. È un database basato su serie temporali creato appositamente per questo genere di cose. Viene fornito anche con Chronograf per creare dashboard e visualizzare tutti questi dati che prenderemo. La T e la K stanno per Telegraf e Kapacitor. Telegraf si trova tra i dati che stai inviando e il database Influx. Kapacitor è il motore degli eventi. Quando succede qualcosa, può inviarti una notifica attraverso una varietà di metodi. E, proprio perché mi piace più di Chronograf, installerò Grafana per i cruscotti.

Passaggio 1: preparare il Raspberry Pi

Vai alla pagina di download di Rasbian e scarica l'immagine con il desktop e il software consigliato, quindi esegui il flashing su una scheda SD.

Dopo che l'immagine è sulla tua scheda SD, dovresti avere due volumi, root e boot. Apri un terminale in boot e digita:

tocca ssh

Ciò abiliterà SSH.

Quindi digitare:

nano wpa_supplicant.conf

E copia/incolla quanto segue dopo averlo modificato per la tua nazione e le impostazioni WiFi:

paese=USA

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 rete={ ssid="NETWORK-NAME" psk="NETWORK-PASSWORD" }

I codici dei paesi provengono da qui.

Abilita SPI:

echo "dtparam=spi=on" >> config.txt

Metti la scheda SD nel tuo Raspberry Pi, aspetta un po' e digita:

ssh [email protected]

Dovresti essere al prompt di accesso. La password è lampone.

Passaggio 2: configurazione di NoCAN

Omzlo fornisce una guida completa all'installazione. Ma ho deciso di rendere le cose più facili per me stesso e di imparare qualcosa sullo scripting di Bash. Quindi avvia il tuo Raspberry Pi e inserisci SSH o terminale seriale.

Ho imparato che per creare un buon script Bash può essere impiegato tanto tempo di sviluppo quanto qualunque cosa tu stia cercando di installare. Ci sono 1000 modi per fare qualcosa, alcuni più semplici da comprendere o da eseguire rispetto ad altri. Alla fine non ho fatto molto. Se esegui:

wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh

Nel terminale del tuo Raspberry Pi, scaricherà ed eseguirà lo script.

Allora:

  1. Scarica il demone Omzlo NoCAN e lo installa in /usr/bin per un facile accesso, crea una cartella ~/.nocand e scrive un file di configurazione molto semplice con la password impostata su 'password'. Probabilmente dovresti cambiarlo in qualcos'altro, è su ~/.nocand/config.
  2. Scarica il client Omzlo NoCAN e lo copia in /usr/bin e crea un file di configurazione di base con la stessa password impostata. È su ~/.nocanc.conf.
  3. Imposta un servizio Systemd che mantiene in esecuzione il demone NoCAN.
  4. Scrive un file python su ~/.nocand, nocan_ufire.py. Parlerà con il firmware del nodo NoCAN e prenderà misurazioni di EC, pH e ORP, analizzerà i risultati e li aggiungerà al database InfluxDB.
  5. Aggiunge il repository di InfluxData ad apt e installa lo stack TICK. E poiché lo preferisco a Chronograf, installa anche Grafana.
  6. Crea un database di flusso vuoto

Alcuni trucchi in cui potresti imbatterti:

  • Il tuo locale potrebbe non essere configurato, quindi esegui dpkg-reconfigure locales
  • L'installazione di Grafana potrebbe bloccarsi, quindi riprova.
  • Il demone afflusso potrebbe non essere avviato in tempo per consentire allo script di aggiungere il database, digitare

    curl -i -XPOST https://localhost:8086/query --data-urlencode "q=CREATE DATABASE nocan"

  • Questo script funziona solo come utente pi predefinito. Dovrai cambiare pi con il tuo nome utente dove appropriato se sei sotto un altro utente.

L'ultima cosa è aggiungere un cron job. Non sono riuscito a trovare un ottimo modo per scrivere questo script, quindi digita 'crontab -e' per modificare manualmente e aggiungi '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Una volta fatto tutto, puoi verificare che tutto sia configurato e funzionante come dovrebbe essere. Grafana vive a https://[Raspberry Pi's Address]:3000/. Dovresti vedere una pagina di accesso, admin/admin è l'impostazione predefinita.

Chronograf può essere trovato all'indirizzo https://[Raspberry Pi's Address]:8888/

Passaggio 3: mettere insieme l'hardware UFire

Mettere insieme l'hardware UFire
Mettere insieme l'hardware UFire

Prima di poter assemblare l'hardware, c'è una cosa da affrontare. La scheda uFire ISE può essere utilizzata per misurare sia il pH che l'ORP. L'hardware è lo stesso, ma il software è diverso. Poiché l'hardware è lo stesso, ciò significa che anche l'indirizzo I2C è lo stesso per impostazione predefinita. E i sensori comunicano tramite I2C, quindi uno dovrà essere cambiato. Per questo progetto, sceglieremo una delle schede ISE e la useremo per misurare l'ORP. Seguendo i passaggi qui, modificare l'indirizzo in 0x3e.

Ora che l'indirizzo è cambiato, mettere insieme l'hardware è facile. Questa configurazione si basa su lavori precedenti che facevano sostanzialmente la stessa cosa ma utilizzavano BLE anziché CAN per trasmettere i dati. Puoi leggerlo sull'Arduino Project Hub. Tutti i sensori utilizzano il sistema di connessione Qwiic, quindi basta collegare tutto insieme in una catena, c'è solo un modo per inserire i cavi da Qwiic a Qwiic. Avrai bisogno di un cavo da Qwiic a Maschio per collegare uno dei sensori al nodo CAZERO. I fili sono coerenti e codificati a colori. Collegare il nero al GND del nodo, il rosso al pin +3,3V o +5V, il blu al pin SDA che è D11 e il giallo al pin SCL su D12.

Per questo progetto, si aspetterà che le informazioni sulla temperatura provengano dal sensore EC, quindi assicurati di collegare un sensore di temperatura alla scheda EC. Tutte le schede hanno però la capacità di misurare la temperatura. Non dimenticare di collegare le sonde EC, pH e ORP ai sensori appropriati. Si collegano facilmente con connettori BNC. Se hai un recinto, mettere tutto questo dentro sarebbe una buona idea, soprattutto considerando che l'acqua sarà coinvolta.

Passaggio 4: l'hardware NoCAN

L'hardware NoCAN
L'hardware NoCAN

Anche l'assemblaggio dell'hardware NoCAN è facile. Collega il PiMaster al Raspberry Pi e trova un alimentatore adatto.

Segui le istruzioni di Omzlo su come realizzare i cavi per il tuo progetto.

Distribuisci il tuo nodo e trova un posto per il PiMaster.

Passaggio 5: programmare il nodo CAZERO

Programmare il Nodo CAZERO
Programmare il Nodo CAZERO

Una delle grandi cose di questa configurazione è che puoi accedere ai nodi anche dopo che sono stati distribuiti. Sono programmati tramite il cavo CAN, quindi puoi riprogrammarli ogni volta che vuoi.

Per questo, avrai bisogno dell'IDE Arduino installato, del PiMaster sulla tua rete e del tuo nodo connesso al bus CAN. Avrai anche bisogno di un programma chiamato nocanc installato sul tuo computer di sviluppo. Tutto ciò è descritto nella pagina di installazione di Omzlo.

Visita GitHub e copia il codice in un nuovo sketch IDE Arduino. Cambia la scheda in Omzlo CAZERO e seleziona il nodo nel menu 'Porta'. Quindi fai clic su Carica come di consueto. Se tutto è andato secondo i piani, dovresti avere un nodo programmato pronto per prendere alcune misurazioni.

Passaggio 6: come si lega tutto questo?

Come si lega tutto questo?
Come si lega tutto questo?

Ora che tutto il software e l'hardware sono impostati, prendiamoci un momento per parlare di come funzionerà effettivamente tutto. E mostro le mie abilità di GIMP…

In sintesi:

  1. Il nodo CAZERO è connesso al PiMaster e distribuito da qualche parte
  2. Ogni minuto viene eseguito un lavoro Cron sul PiMaster. Eseguirà uno script Python.
  3. Lo script python invierà un comando al nodo dicendogli di eseguire una misurazione o qualche altra azione.
  4. Il nodo eseguirà il comando e restituirà un risultato in formato JSON.
  5. Lo script Python riceverà quel risultato, lo analizzerà e aggiornerà un InfluxDB con esso.

L'ultimo passo è guardare i dati raccolti in alcuni grafici carini.

Passaggio 7: configurazione di Chronograf o Grafana

Configurazione di Chronograf o Grafana
Configurazione di Chronograf o Grafana

L'ultima cosa da fare è impostare alcuni grafici in Chronograf o Grafana.

Dovrai configurare l'origine dati. Le impostazioni predefinite per InfluxDB vanno bene. L'indirizzo è "https://localhost:8086" e non c'è nome utente o password.

Entrambi sono simili in quanto sono organizzati in dashboard che hanno un numero qualsiasi di grafici al loro interno. Entrambi dispongono di un'area Esplora che consente di visualizzare le misurazioni e creare grafici in modo interattivo. Ricorda che il nome del database è 'nocan' e organizzato in diverse misurazioni con un valore.

Come ho detto, preferisco Grafana perché è più configurabile di Chronograf. È anche compatibile con i dispositivi mobili, mentre Chronograf non lo è. I grafici sono facilmente incorporabili e condivisi

Passaggio 8: alcuni miglioramenti

  • Puoi impostare il nome host del tuo Raspberry Pi per accedervi più facilmente sulla tua rete. Puoi farlo in raspi-config. Ho cambiato il mio in nocan, quindi sono stato in grado di andare su nocan.local per accedervi (non funziona su Android).
  • Puoi installare un programma come ngrok per accedere al tuo Raspberry Pi al di fuori della tua rete.
  • Utilizzare uno dei metodi forniti da Kapacitor per fornire notifiche.
  • Aggiungi altri sensori, ovviamente.

Consigliato: