Obsah:

Ukládejte a zaznamenávejte data EC/pH/ORP pomocí zásobníku TICK a platformy NoCAN: 8 kroků
Ukládejte a zaznamenávejte data EC/pH/ORP pomocí zásobníku TICK a platformy NoCAN: 8 kroků

Video: Ukládejte a zaznamenávejte data EC/pH/ORP pomocí zásobníku TICK a platformy NoCAN: 8 kroků

Video: Ukládejte a zaznamenávejte data EC/pH/ORP pomocí zásobníku TICK a platformy NoCAN: 8 kroků
Video: Martin Major - Ukládejte data efektivně (PixDevDay) 2024, Červenec
Anonim
Ukládejte a grafujte data EC/pH/ORP pomocí platformy TICK Stack a platformy NoCAN
Ukládejte a grafujte data EC/pH/ORP pomocí platformy TICK Stack a platformy NoCAN

To se bude zabývat tím, jak používat senzory NoCAN Platform od Omzlo a uFire k měření EC, pH a ORP. Jak říká jejich webová stránka, někdy je jednodušší jednoduše vést kabel k vašim senzorovým uzlům. CAN má výhodu komunikace a napájení v jednom kabelu, takže signál a baterie nejsou problémem. Firmware uzlů může být jednodušší; žádné obtěžování například spánkovými režimy nebo nastavením WiFi. Platforma NoCAN má také několik skvělých funkcí, jako je programování uzlů přes sběrnici CAN.

Platforma NoCAN používá Raspberry Pi, takže bude k dispozici vše, co lze dělat. Využijeme toho instalací balíčku TICK. To nám umožní používat InfluxDB k ukládání měření. Je to databáze založená na timeseries účelově vytvořená pro tento druh věcí. Dodává se také s Chronografem, který vytváří dashboardy a zobrazuje všechna tato data, která budeme pořizovat. T a K znamená Telegraf a Kapacitor. Telegraf se nachází mezi daty, která odesíláte, a databází Influx. Kapacitor je motor událostí. Když se něco stane, může vám to zaslat oznámení různými způsoby. A právě proto, že se mi to líbí víc než Chronograf, nainstaluji Grafanu pro dashboardy.

Krok 1: Příprava Raspberry Pi

Přejděte na stránku Stažení Rasbianu, stáhněte si obrázek pomocí počítače a doporučeného softwaru a poté jej nahrajte na kartu SD.

Jakmile je obrázek na vaší SD kartě, měli byste mít dva svazky, root a boot. Otevřete terminál při spuštění a zadejte:

dotkněte se ssh

To povolí SSH.

Poté zadejte:

nano wpa_supplicant.conf

Poté, co jste jej upravili pro vlastní nastavení kraje a WiFi, zkopírujte/vložte následující:

země = USA

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

Kódy zemí pocházejí odtud.

Povolit SPI:

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

Vložte kartu SD do svého Raspberry Pi, chvíli počkejte a napište:

ssh [email protected]

Měli byste být ve výzvě k přihlášení. Heslo je malinové.

Krok 2: Nastavení NoCAN

Omzlo poskytuje důkladného průvodce instalací. Ale rozhodl jsem se, že si to ulehčím a naučím se něco málo o Bash skriptování. Takže spusťte svůj Raspberry Pi a zapojte do něj SSH nebo sériový terminál.

Dozvěděl jsem se, že do vytvoření dobrého Bash skriptu může vejít tolik času, kolik se ho ve skutečnosti pokoušíte nainstalovat. Existuje 1000 způsobů, jak něco udělat, některé jednodušeji uchopit nebo provést než jiné. Nakonec jsem toho vlastně moc neudělal. Pokud spustíte:

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

V terminálu vašeho Raspberry Pi stáhne a spustí skript.

Potom to:

  1. Stáhněte si démona Omzlo NoCAN a nainstalujete jej do/usr/bin pro snadný přístup, vytvoří složku ~/.nocand a zapíše velmi základní konfigurační soubor s heslem nastaveným na 'heslo'. Pravděpodobně byste to měli změnit na něco jiného, je to na ~/.nocand/config.
  2. Stáhne klienta Omzlo NoCAN a zkopíruje jej do /usr /bin a vytvoří základní konfigurační soubor se stejným nastavením hesla. Je to na ~/.nocanc.conf.
  3. Nastaví službu Systemd, která udržuje běžícího démona NoCAN.
  4. Zapíše soubor pythonu do ~/.nocand, nocan_ufire.py. Bude mluvit s firmwarem uzlu NoCAN a provádět měření EC, pH a ORP, analyzovat výsledky a přidat je do databáze InfluxDB.
  5. Přidá repo aplikace InfluxData do výstižnosti a nainstaluje TICK stack. A protože to mám raději než Chronograf, instaluje to i Grafanu.
  6. Vytvoří prázdnou databázi Influx

Na některé bonbóny, na které můžete narazit:

  • Vaše národní prostředí nemusí být nastaveno, takže spusťte dpkg-reconfigure locales
  • Instalace Grafany může přestat fungovat, takže to zkuste znovu.
  • Přílivový démon nemusí být spuštěn včas, aby skript přidal databázi, zadejte

    curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = VYTVOŘIT DATABÁZI nocan"

  • Tento skript funguje pouze jako výchozí uživatel pí. Pokud jste pod jiným uživatelem, budete muset případně změnit pi na své uživatelské jméno.

Poslední věcí je přidat úlohu cron. Nenašel jsem moc dobrý způsob, jak to skriptovat, takže zadejte 'crontab -e' pro ruční úpravu a přidejte ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.

Jakmile je vše hotovo, můžete ověřit, že je vše nastaveno a běží tak, jak by mělo. Grafana žije na adrese https:// [adresa Raspberry Pi]: 3000/. Měli byste vidět přihlašovací stránku, admin/admin je výchozí.

Chronograf najdete na https:// [adresa Raspberry Pi]: 8888/

Krok 3: Spojení hardwaru UFire dohromady

Spojení hardwaru UFire dohromady
Spojení hardwaru UFire dohromady

Než budeme moci sestavit hardware, je třeba vyřešit jednu věc. Desku uFire ISE lze použít k měření pH i ORP. Hardware je stejný, ale software je jiný. Protože hardware je stejný, znamená to, že adresa I2C je ve výchozím nastavení stejná. A senzory komunikují přes I2C, takže jeden bude potřeba změnit. Pro tento projekt vybereme jednu z desek ISE a použijeme ji k měření ORP. Podle zde uvedených kroků změňte adresu na 0x3e.

Nyní, když je adresa změněna, je sestavení hardwaru snadné. Toto nastavení je založeno na dřívější práci, která dělá v podstatě totéž, ale používá k přenosu dat spíše BLE než CAN. Můžete si o tom přečíst v Arduino Project Hub. Všechna senzorová zařízení používají systém Qwiic connect, takže stačí propojit vše dohromady v řetězci, existuje pouze jeden způsob, jak zapojit kabely Qwiic do Qwiic. K připojení jednoho ze senzorů k uzlu CANZERO budete potřebovat jeden vodič Qwiic - Male. Vodiče jsou konzistentní a barevně odlišené. Připojte černý k uzlu GND, červený buď ke kolíku +3,3 V nebo +5 V, modrý ke kolíku SDA, který je D11, a žlutý ke kolíku SCL na D12.

U tohoto projektu bude očekávat, že informace o teplotě bude pocházet ze senzoru EC, takže na desku EC nezapomeňte připojit teplotní senzor. Všechny desky však mají schopnost měřit teplotu. Nezapomeňte připojit sondy EC, pH a ORP k příslušným senzorům. Snadno se připevňují pomocí konektorů BNC. Pokud máte uzavřený prostor, bylo by dobré dát to všechno dovnitř, zvláště když vezmete v úvahu, že jde o vodu.

Krok 4: Hardware NoCAN

Hardware NoCAN
Hardware NoCAN

Sestavení hardwaru NoCAN je také snadné. Připojte PiMaster k Raspberry Pi a najděte pro něj vhodné napájení.

Při výrobě kabelů pro váš projekt postupujte podle pokynů společnosti Omzlo.

Nasaďte svůj uzel a najděte místo pro PiMaster.

Krok 5: Naprogramujte uzel CANZERO

Naprogramujte uzel CANZERO
Naprogramujte uzel CANZERO

Jednou z velkých věcí tohoto nastavení je, že k uzlům máte přístup, i když jsou nasazeny. Jsou naprogramovány přes vodič CAN, takže je můžete přeprogramovat kdykoli budete chtít.

K tomu budete potřebovat nainstalované IDE Arduino, PiMaster ve vaší síti a váš uzel připojený ke sběrnici CAN. Budete také potřebovat program s názvem nocanc nainstalovaný ve vašem vývojovém počítači. To vše je popsáno na instalační stránce Omzlo.

Navštivte GitHub a zkopírujte kód do nové skici Arduino IDE. Změňte desku na Omzlo CANZERO a vyberte uzel v nabídce „Port“. Poté stačí kliknout na nahrát jako obvykle. Pokud vše šlo podle plánu, měli byste mít připravený naprogramovaný uzel, který provede některá měření.

Krok 6: Jak to všechno souvisí?

Jak se to všechno spojuje?
Jak se to všechno spojuje?

Nyní, když je veškerý software a hardware nastaven, pojďme si chvíli promluvit o tom, jak to všechno bude skutečně fungovat. A předvést své dovednosti v GIMP…

Celkem:

  1. Uzel CANZERO je připojen k PiMaster a někde nasazen
  2. Každou minutu je na PiMasteru spuštěna úloha Cron. Spustí skript pythonu.
  3. Skript python pošle uzlu příkaz, který mu řekne, aby provedl měření nebo jinou akci.
  4. Uzel provede, co byl příkaz, a vrátí výsledek ve formátu JSON.
  5. Skript python tento výsledek přijme, analyzuje a aktualizuje s ním soubor InfluxDB.

Posledním krokem je sledovat shromažďování dat v hezky vypadajících grafech.

Krok 7: Nastavení Chronografu nebo Grafany

Nastavení Chronografu nebo Grafany
Nastavení Chronografu nebo Grafany

Poslední věc, kterou musíte udělat, je nastavit nějaké grafy v Chronografu nebo Grafaně.

Budete muset nastavit zdroj dat. Výchozí nastavení pro InfluxDB jsou v pořádku. Adresa je „https:// localhost: 8086“a není zde žádné uživatelské jméno ani heslo.

Oba jsou podobné v tom, že jsou uspořádány do Dashboards, které mají v sobě libovolný počet grafů. Oba mají oblast Prozkoumat, která vám umožňuje vidět měření a interaktivně vytvářet grafy. Nezapomeňte, že název databáze je „nocan“a je uspořádán do několika měření s jednou hodnotou.

Jak jsem zmínil, dávám přednost Grafaně, protože je konfigurovatelnější než Chronograf. Je také mobilní, kde Chronograf není. Grafy lze snadno vkládat a sdílet

Krok 8: Některá vylepšení

  • Můžete nastavit název hostitele vašeho Raspberry Pi tak, aby k němu byl ve vaší síti snadnější přístup. Můžete to udělat v raspi-config. Změnil jsem svůj na nocan, takže jsem mohl přejít na nocan.local a získat přístup (nefunguje na Androidu).
  • Můžete si nainstalovat program jako ngrok pro přístup k Raspberry Pi mimo vaši síť.
  • K poskytování oznámení použijte jednu z metod, které Kapacitor poskytuje.
  • Přidejte samozřejmě další senzory.

Doporučuje: