Práve je 05 Okt 2022, 12:37




Vytvori┼ą nov├║ t├ęmu Odpoveda┼ą na t├ęmu  [ Po─Źet pr├şspevkov: 2 ] 
Hladinomer - Monitor v├Ż┼íky hladiny - Arduino + ultrazvuk 
Autor Správa

Zalo┼żen├Ż: 03 Dec 2018, 11:03
Pr├şspevky: 6
Odosla┼ą Hladinomer - Monitor v├Ż┼íky hladiny - Arduino + ultrazvuk
Pon├║kam SOFTV├ëR pre projekt Hladinomer, ktor├Ż umo┼ż┼łuje mera┼ą v├Ż┼íku hladiny vody (alebo podobnej kvapaliny) v studni. Princ├şp merania ultrazvukov├Żch senzorov je vyslanie sign├ílu Trigger o ur─Źitej d─║┼żke, 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.

Projekt vyu┼ż├şva ultrazvukov├Ż senzor vzdialenosti HC-SR04 (detek─Źn├Ż uhol 15┬░), pr├şpadne vodotestn├Ż senzor JSN-SR04T (detek─Źn├Ż uhol je a┼ż 60┬░) a mikrokontr├│ler Arduino s Ethernet modulom Wiznet W5100 alebo W5500, pr├şpadne WiFi platformy ESP8266 (NodeMCU, Wemos D1 Mini), alebo ESP32 (Devkit). Softv├ęr obsahuje sch├ęmu zapojenia pre v┼íetky tieto platformy. Spomenut├ę platformy ESP8266 a ESP32 je mo┼żn├ę prev├ídzkova┼ą aj v re┼żime Deep Sleep, ktor├Ż dramaticky zn├ş┼żi ich spotrebu. Taktie┼ż v re┼żime StandBy existuje aj implement├ícia pre Over The Air (OTA) aktualiz├íciu firmv├ęru prostredn├şctvom LAN siete.

Pre prev├ídzku projektu je nutn├ę vlastni┼ą webserver na verejnej IP adrese, alebo v LAN sieti, kam dan├í platforma odosiela d├íta z ultrazvukov├ęho senzora. Na webserveri be┼ż├ş aplik├ícia, ktor├í pou┼ż├şvate─żovi uk├í┼że v monitore posledn├ę ├║daje, ale taktie┼ż aj v├Ż┼íku hladiny vody za mesiac, t├Ż┼żde┼ł, de┼ł v preh─żadn├Żch grafoch, ─Źi tabu─żkovom vyhotoven├ş. Web rozhranie obsahuje aj z├íznam rekordov - maxim├ílna, minim├ílna hodnota hladiny vody za 24 hod├şn, 7 dn├ş, 30 dn├ş.

Webaplik├ícia m├í aj r├┤zne menite─żn├ę ├║daje - v├Ż┼íka celej studne (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 o─Ź├ş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.

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. Vhodn├ę aj pre laikov, sta─Ź├ş iba nahodi┼ą webov├ę rozhranie a upravi┼ą cestu pre odosielanie d├ít. Programy pre Arduino obsahuj├║ integrovan├Ż watchdog, ktor├Ż Arduino re┼ítartuje pri z├íseku programu.

PON├ÜKAM IBA SOFTV├ëR, HARDV├ëR JE NUTN├ë ZAOBSTARA┼Ą SI SAMOSTATNE!

Projekt je mo┼żn├ę vopred vysk├║┼ía┼ą na 24 hod├şn s va┼íim hardv├ęrom na mojej dom├ęne.
Pri záujme o kúpu / vyskúšanie: martinius96@gmail.com
Cena: 30ÔéČ

Fotogal├ęria webaplik├ície a hardv├ęru:
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

Detek─Źn├í charakteristika HC-SR04:
Obrázok
Detek─Źn├í charakteristika JSN-SR04T:
Obrázok


18 Aug 2020, 16:29
Profil

Zalo┼żen├Ż: 03 Dec 2018, 11:03
Pr├şspevky: 6
Odosla┼ą Re: Hladinomer - Monitor v├Ż┼íky hladiny - Arduino + ultrazvuk
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.
Obrázok
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.
Obrázok
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.

Ultrazvukov├ę senzory S├Ü vhodn├ę do:
    Kopan├Żch studn├ş
    Septikov a ┼ż├║mp
    Potokov a jazier
    Plastov├Żch n├ídr┼ż├ş na da┼ż─Ćov├║ vodu
    Sil├í (meranie naplnenia sypk├Żmi materi├ílmi)
    Kontajnery (monitoring odpadu, naplnenia zbernej nádoby)
    Kotolne (monitoring zásoby dreva, peliet, uhlia, štiepky)
    Šachty a pivnice (monitoring vytopenia / spodnej vody)
    V├Żroba (detekcia v├Żrobkov, ich v├Ż┼íky a po─Źtu, v├Ż┼íka navinut├ęho materi├ílu)
    Parkovisk├í (detekcia vo─żn├Żch a obsaden├Żch parkovac├şch miest)

Ultrazvukov├ę senzory NIE S├Ü vhodn├ę do:
    V┼Ľtan├Żch studn├ş (z d├┤vodu detek─Źnej charakteristiky - ┼íirok├Ż l├║─Ź) [/b]
    Potrub├ş a r├║r (z d├┤vodu detek─Źnej charakteristiky - ┼íirok├Ż l├║─Ź) [/b]
    Do studn├ş so sp├ídov├Żm pr├ştokom (rozb├║ren├í hladina utlm├ş ultrazvuk, meranie je nemo┼żn├ę) [/b]
    Do miest s n├íhlou zmenou tepl├┤t (teplota ovplyv┼łuje ─Źas ┼í├şrenia zvuku, teda aj stacion├írna hladina sa jav├ş ako kol├şsav├í)[/b]
    Do v├íkuov├Żch n├ídr┼ż├ş (meranie je nemo┼żn├ę)[/b]
Obrázok
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). Sch├ęma zapojenia pre v┼íetky mikrokontrol├ęry je dostupn├í priamo vo webaplik├ícii spolu so zdrojov├Żmi k├│dmi v jazyku Wiring (.ino app), resp. pre ESP32 dostupn├í aj implement├ícia vo frameworku ESP-IDF s opera─Źn├Żm syst├ęmom re├ílneho ─Źasu - FreeRTOS s mechanizmom blokovania ├║loh Queue. Webov├ę rozhranie pre hladinomer dok├í┼że automaticky vygenerova┼ą zdrojov├Ż k├│d pre mikrokontrol├ęry na z├íklade umiestnenia projektu, dom├ęny a pod (nutn├í ├║prava Root CA certifik├ítu, ktor├Ż vydal certifik├ít pre dan├║ dom├ęnu).
Obrázok
Mikrokontrol├ęrov├ę platformy ESP8266 a ESP32 (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).

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 priamo z rozhrania ArduinoIDE, vyu┼ż├şva sa espota.py pre upload process. Arduino s Ethernetom podporuje iba HTTP konektivitu a nepodporuje OTA aktualiz├íciu, ani re┼żim Low-power (Re┼żim hlbok├ęho sp├ínku)! Pre platformy ESP8266 a ESP32 je mo┼żn├ę vyu┼żi┼ą HTTP i HTTPS ┼íifrovan├ę spojenie s webserverom. ESP32 je mo┼żn├ę vyu┼żi┼ą aj s PHY Ethernet modulom LAN8720 skrz rozhranie RMII.
Obrázok
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 aj v├Ą─Ź┼íinou ┼ít├ítov E├Ü a je tak vhodnou alternat├şvou pre oblasti bez pokrytia internetom. Kompatibiln├Ż je UART modem SIGFOX WISOL 868MHz (SFM10R1), ktor├Ż komunikuje s mikrokontrol├ęrom cez AT pr├şkazy cez UART.

Modem je vhodn├Ż pre IoT aplik├ície s n├şzkym pr├║dov├Żm odmerom. Limit spr├ívy 12B (pou┼ż├şvaj├║ sa 4B pre v├Ż┼íku hladiny vody UINT_32), custom callback zo Sigfox backendu vykon├íva HTTP / HTTPS POST request pre z├ípis d├ít do webov├ęho rozhrania. Nako─żko m├í sie┼ą Sigfox obmedzen├Ż po─Źet spr├ív za de┼ł (140), meranie a odosielanie d├ít sa vykon├íva ka┼żd├Żch 11 min├║t. V pr├şpade licencie na 140 spr├ív je mo┼żn├ę vyu┼żi┼ą aj in├ę - syst├ęmov├ę d├íta pre prenos napr├şklad GPS s├║radnice zo syst├ęmu Sigfox ATLAS (nutn├ę upravi┼ą s├║bor pre z├ípis do datab├ízy, + zmena pol├ş tabu─żky).

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. POZOR, v pr├şpade Sigfox prev├ídzky mus├ş by┼ą server dosiahnute─żn├Ż z internetu, inak nie je mo┼żn├ę zap├şsa┼ą d├íta! Na webserveri be┼ż├ş aplik├ícia, ktor├í pou┼ż├şvate─żovi vizualizuje v dynamickom preh─żade posledn├ę ├║daje s indik├ítorom konektivity mikrokontrol├ęra.

Web rozhranie obsahuje aj z├íznam rekordov - maxim├ílna, minim├ílna hodnota hladiny vody za 24 hod├şn, 7 dn├ş, 30 dn├ş. Tieto ├║daje s├║ vizualizovan├ę v bud├şkovej reprezent├ícii. Maxim├í a minim├í indikuj├║ priebe┼żn├║ v├Żdatnos┼ą studne.

Webaplik├ícia m├í aj r├┤zne konfigurovate─ż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). Ultrazvukov├Ż senzor vracia v├Ż┼íku hladiny vody od vrchu studne, nie od dna.

Preto sa touto kalibra─Źnou hodnotou od─Ź├ştava meranie, aby sa zistila skuto─Źn├í v├Ż┼íka hladiny vody od dna. Druh├Żm menite─żn├Żm parametrom je priemer studne. Nastavenie priemeru studne je d├┤le┼żit├ę pre prepo─Źet v├Ż┼íky hladiny na litre bojem studne. Podstr├ínka nastavenia obsahuje aj odhad maxim├ílnej h─║bky studne pri danom priemere pre ─Źo najpresnej┼íie merania bez odrazov - zoh─żad┼łuje detek─Źn├║ charakteristiku senzora.

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.

D├íta s├║ do webov├ęho rozhrania odosielan├ę po HTTP / HTTPS protokole s POST payloadom. Mikrokontr├│ler je autentizovan├Ż cez parameter v POST requeste. Akcie vo webovom rozhran├ş (zmazanie z├íznamu, konfigur├ícia nastaven├ş, zobrazenie zdrojov├ęho k├│du pre mikrokontr├│ler) s├║ za loginom cez HTTP Auth Basic - menom a heslom (odpor├║─Źa sa pou┼ż├şva┼ą web rozhranie pod HTTPS).

Projekt je vhodn├Ż aj pre laikov, pre implement├íciu webov├ęho rozhrania je dostupn├Ż .pdf dokument s in┼ítrukt├í┼żou, ktor├Ż krok po kroku vysvet─żuje nastavenie a spustenie projektu na webhosting / lok├ílny webserver.
Projekt je mo┼żn├ę vopred vysk├║┼ía┼ą s va┼íim hardv├ęrom na testovacom webovom rozhran├ş (odkaz za┼ílem v spr├íve). Posledn├ę prepo─Ź├ştan├ę nameran├ę ├║daje z webov├ęho rozhrania je mo┼żn├ę pren├í┼ía┼ą na MQTT Broker (s in├Żm mikrokontrol├ęrom, ktor├Ż funguje ako JSON klient - programov├ę implement├ície s├║ dostupn├ę). Tieto d├íta s├║ na .php podstr├ínke distribuovan├ę v JSON form├íte. Mo┼żno integrova┼ą do vlastnej automatiz├ície (Domoticz, Hassio, Loxone a pod.) a vizualizova┼ą d├íta z hladinomera aj v inej vizualiz├ícii, napr. Grafana. Mo┼żn├ę n├ísledne vytvori┼ą vlastn├ę automatiz├ície pre polievanie z├íhrady, zavla┼żovanie a pod. na z├íklade ├║dajov o v├Ż┼íke hladiny vody.

Na vy┼żiadanie mo┼żno vysk├║┼ía┼ą vopred webaplik├íciu s plnou funkcionalitou (okrem HTTP Auth na podstr├ínkach nastaven├ş a zobrazenia zdrojov├ęho k├│du) s va┼íim hardv├ęrom. Dod├ívam v├Żhradne softv├ęrov├ę rie┼íenie. Hardv├ęr, ani jeho mont├í┼ż nepon├║kam!

In├ę typy senzorov pre z├íznam v├Ż┼íky hladiny vody, ktor├ę je mo┼żn├ę integrova┼ą (nutn├ę vytvori┼ą vlastn├Ż firmv├ęr):
    Laserov├ę (LiDAR)
    Hydrostatick├ę (ponorn├ę)
    Elektrostatick├ę (kapacitn├ę / induk─Źn├ę)
    Tlakov├ę (diferen─Źn├ę / s kompenza─Źn├Żm senzorom atmosf├ęrick├ęho tlaku)
    Optick├ę
    Mechanick├ę (plav├ík)
    Magnetick├ę (Hall)
    Mikrovlnn├ę (radarov├ę)
    Ultrazvukov├ę - in├Ż typ v├Żstupu (UART, RS-232, pr├║dov├í slu─Źka 4-20 mA, Modbus TCP / RTU, M-bus, RS-485, PROFINET, CAN...)
    Pozn├ímka: Ak sa vykon├íva prepo─Źet v├Ż┼íky hladiny vody od dna na strane mikrokontrol├ęra, je nutn├ę na webovom rozhran├ş nastavi┼ą h─║bku studne na 0 cm.
Obrázok
Obrázok
Webov├ę rozhranie je dostupn├ę v slovenskom, nemeckom, ruskom a anglickom jazyku. Slovensk├Ż jazyk je predvolen├Ż.

Cena je pevn├í, 50ÔéČ za zdrojov├ę k├│dy webov├ęho rozhrania.

Viac inform├ícii o projekte s mo┼żnos┼ąou vysk├║┼íania projektu zdarma s Va┼íim hardv├ęrom n├íjdete na: https://martinius96.github.io/hladinomer-studna-scripty/


04 Aug 2022, 14:38
Profil
Zobrazi┼ą pr├şspevky za obdobie posledn├Żch:  Usporiada┼ą pod─ża  
Vytvori┼ą nov├║ t├ęmu Odpoveda┼ą na t├ęmu  [ Po─Źet pr├şspevkov: 2 ] 


Kto je pr├ştomn├Ż

Pou┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 1 hos┼ą.


Nem├┤┼żete zaklada┼ą nov├ę t├ęmy v tomto f├│re
Nem├┤┼żete odpoveda┼ą na t├ęmy v tomto f├│re
Nem├┤┼żete upravova┼ą svoje pr├şspevky v tomto f├│re
Nem├┤┼żete maza┼ą svoje pr├şspevky v tomto f├│re
Nem├┤┼żete zasiela┼ą s├║bory v tomto f├│re

H─żada┼ą:
cron

[ gallery ]       [ journal ]       [ foto ]       [ portfolio ]       [ rastliny ]