INHOUDSOPGAWE:

Stoor en teken EC/pH/ORP -data met die TICK -stapel en NoCAN -platform: 8 stappe
Stoor en teken EC/pH/ORP -data met die TICK -stapel en NoCAN -platform: 8 stappe

Video: Stoor en teken EC/pH/ORP -data met die TICK -stapel en NoCAN -platform: 8 stappe

Video: Stoor en teken EC/pH/ORP -data met die TICK -stapel en NoCAN -platform: 8 stappe
Video: Conflict Without Casualties with Nate Regier 2024, November
Anonim
Stoor en teken EC/pH/ORP -data met die TICK Stack en NoCAN -platform
Stoor en teken EC/pH/ORP -data met die TICK Stack en NoCAN -platform

Dit gaan oor hoe u die NoCAN -platform deur Omzlo en uFire -sensors kan gebruik om EC, pH en ORP te meet. Soos hul webwerf sê, is dit soms makliker om net 'n kabel na u sensorknope te lei. KAN het die voordeel van kommunikasie en krag in een kabel, sodat sein en battery nie 'n probleem is nie. Die firmware van die nodusse kan eenvoudiger wees; hoef u byvoorbeeld geen moeite te doen met slaapmodusse of WiFi -opstelling nie. Die NoCAN -platform het ook 'n paar wonderlike funksies, soos die programmering van die nodusse oor die CAN -bus.

Die NoCAN -platform gebruik 'n Raspberry Pi, dus alles wat u kan doen, sal beskikbaar wees. Ons gaan voordeel trek uit die installering van die TICK -stapel. Dit sal ons toelaat om InfluxDB te gebruik om metings te stoor. Dit is 'n databasis op basis van tydreeks wat spesiaal vir hierdie soort dinge gemaak is. Dit bevat ook Chronograf om dashboards te maak en al die data wat ons gaan neem, weer te gee. Die T en K staan vir Telegraf en Kapacitor. Telegraf sit tussen die data wat u stuur en die Influx -databasis. Kapacitor is die geleentheidsmotor. As iets gebeur, kan dit u deur middel van 'n verskeidenheid metodes 'n kennisgewing stuur. En net omdat ek dit beter as Chronograf hou, installeer ek Grafana vir dashboards.

Stap 1: Maak die Raspberry Pi gereed

Gaan na die Rasbian -aflaai -bladsy en laai die prent af met die lessenaar en aanbevole sagteware, en flits dit dan op 'n SD -kaart.

Nadat die prent op u SD -kaart verskyn, moet u twee volumes hê: root en boot. Maak 'n terminale oop tydens opstart en tik:

raak ssh

Dit sal SSH moontlik maak.

Tik dan:

nano wpa_supplicant.conf

En kopieer/plak die volgende nadat u dit vir u eie land en WiFi -instellings verander het:

land = VSA

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 netwerk = {ssid = "NETWERK-NAAM" psk = "NETWERK-PASWOORD"}

Die landkodes kom van hier af.

Aktiveer SPI:

eggo "dtparam = spi = aan" >> config.txt

Plaas die SD -kaart in u Raspberry Pi, wag 'n bietjie en tik:

ssh [email protected]

U behoort by die aanmeldprompt te wees. Die wagwoord is framboos.

Stap 2: Die opstel van NoCAN

Omzlo bied 'n deeglike installeringsgids. Maar ek het besluit om dit vir myself makliker te maak en 'n bietjie te leer oor Bash -skrif. So begin u Raspberry Pi en SSH of seriële terminale daarin.

Ek het geleer dat net soveel ontwikkelingstyd nodig is om 'n goeie Bash -script te skep as wat u ook al probeer om te installeer. Daar is 1000 maniere om iets gedoen te kry, sommige makliker om te begryp of uit te voer as ander. Uiteindelik het ek eintlik nie veel gedoen nie. As u uitvoer:

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

In die terminale van u Raspberry Pi, sal dit die script aflaai en uitvoer.

Dan dit:

  1. Laai die Omzlo NoCAN -demoon af en installeer dit in/usr/bin vir maklike toegang, maak 'n ~/.nocand -lêergids en skryf 'n baie basiese konfigurasielêer met die wagwoord op 'wagwoord'. U moet dit waarskynlik na iets anders verander, dit is by ~/.nocand/config.
  2. Laai die Omzlo NoCAN -kliënt af en kopieer dit in /usr /bin en skep 'n basiese konfigurasielêer met dieselfde wagwoordstel. Dit is by ~/.nocanc.conf.
  3. Stel 'n Systemd -diens op wat die NoCAN -demoon aan die gang hou.
  4. Skryf 'n python -lêer na ~/.nocand, nocan_ufire.py. Dit praat met die firmware van die NoCAN -knoop en neem EC-, pH- en ORP -metings, ontleed die resultate en voeg dit by die InfluxDB -databasis.
  5. Voeg InfluxData se repo by apt en installeer die TICK -stapel. En aangesien ek dit bo Chronograf verkies, installeer dit Grafana ook.
  6. Skep 'n leë Influx -databasis

Sommige gotchas wat u dalk teëkom:

  • U land is moontlik nie opgestel nie, dus hardloop dpkg-herkonfigureer plekke
  • Die Grafana -installasie kan hang, so probeer net weer.
  • Die instromingsdaemon sal moontlik nie betyds begin word om die script die databasis by te voeg nie

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

  • Hierdie skrif werk slegs as die standaard pi -gebruiker. U moet indien nodig pi na u gebruikersnaam verander as u onder 'n ander gebruiker is.

Die laaste ding is om 'n cron -werk by te voeg. Ek kon nie 'n baie goeie manier vind om hierdie een te skryf nie, so tik 'crontab -e' om handmatig te wysig en voeg ' * * * * * python /home/pi/.nocand/nocan_ufire.py' by.

Sodra dit alles klaar is, kan u verifieer dat alles opgestel is en werk soos dit hoort. Grafana woon op https:// [Raspberry Pi se adres]: 3000/. U moet 'n aanmeldingsbladsy sien; admin/admin is die standaard.

Chronograf kan gevind word op https:// [adres van Raspberry Pi]: 8888/

Stap 3: Saamstel van die UFire -hardeware

Om die UFire -hardeware bymekaar te sit
Om die UFire -hardeware bymekaar te sit

Voordat ons die hardeware kan monteer, is daar een ding om aan te spreek. Die uFire ISE -bord kan gebruik word om beide pH en ORP te meet. Die hardeware is dieselfde, maar die sagteware is anders. Omdat die hardeware dieselfde is, beteken dit dat die I2C -adres ook standaard dieselfde is. En die sensors kommunikeer deur middel van I2C, sodat 'n mens dit moet verander. Vir hierdie projek gaan ons een van die ISE -borde kies en dit gebruik om ORP te meet. Verander die adres na 0x3e volgens die stappe hier.

Noudat die adres verander is, is dit maklik om die hardeware saam te voeg. Hierdie opstelling is gebaseer op vroeëre werk wat basies dieselfde gedoen het, maar om BLE te gebruik eerder as om KAN data te stuur. U kan daaroor lees op die Arduino Project Hub. Al die sensortoestelle gebruik die Qwiic connect -stelsel, dus verbind alles in 'n ketting; daar is net een manier om die Qwiic in Qwiic -drade te plaas. U benodig een Qwiic tot Male -draad om een van die sensors aan die CANZERO -knoop te koppel. Die drade is konsekwent en kleur gekodeer. Koppel swart aan die GND van die knoop, rooi na die +3.3V of +5V pen, blou aan die SDA -pen wat D11 is, en geel na die SCL -pen op D12.

Vir hierdie projek verwag dit dat die temperatuurinligting van die EC -sensor afkomstig is, dus maak seker dat u 'n temperatuursensor aan die EC -bord heg. Al die borde het egter die vermoë om temperatuur te meet. Moenie vergeet om die EC-, pH- en ORP -sondes aan die toepaslike sensors te koppel nie. Hulle kan maklik met BNC -verbindings geheg word. As u 'n omhulsel het, is dit 'n goeie idee om dit alles binne te sit, veral as water daarby betrokke is.

Stap 4: Die NoCAN -hardeware

Die NoCAN -hardeware
Die NoCAN -hardeware

Dit is ook maklik om die NoCAN -hardeware saam te stel. Koppel die PiMaster aan die Raspberry Pi en vind 'n geskikte kragtoevoer daarvoor.

Volg die instruksies van Omzlo oor die maak van kabels vir u projek.

Implementeer u knoop en vind 'n plek vir die PiMaster.

Stap 5: Programmeer die CANZERO Node

Program die CANZERO Node
Program die CANZERO Node

Een van die wonderlike dinge van hierdie opstelling is dat u toegang kan kry tot die nodusse, selfs nadat dit ontplooi is. Hulle word oor die CAN-draad geprogrammeer, sodat u dit altyd kan herprogrammeer wanneer u wil.

Hiervoor moet u die Arduino IDE geïnstalleer, die PiMaster op u netwerk en u knooppunt gekoppel aan die CAN -bus. U benodig ook 'n program genaamd nocanc op u ontwikkelingsrekenaar. Dit word alles op Omzlo se installasiebladsy beskryf.

Besoek GitHub en kopieer die kode na 'n nuwe Arduino IDE -skets. Verander die bord na Omzlo CANZERO en kies die knoop in die menu 'Poort'. Klik dan op oplaai soos normaal. As alles volgens plan verloop, moet u 'n geprogrammeerde knoop hê wat gereed is om metings te doen.

Stap 6: Hoe hang dit alles saam?

Hoe pas dit alles saam?
Hoe pas dit alles saam?

Noudat al die sagteware en hardeware opgestel is, neem ons 'n rukkie om te praat oor hoe dit alles werklik sal werk. En wys my GIMP -vaardighede …

Samevattend:

  1. Die CANZERO -knoop is aan die PiMaster gekoppel en êrens ontplooi
  2. Elke minuut word 'n Cron -taak op die PiMaster uitgevoer. Dit sal 'n python -script uitvoer.
  3. Die python -skrip stuur 'n opdrag na die knoop om die meting of ander aksie uit te voer.
  4. Die knoop sal uitvoer wat die opdrag was en 'n resultaat in JSON -formaat gee.
  5. Die python -script sal die resultaat ontvang, ontleed en 'n InfluxDB daarmee opdateer.

Die laaste stap is om te kyk hoe die data versamel word in 'n paar mooi kaarte.

Stap 7: Stel Chronograf of Grafana op

Stel Chronograf of Grafana op
Stel Chronograf of Grafana op

Die laaste ding om te doen is om 'n paar kaarte in Chronograf of Grafana op te stel.

U moet die databron opstel. Die standaard vir InfluxDB is goed. Die adres daarvoor is 'https:// localhost: 8086' en daar is geen gebruikersnaam of wagwoord nie.

Albei is soortgelyk deurdat hulle ingedeel is in dashboards met 'n aantal kaarte. Beide het 'n verkenningsgebied waarmee u die metings kan sien en interaktief kaarte kan skep. Onthou dat die databasisnaam 'nocan' is en in verskillende metings met een waarde georganiseer is.

Soos ek genoem het, verkies ek Grafana omdat dit meer konfigureerbaar is as Chronograf. Dit is ook selfoonvriendelik, waar Chronograf nie is nie. Die kaarte word maklik ingebed en gedeel

Stap 8: Enkele verbeterings

  • U kan die gasheernaam van u Raspberry Pi instel om dit makliker op u netwerk te verkry. U kan dit doen in raspi-config. Ek het myne na nocan verander, sodat ek na nocan.local kon gaan om toegang daartoe te kry (werk nie op Android nie).
  • U kan 'n program soos ngrok installeer om toegang tot u Raspberry Pi buite u netwerk te verkry.
  • Gebruik een van die metodes wat Kapacitor bied om kennisgewings te verskaf.
  • Voeg natuurlik meer sensors by.

Aanbeveel: