Hladinomer - Arduino + Ethernet / ESP8266 / ESP32 / Sigfox

Date:3.3.2021 13:04

Ponúkam SOFTVÉR pre mnou navrhnutý projekt Hladinomer, ktorý ponúka webaplikáciu a programovú implementáciu pre mikrokontroléry z rady otvoreného hardvéru. Cieľom projektu je zaznamenávať a reprezentovať používateľovi výšku hladiny vody (alebo inej kvapaliny) v studni, nádrži, kde je senzor umiestnený. Využívajú sa ultrazvukové senzory pre odhad výšky hladiny vody (alebo podobnej tekutiny).

Princíp merania ultrazvukových senzorov je vyslanie signálu Trigger o dĺžke 10 mikrosekúnd, ktorý sa od hladiny odrazí a vráti sa do prijímača – Echo. Na základe prepočtu času vzhľadom na rýchlosť šírenia zvuku je možné určiť vzdialenosť medzi senzorom a hladinou vody, ktorú je možné reprezentovať aj v kubických veličinách – objem vyjadrený napr. v litroch.

Projekt využíva ultrazvukový senzor vzdialenosti HC-SR04 – nie je vodotesný (detekčný uhol 15°), prípadne vodotestný senzor JSN-SR04T (detekčný uhol je až 60°). [Detekčný uhol reprezentuje šírku lúča].

Merať je možné výšku hladiny až do 450cm. Je možné využiť aj ultrazvukový senzor komunikujúci cez UART URM07 pre meranie hladiny až do 750cm, má však veľký detekčnú uhol, až 60°, čo má zvýšené nároky na priemer studne (vo vzdialenosti 450cm od senzora má lúč priemer až 600cm).

Pre obsluhu projektu je možné využiť mikrokontróler Arduino s Ethernet modulom Wiznet W5100 alebo W5500, prípadne WiFi platformy od Espressif Systems – ESP8266 (NodeMCU, Wemos D1 Mini), alebo ESP32 (Devkit). Schéma zapojenia pre všetky platformy je dostupná priamo vo webaplikácii.

Mikrokontrolérové platformy ESP8266 a ESP32 je možné prevádzkovať aj v režime Deep Sleep, ktorý dramaticky zníži ich spotrebu na úroveň desiatok mikroampérov, sú tak vhodné pre prevádzku na batériu. Druhým prevádzkovým režimom je StandBy, kedy platforma beží v štandardnom režime a môže byť rozšírená o implementáciu Over The Air (OTA), ktorá ponúka aktualizáciu firmvéru prostredníctvom LAN siete.

Arduino s Ethernetom podporuje iba HTTP konektivitu a nepodporuje OTA aktualizáciu, ani režim spánku! Pre platformy ESP8266 a ESP32 je možné využiť HTTP i HTTPS šifrované spojenie s webserverom. V prípade, že nie je na danom mieste dostupný pevný internet, je možné využiť aj prenos dát cez IoT sieť Sigfox, ktorá pokrýva 90% Slovenska a je tak vhodnou alternatívou. Kompatibilný je UART modem SIGFOX WISOL 868MHz.

Vhodný pre IoT aplikácie s nízkym prúdovým odmerom, pri vysielaní spotrebúva tretinu v porovnaní s ESP32. Limit správy 12B (používajú sa 4B pre výšku hladiny vody), custom callback zo Sigfox backendu vykonáva HTTP / HTTPS POST request pre zápis dát do webového rozhrania. Webové rozhranie zapisuje údaje do MySQL databázy s časovou značkou. Pre prevádzku projektu je nutné vlastniť webserver s podporou Apache/Nginx (pre .php scripty) na verejnej IP adrese, alebo v LAN sieti, kam daná platforma odosiela dáta z ultrazvukového senzora. (Ak máte webserver v LAN sieti bez prístupu z internetu / verejnej IP, nie je možné použiť Sigfox, nakoľko z backendu sa do vašej LAN siete nedostane)

Na webserveri beží aplikácia, ktorá používateľovi vizualizuje v dynamickom prehľade posledné údaje s indikátorom konektivity mikrokontroléru. Umožňuje sledovať aj historické údaje o výške hladiny vody za rok, mesiac, týždeň, deň v prehľadných čiarových grafoch, či tabuľkovom vyhotovení s celou históriou meraní. Web rozhranie obsahuje aj záznam rekordov – maximálna, minimálna hodnota hladiny vody za 24 hodín, 7 dní, 30 dní, čo umožňuje priebežne monitorovať aj výdatnosť studne.

Webaplikácia má aj rôzne meniteľné údaje, ktoré sú potrebné pre správne určenie výšky hladiny vody – hĺbka studne po dno (slúži ako kalibračná hodnota pre merania), nakoľko vyššia hladina = menšia hodnota medzi hladinou a senzorom, ktorý je umiestnený na vrchu studne. Preto sa touto hodnotou odčítava meranie, aby sa zistila skutočná výška hladiny vody. Druhým meniteľným parametrom je priemer studne, ktorým je možné vykonať prepočet objemu studne v litroch s aktuálnou výškou hladiny a taktiež obsahuje aj odhad maximálnej hĺbky studne pri danom priemere pre čo najpresnejšie merania bez odrazov.

Tento odhad maximálnej hĺbky studne sa realizuje trigonometriou a umožňuje používateľovi lepšie vybrať senzor pre jeho požiadavky vzhľadom na rozmery jeho studne. Používateľ môže vo webovom rozhraní mazať namerané údaje (chybné merania). Pre všetky možnosti úprav a zmien vo webovom rozhraní sa doň musí používateľ autentizovať cez HTTP Auth.

Zdrojové kódy pre všetky tieto platformy, schéma zapojenia, knižnice pre senzor HC-SR04 sú obsiahnuté priamo vo webaplikácii. Dáta sú do webového rozhrania odosielané po HTTP / HTTPS protokole s POST payloadom. Spustenie systému je jednoduché, je k nemu pripravený jednoduchý .pdf dokument, ktorý krok po kroku vysvetľuje čo a ako nastaviť. Projekt je možné zdarma vopred vyskúšať s vašim hardvérom na testovacom webovom rozhraní.

Dodávam výhradne softvérové riešenie. Hardvér, ani jeho montáž neponúkam. Projekt má slovenskú, ruskú, anglickú a nemeckú jazykovú mutáciu. Možno využiť aj iný typ senzora (vyžaduje úpravy vo webovom rozhraní) – tlakové, ponorné, hydrostatické i plavákové… Projekt Hladinomer existuje aj v rozšírenej verzii o IR zrážkomer Hydreon RG-11, ktorý zaznamenáva zrážky v režime preklápacieho vedra s prírastkom 0.01mm.

Cena základného projektu: 30€
Cena rozšíreného projektu o zrážkomer: 50€

Webová stránka
Slovakia
Prešovský kraj
197
Poprad, Slovensko
               

Print