IoT dashboard - Hladinomer - ESP32 / Arduino / LoRaWAN
Ponúkam mnou naprogramovanú webaplikáciu pre projekt Hladinomer. Umožňuje zaznamenávať údaje o výške hladiny vody v kopanej studni zo senzorového uzla. Ten v pravidelných intervaloch (5 min) vykonáva 10 priemerovaných meraní ultrazvukovým senzorom a výsledný údaj posiela serveru. Údaje sú vizualizované používateľovi vo webovom rozhraní v dashboarde, či historicky v čase v grafoch, tabuľkách až rok spätne.
Princíp merania ultrazvukových senzorov je vyslanie signálu Trigger s dĺžkou 10 μs (mikrosekúnd), ktorý sa od hladiny vody odrazí a vráti sa do prijímača - Echo. Využíva sa metóda Time-of-Flight pre prepočet času medzi vyslaním a prijatím signálu na získanie rozdielovej výšku hladiny vody od senzora.
Po odoslaní dát do webového rozhrania sa vykoná korekcia, kedy sa vypočíta reálna výška hladiny od dna studne, ktorá je zapísaná do databázy. Korekcia sa vykoná na základe známej hĺbky studne a prijatej rozdielovej výšky hladiny vody z ultrazvukového senzora. Webové rozhranie v dashboarde vizualizuje aj aktuálny objem studne v litroch na základe známeho priemeru studne. Obe hodnoty sú vizualizované aj s tendenciou od predchádzajúceho merania t.j. stúpa, klesá, ustálená o XY cm / o XY litrov.
Projekt využíva ultrazvukový senzor vzdialenosti HC-SR04 - (detekčný uhol 15°), prípadne vodotestný senzor JSN-SR04T (detekčný uhol je až 60°).
Možno využiť aj iné ultrazvukové senzory so signálmi Trigger / Echo z rady RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™. Detekčný uhol reprezentuje šírku lúča, resp. kužeľa, ktorý sa so vzdialenosťou rozširuje. Merať je možné výšku hladiny až do 400 resp. 450 cm max (na základe údajov z katalógového listu jednotlivých senzorov).
Pre senzorový uzol je možné použiť vývojovú dosku Arduino (Uno / Mega) s Ethernet modulom Wiznet W5100 alebo W5500, prípadne jeho novšiu verziu USR-ES1 (W5500 V2). Pre prenos dát vzduchom je možné použiť WiFi mikrokontroléry od Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini, Generic Board), alebo ESP32 (Devkit, prípadne samostatný modul napr. ESP32-WROOM-32 / ESP32-S). ESP8266 a ESP32 podporujú aj šifrované spojenie s webserverom. ESP32 je možné použiť aj s PHY Ethernet modulom LAN8720 / TLK110 s rozhraním RMII, podpora FreeRTOS. Mikrokontrolérové platformy ESP8266 a ESP32 - len WiFi firmvér (Wiring implementácie) je možné prevádzkovať aj v režime ULP (Ultra-Low Power), ktorý dramaticky zníži ich spotrebu na úroveň desiatok mikroampérov. Vhodné pre prevádzku na batériu aj niekoľko rokov (nutné použiť aj tranzistor pre spínanie napájania pre senzor, vyžaduje úpravu zdrojového kódu).
Dáta sú do webového rozhrania odosielané po HTTP / HTTPS protokole s POST payloadom. Web rozhranie je možné vopred zdarma vyskúšať s vašim hardvérom.