Projekt Hladinomer existuje takmer rok a pol a za dobu svojej existencie sa projektu dostavila aj partičná konštruktívna spätná väzba, ktorá sa zaslúžila o pridanie nových funkcionalít a rozšírenie projektu.
Patch projektu s názvom Revízia 1 priniesol tieto funkcionality:
Obmedzenie na strane webaplikácie pre prijatie dát iba POST metódou
Webaplikácia pôvodne prijímala dáta GET metódou, neskôr bola rozšírená o POST metódu. Nakoľko je POST metóda bezpečnejšia a zapuzdruje dáta v tele requestu na webserver, rozhodol som sa iba pre akceptáciu tejto metódy prenosu. V prípade, že logger (mikrokontróler) pošle dáta metódou GET, dáta nebudú spracované ani uložené do MySQL databázy.
Prepočet výšky hladiny vody na objem - litre
Na základe známeho priemeru studne, známej kalibračnej konštanty (max. hĺbka studne) a nameranej hĺbky studne je možné vypočítať objem vody vo vzťahu pre valec: Objem = π*polomer2*výška a vyjadriť tak hĺbku studne v litroch.
Výpis historicky nameraných objemov studne
Historicky výpis nameranej výšky hladiny vody bol rozšírený o výpis objemov, pričom medzi objemami bola doplnená aj tendencia. Používateľ vo webovej aplikácii ukázaním myši na tendenciu dokáže zistiť aj to, aký je rozdiel medzi predošlým a terajším objemom vody.
Rozšírenie senzorov o vodotesný ultrazvukový senzor JSN-SR04T
Senzor JSN-SR04T je ultrazvukový senzor vo vodotesnom vyhotovení, ktorý je vhodnejší pre umiestnenie do studne, kde je trvalá vlhkosť a vysoká miera korózie, ktorá by existujúci senzor HC-SR04 postupne vyradila.
Spomínaný senzor má rovnako ako HC-SR04 vývody Trigger a Echo a tak je zdrojový kód pre tento senzor plne kompatibilný s pôvodným. Senzor má však 4 až 5x väčšiu detekčnú charakteristiku, čo vo výsledku znamená, že senzor zaznamenáva veľkú oblasť, teda výsledky môžu byť skreslené najmä pri studni s menším priemerom.
Úprava Google API pre Gauge (budíkové) grafy - zmena CDN
Zdroj .js pre Google Charts - Gauge grafy bolo zmenené a budíkové reprezentácie prestali fungovať. Zmenou zdroja scriptu na iný CDN server a načítanie balíka gauge došlo k náprave a budíkové reprezentácie sú plne funkčné.
Úprava pôvodných zdrojových kódov iba pre POST metódu HTTP / HTTPS prenosu
Zdrojové kódy využívajúce GET metódu prenosu boli odobrané, nahradené plne iba POST metódou prenosu pre HTTP a HTTPS spojenia.
Rozšírenie zdrojových kódov o Deep Sleep mód pre platformy ESP8266, ESP32 pre Ultra-low-power aplikácie s napájaním cez batériu
Cieľom rozšírenia zdrojových kódov bolo implementovať Deep Sleep režim pre platformy ESP8266, ESP32. To umožňuje uspávanie týchto platforiem, čo vo výsledku dramaticky zníži spotrebu týchto zariadení. V prevádzke je spotreba na úrovni 80mA pri 3V3 napájaní, pri odosielaní dát po WiFi je špičkový prúd na úrovni do 240mA. S využitím Deep Sleep režimu - hlboký spánok je možné dosiahnuť spotrebu na úrovni 10μA (mikroampér). Uspávanie prebiera po odoslaní dát na webserver na 300 sekúnd (5 minút).
Zmeny v schéme zapojenia
Schéma zapojenia prispôsobená pre ULP režim, pri platforme ESP8266 sa vyžaduje prepojenie RST vývodu s vývodom GPIO16 - D0, čo je vývod s WAKE signálom, ktorý dokáže prebudiť túto platformu z režimu hlbokého spánku - Deep Sleep. ESP32 realizuje prebudenie prostredníctvom interného RTC timeru, nevyžaduje sa žiadna fyzická prepojka.
Schéma bola ďalej rozšírená o napäťové deliče pre platformy ESP8266 a ESP32 s 3V3 logikou - nakoľko sa ultrazvukový senzor napája na 5V, jeho výstup Echo je tiež 5V a vývody ESP dosiek nie sú 5V tolerantné. K tabuľkovým schémam zapojenia bolo pridané doplnkové info pre zapojenie Arduina s Ethernet modulov Wiznet rady W5200 - W5500, kde sa vyžaduje pripojenie INIT vývodu s D2 Arduina.
Prepočet maximálnej hĺbky studne vo vzťahu k detekčným charakteristikám senzorov
Do záložky Nastavenia pribudol automatický prepočet maximálnej hĺbky studne pri meraní bez odrazov. Výpočty zohľadňujú detekčné chrakteristiky senzorov HC-SR04 - 15°, JSN-SR04T - 60°. Výpočet realizovaný trigonometriou. Vzorová ukážka pre priemer studne 80 cm. - Merateľný rozsah senzorom HC-SR04 - cca 3 metre, JSN-SR04T 0,46 metra.
Nastavenia boli doplnené aj o vizualizáciu detekčných charakteristík u oboch senzorov v závislosti od vzdialenosti detegovanej hladiny.
HC-SR04 - Detekčná charakteristika - 15°:
JSN-SR04T - Detekčná charakteristika - 60°:
Projekt Hladinomer je možné vyskúšať na: http://arduino.clanweb.eu/studna_s_prekladom/