Innholdsfortegnelse:
- Trinn 1: Gjør Raspberry Pi klar
- Trinn 2: Konfigurere NoCAN
- Trinn 3: Sett sammen UFire -maskinvaren
- Trinn 4: NoCAN -maskinvaren
- Trinn 5: Programmer CANZERO Node
- Trinn 6: Hvordan henger alt dette sammen?
- Trinn 7: Konfigurere Chronograf eller Grafana
- Trinn 8: Noen forbedringer
Video: Lagre og graf EC/pH/ORP -data med TICK -stakken og NoCAN -plattformen: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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:
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:
- 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.
- Last ned Omzlo NoCAN -klienten og kopier den til /usr /bin og oppretter en grunnleggende konfigurasjonsfil med samme passord. Det er på ~/.nocanc.conf.
- Konfigurerer en Systemd -tjeneste som holder NoCAN -demonen i gang.
- 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.
- Legger til InfluxDatas repo til apt og installerer TICK -bunken. Og siden jeg foretrekker det fremfor Chronograf, installerer det Grafana også.
- 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
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
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
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?
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:
- CANZERO -noden er koblet til PiMaster og distribuert et sted
- Hvert minutt kjøres en Cron -jobb på PiMaster. Det vil utføre et python -skript.
- Python -skriptet sender en kommando til noden og ber den om å utføre en måling eller annen handling.
- Noden vil utføre hva kommandoen var og returnere et resultat i JSON -format.
- 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
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:
AUTOMATISK SØPPEL KAN ELLER SKRIPPES. FOR Å LAGRE PLANETEN. 19 trinn (med bilder)
AUTOMATISK SØPPEL KAN ELLER SKRIPPES. FOR Å LAGRE PLANETEN .: Før vi begynner, vil jeg anbefale deg å se den første videoen før du leser denne, siden den er veldig nyttig. Hei, jeg heter Jacob og jeg bor i Storbritannia. Resirkulering er et stort problem der jeg bor. Jeg ser mye søppel på åkeren, og det kan være skadelig. Det
Lagre det kjedelige livet med en smart lampe: 3 trinn
Redde det kjedelige livet med en smart lampe: Vi håper alle at vi kan leve mer komfortabelt hjemme. Om du ofte føler deg ukomfortabel fordi dimmingen av husholdningslamper ikke er smart nok? Eller om du føler deg ensformig fordi husholdningslampens funksjon? Denne lampen kan løse tr
Lagre skjermbilder automatisk i Windows med et Python -script: 4 trinn
Lagre skjermdumper automatisk i Windows med et Python -script: Vanligvis i Windows, for å lagre et skjermbilde (utskriftsskjerm) må vi først ta et skjermbilde og deretter åpne maling, deretter lime det inn og deretter til slutt lagre det. Nå skal jeg lære deg hvordan du lager et python -program for å automatisere det. Dette programmet vil opprette en folde
Lagre og gjenopprett forhåndsinnstilte verdier med NFC (TfCD): 4 trinn
Lagre og gjenopprett forhåndsinnstilte verdier med NFC (TfCD): Vi vil teste hvordan det fungerer å justere en bestemt verdi eller innstilling og senere huske denne innstillingen. For dette eksperimentet brukte vi en NFC -tag for å lese og deretter lagre verdien på den. Senere kan taggen skannes igjen og sende verdien tilbake for å gjenopprette en cer
Lagre livet ditt med Building Collapse Monitor: 8 trinn
Redd livet ditt med Building Collapse Monitor: Analyser betong, metall, trekonstruksjoner for bøyninger og vinkler og varsler hvis de har avviket fra den opprinnelige posisjonen