Cuprins:
- Pasul 1: Pregătirea Raspberry Pi
- Pasul 2: Configurarea NoCAN
- Pasul 3: Punerea împreună a hardware-ului UFire
- Pasul 4: Hardware-ul NoCAN
- Pasul 5: Programați nodul CANZERO
- Pasul 6: Cum se leagă toate acestea?
- Pasul 7: Configurarea Chronograf sau Grafana
- Pasul 8: unele îmbunătățiri
Video: Stocați și graficați datele EC / pH / ORP cu TICK Stack și platforma NoCAN: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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:
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:
- 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.
- 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.
- Configurează un serviciu Systemd care menține demonul NoCAN în funcțiune.
- 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.
- Adaugă repo InfluxData la apt și instalează stiva TICK. Și din moment ce îl prefer pe Chronograf, instalează și Grafana.
- 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
Î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
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
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?
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:
- Nodul CANZERO este conectat la PiMaster și implementat undeva
- În fiecare minut se execută un job Cron pe PiMaster. Se va executa un script python.
- Scriptul python va trimite o comandă nodului, spunându-i să ia o măsură sau o altă acțiune.
- Nodul va executa ceea ce a fost comanda și va returna un rezultat în format JSON.
- 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
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:
Cum să citiți datele DHT pe ecranul LCD folosind Raspberry Pi: 6 pași
Cum să citiți datele DHT pe LCD folosind Raspberry Pi: Temperatura și umiditatea relativă sunt date importante despre vreme în medii. Cele două pot fi datele pe care le oferă o mini stație meteo. Citirea temperaturii și a umidității relative cu Raspberry Pi poate fi realizată folosind diferite variante
Realizați comploturi frumoase din datele live Arduino (și salvați datele în Excel): 3 pași
Faceți comploturi frumoase din datele live Arduino (și salvați datele în Excel): Cu toții ne place să ne jucăm cu funcția de loter P … în ID-ul Arduino. Cu toate acestea, deși poate fi util pentru aplicațiile de bază, datele sunt șterse cu atât mai mult se adaugă puncte și nu este deosebit de plăcut pentru ochi. Plotterul IDE Arduino nu
Cum se înregistrează datele stației meteo - Liono Maker: 5 pași
Cum se înregistrează datele stației meteo | Liono Maker: Introducere: Bună, acesta este #LionoMaker. Acesta este canalul meu open source și YouTube oficial. Iată linkul: Liono Maker / YOUTUBE CHANNEL În acest proiect vom învăța cum să realizăm „Înregistrarea datelor despre stația meteo”. acest lucru este foarte interesant
I-211M-L ONT: Activați datele în timpul alimentării bateriei: 7 pași
I-211M-L ONT: Activați datele în timp ce este alimentat de baterie: Terminalul de rețea optică (ONT) I-211M-L este un punct final popular pentru abonații de internet cu fibră, sau de telefonie bazată pe fibră (POT) și servicii video. Noile instalații Verizon FIOS au tendința de a utiliza acest ONT. Spre deosebire de ONT-urile anterioare, I-211M-L nu co
Platforma de bază IoT cu RaspberryPi, WIZ850io: Driver de dispozitiv platformă: 5 pași (cu imagini)
Platforma de bază IoT cu RaspberryPi, WIZ850io: Platform Device Driver: Cunosc platforma RaspberryPi pentru IoT. Recent WIZ850io este anunțat de WIZnet. Așa că am implementat o aplicație RaspberryPi prin modificarea Ethernet SW, deoarece pot gestiona cu ușurință un cod sursă. Puteți testa Driverul dispozitivului platformei prin RaspberryPi