Cuprins:

Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN: 8 pași
Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN: 8 pași

Video: Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN: 8 pași

Video: Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN: 8 pași
Video: Colectarea, prelucrarea si interpretarea datelor (I) 2024, Noiembrie
Anonim
Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN
Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN

Acest lucru va descrie modul de utilizare a platformei NoCAN de către senzorii Omzlo și uFire pentru a măsura EC, pH și ORP. După cum spune site-ul lor web, uneori este mai ușor să rulați doar un cablu către nodurile senzorului. CAN are avantajul comunicării și al puterii într-un singur cablu, astfel încât semnalul și bateria să nu fie probleme. Firmware-ul nodurilor poate fi mai simplu; nu vă deranjați cu modurile de repaus sau configurarea WiFi, de exemplu. Platforma NoCAN are, de asemenea, câteva caracteristici excelente, cum ar fi programarea nodurilor prin magistrala CAN.

Platforma NoCAN folosește un Raspberry Pi, deci tot ce poate face va fi disponibil. Vom profita de aceasta instalând stiva TICK. Acest lucru ne va permite să folosim InfluxDB pentru a stoca măsurători. Este o bază de date bazată pe timeseries realizată special pentru acest gen de lucruri. De asemenea, vine cu Chronograf pentru a realiza tablouri de bord și pentru a afișa toate aceste date pe care le vom lua. T și K reprezintă Telegraf și Kapacitor. Telegraf se află între datele pe care le trimiteți și baza de date Influx. Kapacitor este motorul evenimentelor. Când se întâmplă ceva, vă poate trimite o notificare printr-o varietate de metode. Și, doar pentru că îmi place mai mult decât Chronograf, voi instala Grafana pentru tablouri de bord.

Pasul 1: Pregătirea Raspberry Pi

Accesați pagina de descărcare Rasbian și descărcați imaginea cu desktopul și software-ul recomandat, apoi blocați-o pe un card SD.

După ce imaginea este pe cardul dvs. SD, ar trebui să aveți două volume, root și boot. Deschideți un terminal în boot și tastați:

atingeți ssh

Aceasta va permite SSH.

Apoi tastați:

nano wpa_supplicant.conf

Și copiați / lipiți următoarele după ce le-ați modificat pentru propriile setări de județ și WiFi:

country = SUA

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

Codurile de țară provin de aici.

Activați SPI:

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

Puneți cardul SD în Raspberry Pi, așteptați puțin și tastați:

ssh [email protected]

Ar trebui să fiți la promptul de conectare. Parola este zmeură.

Pasul 2: Configurarea NoCAN

Omzlo oferă un ghid complet de instalare. Dar am decis să mi-o fac mai ușoară și să învăț puțin despre scripturile Bash. Deci, porniți Raspberry Pi și SSH sau terminalul serial.

Am învățat că la fel de mult timp de dezvoltare poate merge până la crearea unui script Bash bun pe cât încerci să instalezi de fapt. Există 1000 de modalități de a face ceva, unele mai simple de înțeles sau executat decât altele. În cele din urmă, nu am făcut prea multe. Dacă executați:

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

În terminalul Raspberry Pi, acesta va descărca și va executa scriptul.

Atunci acesta:

  1. Descarcă daemonul Omzlo NoCAN și îl instalează în / usr / bin pentru acces ușor, creează un folder ~ /.nocand și scrie un fișier de configurare foarte simplu, cu parola setată la „parolă”. Probabil ar trebui să îl schimbați în altceva, este la ~ /.nocand / config.
  2. Descarcă clientul Omzlo NoCAN și îl copiază în / usr / bin și creează un fișier de configurare de bază cu același set de parole. Este la ~ /.nocanc.conf.
  3. Configurează un serviciu Systemd care menține demonul NoCAN în funcțiune.
  4. Scrie un fișier python în ~ /.nocand, nocan_ufire.py. Va vorbi cu firmware-ul nodului NoCAN și va lua măsurători EC, pH și ORP, va analiza rezultatele și le va adăuga în baza de date InfluxDB.
  5. Adaugă repo InfluxData la apt și instalează stiva TICK. Și din moment ce îl prefer pe Chronograf, instalează și Grafana.
  6. Creează o bază de date Influx necompletată

Unele probleme pe care le puteți întâlni:

  • Este posibil ca localizarea dvs. să nu fie configurată, deci rulați dpkg-reconfigure locale
  • Este posibil ca instalarea Grafana să se blocheze, așa că încercați din nou.
  • Este posibil ca demonul de aflux să nu fie pornit la timp pentru ca scriptul să adauge baza de date, tastați

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

  • Acest script funcționează doar ca utilizator implicit pi. Va trebui să schimbați pi la numele dvs. de utilizator, dacă este cazul, dacă sunteți sub un alt utilizator.

Ultimul lucru este să adăugați un job cron. Nu am putut găsi o modalitate foarte bună de a-l scripta, așa că tastați „crontab -e” pentru a edita manual și adăugați „* * * * * python /home/pi/.nocand/nocan_ufire.py”.

Odată ce ați terminat, puteți verifica dacă totul este configurat și funcționează așa cum ar trebui. Grafana locuiește la https:// [Adresa Raspberry Pi]: 3000 /. Ar trebui să vedeți o pagină de autentificare, admin / admin este implicit.

Cronograful poate fi găsit la https:// [Adresa Raspberry Pi]: 8888 /

Pasul 3: Punerea împreună a hardware-ului UFire

Punerea împreună a hardware-ului UFire
Punerea împreună a hardware-ului UFire

Înainte de a putea asambla hardware-ul, există un lucru de abordat. Placa uFire ISE poate fi utilizată pentru a măsura atât pH-ul, cât și ORP. Hardware-ul este același, dar software-ul este diferit. Deoarece hardware-ul este același, asta înseamnă că adresa I2C este, în mod implicit, aceeași. Și senzorii comunică prin I2C, astfel încât unul va trebui schimbat. Pentru acest proiect, vom alege una dintre plăcile ISE și o vom folosi pentru a măsura ORP. Urmând pașii de aici, schimbați adresa la 0x3e.

Acum că adresa este schimbată, este ușor să puneți hardware-ul împreună. Această configurare se bazează pe munca anterioară care face practic același lucru, dar folosind BLE mai degrabă decât CAN pentru a transmite date. Puteți citi despre aceasta pe Arduino Project Hub. Toate dispozitivele senzorilor folosesc sistemul de conectare Qwiic, deci conectați totul împreună într-un lanț, există o singură modalitate de a introduce Qwiic în firele Qwiic. Veți avea nevoie de un fir Qwiic la Male pentru a conecta unul dintre senzori la nodul CANZERO. Firele sunt consistente și codificate în culori. Conectați negru la GND-ul nodului, roșu la pinul + 3,3V sau + 5V, albastru la pinul SDA care este D11 și galben la pinul SCL pe D12.

Pentru acest proiect, se va aștepta ca informațiile de temperatură să provină de la senzorul EC, deci asigurați-vă că atașați un senzor de temperatură la placa EC. Cu toate acestea, toate plăcile au capacitatea de a măsura temperatura. Nu uitați să atașați sondele EC, pH și ORP la senzorii corespunzători. Acestea sunt ușor atașate cu conectori BNC. Dacă aveți o incintă, a pune toate acestea în interior ar fi o idee bună, mai ales având în vedere că va fi implicată apa.

Pasul 4: Hardware-ul NoCAN

Hardware-ul NoCAN
Hardware-ul NoCAN

Asamblarea hardware-ului NoCAN este, de asemenea, ușoară. Atașați PiMaster la Raspberry Pi și găsiți o sursă de alimentare adecvată pentru acesta.

Urmați instrucțiunile Omzlo despre realizarea cablurilor pentru proiectul dvs.

Implementați nodul și găsiți un loc pentru PiMaster.

Pasul 5: Programați nodul CANZERO

Programați nodul CANZERO
Programați nodul CANZERO

Unul dintre lucrurile minunate despre această configurare este că puteți accesa nodurile chiar și după ce acestea sunt implementate. Acestea sunt programate prin cablul CAN, astfel încât să le puteți reprograma oricând doriți.

Pentru asta, veți avea nevoie de Arduino IDE instalat, de PiMaster în rețea și de nodul conectat la magistrala CAN. De asemenea, veți avea nevoie de un program numit nocanc instalat pe computerul dvs. de dezvoltare. Toate acestea sunt descrise pe pagina de instalare a Omzlo.

Vizitați GitHub și copiați codul într-o nouă schiță Arduino IDE. Schimbați placa în Omzlo CANZERO și selectați nodul din meniul „Port”. Apoi, faceți clic pe Încărcați ca în mod normal. Dacă totul a decurs conform planului, ar trebui să aveți un nod programat pregătit pentru a face câteva măsurători.

Pasul 6: Cum se leagă toate acestea?

Cum se leagă toate acestea?
Cum se leagă toate acestea?

Acum, că toate software-urile și hardware-ul sunt configurate, să luăm un moment să vorbim despre cum va funcționa toate acestea și să vă arăt abilitățile mele de GIMP …

În concluzie:

  1. Nodul CANZERO este conectat la PiMaster și implementat undeva
  2. În fiecare minut se execută un job Cron pe PiMaster. Se va executa un script python.
  3. Scriptul python va trimite o comandă nodului, spunându-i să ia o măsură sau o altă acțiune.
  4. Nodul va executa ceea ce a fost comanda și va returna un rezultat în format JSON.
  5. Scriptul python va primi acel rezultat, îl va analiza și va actualiza un InfluxDB cu acesta.

Ultimul pas este să urmăriți datele colectate în câteva diagrame frumoase.

Pasul 7: Configurarea Chronograf sau Grafana

Configurarea Chronograf sau Grafana
Configurarea Chronograf sau Grafana

Ultimul lucru de făcut este să configurați câteva diagrame în Chronograf sau Grafana.

Va trebui să configurați sursa de date. Valorile implicite pentru InfluxDB sunt bine. Adresa pentru acesta este „https:// localhost: 8086” și nu există nume de utilizator sau parolă.

Ambele sunt similare prin faptul că sunt organizate în tablouri de bord care au în ele un număr de diagrame. Ambele au o zonă Explorare care vă permite să vedeți măsurătorile și să creați diagrame interactiv. Amintiți-vă că numele bazei de date este „nocan” și este organizat în mai multe măsurători cu o singură valoare.

Așa cum am menționat, prefer Grafana, deoarece este mai configurabil decât Chronograf. Este, de asemenea, prietenos cu mobilul, acolo unde Chronograf nu este. Diagramele sunt ușor încorporate și partajate

Pasul 8: unele îmbunătățiri

  • Puteți seta numele gazdei Raspberry Pi pentru a-l accesa mai ușor în rețeaua dvs. Puteți face acest lucru în raspi-config. Am schimbat-o pe nocan, așa că am putut accesa nocan.local pentru a-l accesa (nu funcționează pe Android).
  • Puteți instala un program precum ngrok pentru a vă accesa Raspberry Pi în afara rețelei.
  • Utilizați una dintre metodele pe care Kapacitor le oferă pentru a furniza notificări.
  • Adăugați mai mulți senzori, desigur.

Recomandat: