Visualization Engine | IT

Ebben a cikkben megmutatom miként lehet könnyen felépíteni egy gráf megjelenítő rendszert komolyabb Linux tudás nélkül.

Miért

Amikor az ember vásárol egy elektronikus hidrométert, akkor választania kell egy olyan rendszert, amiben a mért adatok tudja tárolni. Általában a választás egy már kész szolgáltatásra szokott esni, mint például az Ubidots. Ez egy aránylag egyszerű és gyors válasz a kérdésre, egy másik megoldás viszont ha saját magunknak hozunk létre egy hasonló rendszert. Természetesen nincs jobb vagy rosszabb megoldás, minden attól függ, hogy melyik felel meg jobban az igényeinknek. Az alábbi összehasonlításban összeszedtem a főbb különbségeket.

Kész Szolgáltatás Saját Megoldás
Regisztráció Szinte mindig kell Nem kell
Ár Ingyenes de limitációkkal/fizetős Ingyenes
Hardver követelményeknek Elektromos hidrométer Elektromos hidrométer+ Raspberry Pi 3 vagy újabb
Karbantartás Nem kell karbantartani Szükséges a karbantartás
Kontroll Licenc által limitálva Teljes kontroll
Biztonsági mentések A harmadik fél felelőssége A te felelősséged

Raspberry Pi előkészítése

Ha már van egy Raspberry Pi-od amin Raspberry Pi OS fut, akkor ezt a lépést kihagyhatod.

Először is, fel kell telepíteni a hivatalos operációs rendszert a Raspberry Pi-ra. Ezt a Raspberry Pi Imager program segítségével tudjuk elérni, amit a hivatalos oldalról tudunk letölteni. Ezután csak be kell helyeznünk a használni kívánt SD kártyát és már telepíthetjük is a Raspberry PI OS (32-Bit) OS-t.

visualization_engine_1.png

A művelet végeztél helyezd be az SD kártyát a Raspberry Pi-ba, csatlakoztass minden használni kívánt perifériát és indítsd el az eszközt.


A Visualization Engine telepítése

Elsőként nyitnunk kell egy terminál ablakot.

Az újonnan megnyílt ablakban az alábbi parancsokat kell kiadni:

  1. sudo mkdir ~/visualization_engine && cd ~/visualization_engine

  2. sudo curl -L -o ~/visualization_engine/visualization-engine.tar.gz "https://github.com$(curl -s -L https://github.com/Akos-Kreutz/homebrew-visualization-engine/releases/latest | grep -o '/Akos-Kreutz/homebrew-visualization-engine/archive/refs/tags/.*.tar.gz')"

  3. sudo tar --strip-components=1 -zxf visualization-engine.tar.gz

  4. sudo chmod 755 visualization_engine.py visualization_engine.sh

Ezután az alábbihoz hasonló kimenetet kell látnunk:

Ezután megkezdhetjük a telepítési folyamatot a script elindításával. A -p után meg kell adnod egy jelszót, amivel majd a Grafana-hoz fogsz tudni hozzáférni. Fontos, hogy a sudo szó elé tegyünk egy extra szóközt. Például:

  • sudo ./visualization_engine.sh -p test123

A végeredménynek ehhez hasonlónak kell lennie:

Ezután megtudjuk nézni, hogy a telepítés sikerrel járt-e. Nyissunk meg egy böngészőt és írjuk be alábbi címet: https://localhost:3000/login. A Grafana főoldalának kell betölteni, ahova be is tudunk lépni az admin felhasználónévvel (username) és a korábban megadott jelszóval (password).


Konfiguráció

Már csak pár lépés van hátra, hogy tudjuk használni a rendszert. Létre kell hoznunk egy admin felhasználót az InfluxDB-ben. Ezt úgy tudjuk elérni, hogy egy terminál ablakban kiadjuk az alábbi parancsokat (itt is meg kell adnunk egy saját jelszót):

  1. influx

  2. show users

  3. CREATE USER admin WITH PASSWORD <A TE JELSZAVAD> WITH ALL PRIVILEGES

  4. show users

A negyedik parancs után nyomd meg a ctrl + d billentyűket, hogy kilépj az InfluxDB-ből. A terminál ablaknak hasonlóan kell kinéznie, mint az alábbinak:

Most már be tudjuk állítani a jelszót a Grafanában. Ehhez a Grafana admin oldalán át kell navigálnunk a Configuration -> Data Sources oldalra és kiválasztani az InfluxDB-t.

visualization_engine_8.png

Engedélyeznünk kell a Basic auth opciót és beállítani a felhasználónevet (user) adminra és az előbb megadott jelszóra a jelszavat (password).

Ezután nyomjuk meg a Save & test gombot.

És ezzel létre is hoztuk a saját Gráf megjelenítő rendszerünk, nincs más dolgunk csak beállítani a elektromos hidrométerben, hogy ide küldje az adatokat. Ezt egy iSpindel segítségével meg is mutatom a következő cikkben.