IoT dashboard - Hladinomer - ESP32 / Arduino / LoRaWAN
Kategória:
Software
Ponúkam mnou naprogramovanú webaplikáciu pre projekt Hladinomer. Webaplikácia 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. Mikrokontróler je autentizovaný cez parameter v POST requeste.
Aplikáciu je možné vopred zdarma vyskúšať s vašim hardvérom. Podpora LoRaWAN 1.0.3 špecifikácie.
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. Mikrokontróler je autentizovaný cez parameter v POST requeste.
Aplikáciu je možné vopred zdarma vyskúšať s vašim hardvérom. Podpora LoRaWAN 1.0.3 špecifikácie.
Podobné inzeráty
Ponúkam mnou navrhnutý a naprogramovaný softvér pre AVR platformu Arduino UNO / Nano (ATmega328P) pre projekt RFID Dominator.
Dominator je zariadenie - stopky so sekundovým rozlíšením, ktoré na LCD znakovom displeji rozmeru 16x2 prípadne 20x4 vizualizujú časy pre 2 tímy, ktoré hrajú o obsadenie bodu, ktorý predstavuje práve Dominator.
Hráč tímu po obsadení bodu priloží svoju RFID kartu (prípadne kľúčenku / náramok) k čítačke NXP RC522, čím obsadí bod. Hlásič (buzzer) pípnutím oznámi obsadenie bodu, rozsvieti sa LED dióda daného tímu, začne sa počítať čas.
Čas sa pre tento tím počíta do momentu, kým svoju kartu priloží člen druhého tímu, čo zastaví pôvodný čas a začne sa pripočítavať čas k druhému tímu. Rozhodca má svoju kartu, ktorou dokáže čas zastaviť. Čas je zastavený až do momentu priloženia karty niektorého z tímov.
Poslednou možnou kartou je eraser, ktorý čas zastaví a zároveň vynuluje. Slúži na reštart bežiacej hry, alebo na nastavenie stopiek na novú hru.
RFID čítačka NXP RC522 (pracuje na frekvencii 13.56MHz) vyžaduje priloženie RFID karty na zhruba 3 cm pre úspešnú detekciu. Čítačka funguje pre karty štandardu ISO/IEC 14443-A.
DPS návrh pre projekt RFID DOMINATOR (1.0) je dostupný vo formáte .lppz (LibrePCB). Archív je možné nahrať na webstránky nemeckej firmy AISLER, ktorá vie plošný spoj vyrobiť strojovo vrátane vŕtania, prekovenia otvorov. Na DPS sa odporúča využiť pin headre, nakoľko je tak možné v prípade poruchy vymeniť hardvér bez nutnosti spájkovania. Dištančné stĺpiky je možné nahradiť aj závitovými tyčami. Krabička pre projekt nie je navrhnutá. DPS je možné osadiť do krabičky, alebo na stenu skrz 4 montážne otvory v rohoch DPS.
Projekt je vhodný pre Airsoft akcie, športové areály, či tímy.
Je plne bezúdržbový, rovnako tak aj RFID karty. Jednotná konfigurácia, ktorá sa do Arduina nahrá je uložená do flash pamäte. Teda ani po odpojení napájania sa autorizované RFID karty nezmenia.
Pozri aj ostatné inzeráty. V ponuke aj Dominator s tlačidlovým vstupom v základnej, ale aj rozšírenej verzii s možnosťou konfigurácie dĺžky stlačenia tlačidla, COUNTDOWN herný režim v menu.
Cena projektu RFID Dominator: 40€
V cene je:
Strojový kód (.hex) pre Arduino Uno / Nano (čip ATmega328P)
Kód je možné nahrať do Arduina cez AVRDUDE, alebo cez grafické rozhranie XLoader.
V cene je možné implementovať maximálne 24 UID RFID kariet (10x pre každý tím, 2x rozhodca, 2x eraser).
Pri potrebe väčšieho množstva RFID kariet +5€ za každých ďalších 5 UID.
UID je možné zadať do prehľadnej tabuľky, ktorú je potrebné dodať. Je dostupná v Google Tabuľkách, link zašlem spolu s testovacím programom, ktorý umožňuje načítanie UID a výpis na UART.
Dominator je možné klonovať na ľubovoľný počet vašich zariadení, ktoré budú mať identickú funkcionalitu a môžete tak prevádzkovať viacero Dominator bodov.