Innholdsfortegnelse:

Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen: 8 trinn
Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen: 8 trinn

Video: Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen: 8 trinn

Video: Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen: 8 trinn
Video: TRAINING 2: THE ENAGIC WEBSITES (2018) 2024, November
Anonim
Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen
Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen

Dette vil gå over hvordan du bruker NoCAN -plattformen fra Omzlo og uFire -sensorer til å måle EC, pH og ORP. Som nettstedet deres sier, er det noen ganger lettere å bare føre noen kabel til sensornodene dine. CAN har fordelen av kommunikasjon og strøm i en kabel, så signal og batteri er ikke noe problem. Fastvaren til nodene kan være enklere; ingen plager med hvilemoduser eller WiFi -oppsett, for eksempel. NoCAN -plattformen har også noen flotte funksjoner som programmering av nodene over CAN -bussen.

NoCAN -plattformen bruker en Raspberry Pi, så alt som kan gjøre vil være tilgjengelig. Vi kommer til å dra nytte av det ved å installere TICK -bunken. Det lar oss bruke InfluxDB til å lagre målinger. Det er en tidsrekkebasert database som er spesialdesignet for denne typen ting. Det følger også med Chronograf for å lage dashbord og vise alle disse dataene vi skal ta. T og K står for Telegraf og Kapacitor. Telegraf sitter mellom dataene du sender og Influx -databasen. Kapacitor er hendelsesmotoren. Når noe skjer, kan det sende deg et varsel gjennom en rekke metoder. Og bare fordi jeg liker det bedre enn Chronograf, vil jeg installere Grafana for dashbord.

Trinn 1: Gjør Raspberry Pi klar

Gå til siden for nedlasting av Rasbian og last ned bildet med skrivebordet og anbefalt programvare, og blits det deretter på et SD -kort.

Etter at bildet er på SD -kortet, bør du ha to volumer, root og boot. Åpne en terminal i oppstarten og skriv:

berør ssh

Det vil aktivere SSH.

Skriv deretter inn:

nano wpa_supplicant.conf

Og kopier/lim inn følgende etter at du har endret det for ditt eget fylke og WiFi -innstillinger:

land = USA

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

Landskodene kommer herfra.

Aktiver SPI:

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

Sett SD -kortet i Raspberry Pi, vent litt og skriv:

ssh [email protected]

Du bør være ved påloggingsmeldingen. Passordet er bringebær.

Trinn 2: Konfigurere NoCAN

Omzlo gir en grundig installasjonsveiledning. Men jeg bestemte meg for å gjøre det lettere for meg selv og lære litt om Bash -skripting. Så start Raspberry Pi og SSH eller seriell terminal i den.

Jeg lærte at like mye utviklingstid kan gå til å lage et godt Bash -skript som hva du prøver å installere. Det er 1000 måter å få gjort noe på, noen enklere å forstå eller utføre enn andre. Til slutt gjorde jeg faktisk ikke så mye. Hvis du utfører:

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

I din Raspberry Pi -terminal vil den laste ned og kjøre skriptet.

Da det:

  1. Last ned Omzlo NoCAN -demonen og installerer den i/usr/bin for enkel tilgang, lager en ~/.nocand -mappe og skriver en veldig grunnleggende konfigurasjonsfil med passordet satt til 'passord'. Du bør sannsynligvis endre det til noe annet, det er på ~/.nocand/config.
  2. Last ned Omzlo NoCAN -klienten og kopier den til /usr /bin og oppretter en grunnleggende konfigurasjonsfil med samme passord. Det er på ~/.nocanc.conf.
  3. Konfigurerer en Systemd -tjeneste som holder NoCAN -demonen i gang.
  4. Skriver en python -fil til ~/.nocand, nocan_ufire.py. Den vil snakke med NoCAN -nodens fastvare og ta EC-, pH- og ORP -målinger, analysere resultatene og legge dem til i InfluxDB -databasen.
  5. Legger til InfluxDatas repo til apt og installerer TICK -bunken. Og siden jeg foretrekker det fremfor Chronograf, installerer det Grafana også.
  6. Oppretter en tom Tilstrømningsdatabase

Noen gotchas du kan støte på:

  • Stedet ditt er kanskje ikke konfigurert, så kjør dpkg-omkonfigurer lokaliteter
  • Grafana -installasjonen kan henge, så bare prøv igjen.
  • Tilstrømningsdemonen kan ikke starte i tide for å få skriptet til å legge til databasen, skriv

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

  • Dette skriptet fungerer bare som standard pi -bruker. Du må endre pi til brukernavnet ditt der det er aktuelt hvis du er under en annen bruker.

Det siste er å legge til en cron -jobb. Jeg fant ikke en veldig god måte å skript dette på, så skriv 'crontab -e' for å redigere manuelt og legg til ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.

Når alt er gjort, kan du bekrefte at alt er konfigurert og kjører som det skal være. Grafana bor på https:// [Raspberry Pi's Address]: 3000/. Du bør se en påloggingsside, admin/admin er standard.

Chronograf finnes på https:// [Raspberry Pi's Address]: 8888/

Trinn 3: Sett sammen UFire -maskinvaren

Å sette UFire -maskinvaren sammen
Å sette UFire -maskinvaren sammen

Før vi kan montere maskinvaren, er det en ting å ta opp. UFire ISE -kortet kan brukes til å måle både pH og ORP. Maskinvaren er den samme, men programvaren er annerledes. Fordi maskinvaren er den samme, betyr det at I2C -adressen som standard også er den samme. Og sensorene kommuniserer gjennom I2C, så en må endres. For dette prosjektet skal vi velge et av ISE -kortene og bruke det til å måle ORP. Følg trinnene her, og endre adressen til 0x3e.

Nå som adressen er endret, er det enkelt å sette sammen maskinvaren. Dette oppsettet er basert på at tidligere arbeid i utgangspunktet gjorde det samme, men bruker BLE i stedet for CAN for å overføre data. Du kan lese om det på Arduino Project Hub. Alle sensorenhetene bruker Qwiic -tilkoblingssystemet, så bare koble alt sammen i en kjede, det er bare en måte å sette Qwiic til Qwiic -ledningene på. Du trenger en Qwiic til Male -ledning for å koble en av sensorene til CANZERO -noden. Ledningene er konsistente og fargekodet. Koble svart til nodens GND, rødt til enten +3.3V eller +5V -pinnen, blå til SDA -pinnen som er D11, og gul til SCL -pinnen på D12.

For dette prosjektet vil det forvente at temperaturinformasjonen kommer fra EC -sensoren, så sørg for å feste en temperatursensor til EC -kortet. Alle brettene har evnen til å måle temperaturen. Ikke glem å feste EC-, pH- og ORP -prober til passende sensorer. De festes enkelt med BNC -kontakter. Hvis du har et kabinett, er det en god idé å sette alt dette inne, spesielt med tanke på at vann kommer til å være involvert.

Trinn 4: NoCAN -maskinvaren

NoCAN -maskinvaren
NoCAN -maskinvaren

Det er også enkelt å montere NoCAN -maskinvaren. Fest PiMaster til Raspberry Pi og finn en passende strømforsyning for den.

Følg Omzlos instruksjoner for å lage kabler til prosjektet ditt.

Distribuer noden din og finn et sted for PiMaster.

Trinn 5: Programmer CANZERO Node

Programmer CANZERO Node
Programmer CANZERO Node

En av de flotte tingene med dette oppsettet er at du kan få tilgang til nodene selv etter at de er distribuert. De er programmert over CAN-kabelen, slik at du kan programmere dem på nytt når du vil.

For det trenger du Arduino IDE installert, PiMaster på nettverket ditt og noden din koblet til CAN -bussen. Du trenger også et program kalt nocanc installert på utviklingsdatamaskinen. Alt dette er beskrevet på Omzlos installasjonsside.

Besøk GitHub og kopier koden til en ny Arduino IDE -skisse. Endre brettet til Omzlo CANZERO og velg noden i 'Port' -menyen. Klikk deretter på opplasting som vanlig. Hvis alt gikk etter planen, bør du ha en programmert node klar til å ta noen målinger.

Trinn 6: Hvordan henger alt dette sammen?

Hvordan henger alt dette sammen?
Hvordan henger alt dette sammen?

Nå som all programvare og maskinvare er konfigurert, la oss ta et øyeblikk for å snakke om hvordan alt faktisk vil fungere. Og vis frem mine GIMP -ferdigheter …

Oppsummert:

  1. CANZERO -noden er koblet til PiMaster og distribuert et sted
  2. Hvert minutt kjøres en Cron -jobb på PiMaster. Det vil utføre et python -skript.
  3. Python -skriptet sender en kommando til noden og ber den om å utføre en måling eller annen handling.
  4. Noden vil utføre hva kommandoen var og returnere et resultat i JSON -format.
  5. Python -skriptet vil motta det resultatet, analysere det og oppdatere en InfluxDB med det.

Det siste trinnet er å se dataene samles i noen flotte diagrammer.

Trinn 7: Konfigurere Chronograf eller Grafana

Setter opp Chronograf eller Grafana
Setter opp Chronograf eller Grafana

Det siste du må gjøre er å sette opp noen diagrammer i Chronograf eller Grafana.

Du må konfigurere datakilden. Standardinnstillingene for InfluxDB er fine. Adressen for den er 'https:// localhost: 8086', og det er ikke noe brukernavn eller passord.

Begge er like ved at de er organisert i dashbord som har et hvilket som helst antall diagrammer inni seg. Begge har et Utforsk -område som lar deg se målingene og interaktivt lage diagrammer. Husk at databasenavnet er 'nocan' og organisert i flere målinger med en verdi.

Som jeg nevnte, foretrekker jeg Grafana fordi den er mer konfigurerbar enn Chronograf. Det er også mobilvennlig, der Chronograf ikke er det. Diagrammene er enkle å legge inn og dele

Trinn 8: Noen forbedringer

  • Du kan angi vertsnavnet til Raspberry Pi for å få tilgang til det lettere på nettverket ditt. Du kan gjøre det i raspi-config. Jeg endret min til nocan, så jeg kunne gå til nocan.local for å få tilgang til den (fungerer ikke på Android).
  • Du kan installere et program som ngrok for å få tilgang til Raspberry Pi utenfor nettverket ditt.
  • Bruk en av metodene Kapacitor gir for å gi varsler.
  • Legg til flere sensorer, selvfølgelig.

Anbefalt: