Obsah:
- Krok 1: Příprava Raspberry Pi
- Krok 2: Nastavení NoCAN
- Krok 3: Spojení hardwaru UFire dohromady
- Krok 4: Hardware NoCAN
- Krok 5: Naprogramujte uzel CANZERO
- Krok 6: Jak to všechno souvisí?
- Krok 7: Nastavení Chronografu nebo Grafany
- Krok 8: Některá vylepšení
Video: Ukládejte a zaznamenávejte data EC/pH/ORP pomocí zásobníku TICK a platformy NoCAN: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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:
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:
- 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.
- 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.
- Nastaví službu Systemd, která udržuje běžícího démona NoCAN.
- 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.
- 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.
- 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
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
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
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í?
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:
- Uzel CANZERO je připojen k PiMaster a někde nasazen
- Každou minutu je na PiMasteru spuštěna úloha Cron. Spustí skript pythonu.
- Skript python pošle uzlu příkaz, který mu řekne, aby provedl měření nebo jinou akci.
- Uzel provede, co byl příkaz, a vrátí výsledek ve formátu JSON.
- 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
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:
Vytvářejte krásné obrázky ze živých dat Arduino (a ukládejte data do Excelu): 3 kroky
Vytvářejte krásné obrázky ze živých dat Arduino (a ukládejte data do Excelu): Všichni si rádi hrajeme s naší funkcí P … loter v Arduino IDE. Přestože to může být užitečné pro základní aplikace, data se vymažou jako další body se sčítají a není to nijak zvlášť příjemné pro oči. Plotr Arduino IDE
Monitorování teploty a vlhkosti DHT pomocí platformy ESP8266 a platformy IoT AskSensors: 8 kroků
Monitorování teploty a vlhkosti DHT pomocí platformy ESP8266 a platformy AskSensors IoT: V předchozím pokynu jsem představil krok za krokem průvodce, jak začít s ESP8266 nodeMCU a platformou AskSensors IoT. V tomto tutoriálu připojuji snímač DHT11 do uzlu MCU. DHT11 je běžně používaný teplotní a zvlhčovací
Zaznamenávejte vysokorychlostní EKG nebo jiná data nepřetržitě déle než měsíc: 6 kroků
Zaznamenávejte vysokorychlostní EKG nebo jiná data, nepřetržitě po dobu delší než jeden měsíc: Tento projekt byl vyvinut na podporu týmu univerzitního lékařského výzkumu, který potřeboval nositelné zařízení, které by dokázalo zaznamenávat 2 signály EKG rychlostí 1 000 vzorků/s (celkem 2 000 vzorků/s) nepřetržitě po dobu 30 dnů za účelem detekce arytmií. Projekt představuje
Monitorujte a zaznamenávejte teplotu pomocí Bluetooth LE a RaspberryPi: 9 kroků (s obrázky)
Monitorujte a zaznamenávejte teplotu pomocí Bluetooth LE a RaspberryPi: Tento návod je o tom, jak sestavit víceuzlový systém monitorování teploty s chybou senzoru Bluetooth LE od Blue Radios (BLEHome) a RaspberryPi 3B Díky vývoji standardu Bluetooth LE existuje nyní snadno dostupné
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: 4 kroky
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: Tento návod popisuje, jak můžeme použít desku Node MCU ke sběru dat z více senzorů, odeslání těchto dat do hostovaného souboru PHP, který pak data přidá do databáze MySQL. Data lze poté zobrazit online jako graf pomocí chart.js.A ba