Indholdsfortegnelse:
- Trin 1: Gør Raspberry Pi klar
- Trin 2: Opsætning af NoCAN
- Trin 3: Sæt UFire -hardware sammen
- Trin 4: NoCAN -hardware
- Trin 5: Programmer CANZERO Node
- Trin 6: Hvordan hænger alt dette sammen?
- Trin 7: Opsætning af Chronograf eller Grafana
- Trin 8: Nogle forbedringer
Video: Gem og graf EC/pH/ORP -data med TICK -stakken og NoCAN -platformen: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Dette vil gå over, hvordan du bruger NoCAN -platformen fra Omzlo og uFire -sensorer til at måle EC, pH og ORP. Som deres websted siger, er det nogle gange lettere at bare køre et kabel til dine sensornoder. CAN har fordelen ved kommunikation og strøm i et kabel, så signal og batteri er ikke problemer. Firmware til noder kan være enklere; ingen bekymring med f.eks. søvnfunktioner eller WiFi -opsætning. NoCAN -platformen har også nogle gode funktioner som f.eks. Programmering af noderne over CAN -bussen.
NoCAN -platformen bruger en Raspberry Pi, så alt, hvad der kan gøres, vil være tilgængeligt. Vi kommer til at drage fordel af det ved at installere TICK -stakken. Det vil lade os bruge InfluxDB til at gemme målinger. Det er en timeseries-baseret database, der er specialfremstillet til denne slags. Det følger også med Chronograf til at lave dashboards og vise alle disse data, vi skal tage. T og K står for Telegraf og Kapacitor. Telegraf sidder imellem de data, du sender, og tilstrømningsdatabasen. Kapacitor er hændelsesmotoren. Når der sker noget, kan det sende dig en meddelelse via en række forskellige metoder. Og bare fordi jeg bedre kan lide det end Chronograf, installerer jeg Grafana til dashboards.
Trin 1: Gør Raspberry Pi klar
Gå over til Rasbian Download -siden, og download billedet med skrivebordet og anbefalet software, og flash det derefter på et SD -kort.
Når billedet er på dit SD -kort, skal du have to bind, root og boot. Åbn en terminal i boot og skriv:
tryk på ssh
Det vil muliggøre SSH.
Skriv derefter:
nano wpa_supplicant.conf
Og kopier/indsæt følgende, efter at du har ændret det til dit eget amt og WiFi -indstillinger:
land = USA
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 netværk = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}
Landekoderne kommer herfra.
Aktiver SPI:
ekko "dtparam = spi = on" >> config.txt
Sæt SD -kortet i din Raspberry Pi, vent lidt og skriv:
Du skal være ved login -prompten. Adgangskoden er hindbær.
Trin 2: Opsætning af NoCAN
Omzlo giver en grundig installationsvejledning. Men jeg besluttede at gøre det lettere for mig selv og lære lidt om Bash -scripting. Så start din Raspberry Pi og SSH eller seriel terminal i den.
Jeg lærte, at lige så meget udviklingstid kan gå til at skabe et godt Bash -script, som uanset hvad det er, du prøver at installere. Der er 1000 måder at få noget gjort, nogle enklere at forstå eller udføre end andre. Til sidst gjorde jeg faktisk ikke så meget. Hvis du udfører:
wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh
I din Raspberry Pi's terminal downloades og eksekveres scriptet.
Så er det:
- Downloader Omzlo NoCAN -dæmonen og installerer den i/usr/bin for let adgang, laver en ~/.nocand -mappe og skriver en meget grundlæggende konfigurationsfil med adgangskoden sat til 'password'. Du skal nok ændre det til noget andet, det er på ~/.nocand/config.
- Downloader Omzlo NoCAN -klienten og kopierer den i /usr /bin og opretter en grundlæggende konfigurationsfil med det samme kodeord. Det er på ~/.nocanc.conf.
- Konfigurerer en Systemd -service, der holder NoCAN -dæmonen kørende.
- Skriver en python -fil til ~/.nocand, nocan_ufire.py. Det vil tale med NoCAN -nodens firmware og tage EC-, pH- og ORP -målinger, analysere resultaterne og tilføje dem til InfluxDB -databasen.
- Tilføjer InfluxDatas repo til apt og installerer TICK -stakken. Og da jeg foretrækker det frem for Chronograf, installerer det også Grafana.
- Opretter en tom Tilstrømningsdatabase
Nogle gotchas du kan støde på:
- Din lokalitet er muligvis ikke konfigureret, så kør dpkg-omkonfigurer lokaliteter
- Grafana -installationen kan hænge ud, så prøv bare igen.
-
Tilstrømningsdæmonen startes muligvis ikke i tide til at få scriptet til at tilføje databasen, type
curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = CREATE DATABASE nocan"
- Dette script fungerer kun som standard pi -bruger. Du skal om nødvendigt ændre pi til dit brugernavn, hvis du er under en anden bruger.
Den sidste ting er at tilføje et cron -job. Jeg kunne ikke finde en særlig god måde at scripte denne på, så skriv 'crontab -e' for at redigere manuelt og tilføj ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.
Når det hele er gjort, kan du kontrollere, at alt er konfigureret og kører, som det skal være. Grafana bor på https:// [Raspberry Pi's Address]: 3000/. Du skulle se en login -side, admin/admin er standard.
Chronograf findes på https:// [Raspberry Pi's Address]: 8888/
Trin 3: Sæt UFire -hardware sammen
Inden vi kan samle hardware, er der én ting at tage fat på. UFire ISE -kortet kan bruges til at måle både pH og ORP. Hardwaren er den samme, men softwaren er anderledes. Fordi hardwaren er den samme, betyder det, at I2C -adressen som standard også er den samme. Og sensorerne kommunikerer via I2C, så man skal ændres. Til dette projekt skal vi vælge et af ISE -kortene og bruge det til at måle ORP. Følg trinene her, og skift adressen til 0x3e.
Nu hvor adressen er ændret, er det let at sammensætte hardwaren. Denne opsætning er baseret på tidligere arbejde, der stort set gør det samme, men bruger BLE frem for CAN til at overføre data. Du kan læse om det på Arduino Project Hub. Alle sensorenheder bruger Qwiic -tilslutningssystemet, så bare tilslut alt sammen i en kæde, der er kun en måde at indsætte Qwiic i Qwiic -ledninger. Du skal bruge en Qwiic til Male -ledning for at forbinde en af sensorerne til CANZERO -noden. Ledningerne er konsistente og farvekodede. Tilslut sort til nodens GND, rød til enten +3.3V eller +5V pin, blå til SDA pin, som er D11, og gul til SCL pin på D12.
For dette projekt vil det forvente, at temperaturoplysningerne kommer fra EC -sensoren, så sørg for at vedhæfte en temperatursensor til EC -kortet. Alle brædderne har dog evnen til at måle temperaturen. Glem ikke at fastgøre EC-, pH- og ORP -proberne til de relevante sensorer. De kan let fastgøres med BNC -stik. Hvis du har et kabinet, ville det være en god idé at lægge alt dette inde, især i betragtning af at vand vil være involveret.
Trin 4: NoCAN -hardware
Det er også let at samle NoCAN -hardware. Slut PiMaster til Raspberry Pi og find en passende strømforsyning til den.
Følg Omzlos instruktioner om fremstilling af kabler til dit projekt.
Distribuer din knude, og find et sted til PiMaster.
Trin 5: Programmer CANZERO Node
En af de store ting ved denne opsætning er, at du kan få adgang til noderne, selv efter at de er implementeret. De er programmeret over CAN-ledningen, så du kan omprogrammere dem når som helst du vil.
Til det skal du have Arduino IDE installeret, PiMaster på dit netværk og din knude forbundet til CAN -bussen. Du skal også have et program kaldet nocanc installeret på din udviklingscomputer. Alt dette er beskrevet på Omzlos installationsside.
Besøg GitHub, og kopier koden til en ny Arduino IDE -skitse. Skift tavlen til Omzlo CANZERO, og vælg noden i menuen 'Port'. Klik derefter på upload som normalt. Hvis alt gik efter planen, skulle du have en programmeret node klar til at tage nogle målinger.
Trin 6: Hvordan hænger alt dette sammen?
Nu hvor al software og hardware er konfigureret, lad os tage et øjeblik til at tale om, hvordan det hele rent faktisk vil fungere. Og vise mine GIMP -færdigheder frem …
Sammenfattende:
- CANZERO -noden er forbundet til PiMaster og indsat et sted
- Hvert minut køres et Cron -job på PiMaster. Det vil udføre et python -script.
- Python -scriptet sender en kommando til noden, der fortæller den om at foretage en måling eller anden handling.
- Noden udfører hvad kommandoen var og returnerer et resultat i JSON -format.
- Python -scriptet modtager det resultat, analyserer det og opdaterer en InfluxDB med det.
Det sidste trin er at se dataene indsamle i nogle flotte diagrammer.
Trin 7: Opsætning af Chronograf eller Grafana
Den sidste ting at gøre er at oprette nogle diagrammer i Chronograf eller Grafana.
Du skal konfigurere datakilden. Standardindstillingerne for InfluxDB er fine. Adressen til den er 'https:// localhost: 8086', og der er intet brugernavn eller kodeord.
Begge er ens, idet de er organiseret i Dashboards, der har et hvilket som helst antal diagrammer inde i dem. Begge har et Explore -område, der giver dig mulighed for at se målingerne og interaktivt oprette diagrammer. Husk, at databasenavnet er 'nocan' og organiseret i flere målinger med en værdi.
Som jeg nævnte, foretrækker jeg Grafana, fordi den er mere konfigurerbar end Chronograf. Det er også mobilvenligt, hvor Chronograf ikke er det. Diagrammerne kan let indlejres og deles
Trin 8: Nogle forbedringer
- Du kan indstille værtsnavnet på din Raspberry Pi for lettere at få adgang til det på dit netværk. Du kan gøre det i raspi-config. Jeg ændrede min til nocan, så jeg kunne gå til nocan.local for at få adgang til den (virker ikke på Android).
- Du kan installere et program som ngrok for at få adgang til din Raspberry Pi uden for dit netværk.
- Brug en af de metoder, Kapacitor giver til at give meddelelser.
- Tilføj selvfølgelig flere sensorer.
Anbefalede:
ArduBand - Gem dine øjne !: 6 trin (med billeder)
ArduBand - Save Your Eyes !: Hej, i den nuværende situation arbejder mange mennesker derhjemme, og derfor bruger vi meget mere tid foran computere eller smartphones. Nogle gange kan vi sidde foran skærmen i flere timer, ødelægge vores øjne og krumme ryggen. Vi kunne bruge en
Papirbeholderen: Gem toiletpapir med chokterapi: 4 trin
Papirbeholderen: Gem toiletpapir med chokterapi: Vi har alle set de tomme hylder i købmanden, og det ser ud til at være toiletpapirmangel i et stykke tid. Hvis du ikke lagrede tidligt op, er du sandsynligvis i den situation, jeg er i. Jeg har et hus på 6 og kun et par ruller til at vare
Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: 8 trin
Gem mit barn: det smarte sæde, der sender tekstbeskeder, hvis du glemmer barnet i bilen: Det er installeret i biler, og takket være en detektor placeret på barnesædet advarer det os - via SMS eller telefonopkald - hvis vi får væk uden at tage barnet med
Gem skærmbilleder automatisk i Windows med et Python -script: 4 trin
Gem skærmbilleder automatisk i Windows med et Python -script: Normalt i vinduer, for at gemme et skærmbillede (udskrivningsskærm) skal vi først tage et skærmbillede og derefter åbne maling, derefter indsætte det og derefter endelig gemme det. Nu vil jeg lære dig, hvordan du laver et python -program for at automatisere det.Dette program vil oprette en folde
Gem og gendan forudindstillede værdier med NFC (TfCD): 4 trin
Gem og gendan forudindstillede værdier med NFC (TfCD): Vi vil teste, hvordan det fungerer at justere en bestemt værdi eller indstilling og senere huske denne indstilling. Til dette eksperiment brugte vi et NFC -tag til at læse og derefter gemme værdien på det. Senere kan mærket scannes igen og sende værdien tilbage for at gendanne en cer