Contor de nivel cu ultrasunete pentru o fântână săpată

martinius96

New Member
Ofer o aplicație web programată pentru mine pentru proiectul Hladinomer. Aplicația web vă permite să înregistrați date privind nivelul apei din puțul săpat din nodul senzor. El efectuează 10 măsurători medii cu un senzor ultrasonic la intervale regulate (5 min) și trimite datele rezultate către server. Datele sunt vizualizate utilizatorului în interfața web în tabloul de bord sau istoric în timp în grafice, tabele cu până la un an în urmă.
Principiul măsurării senzorilor cu ultrasunete este de a trimite un semnal de declanșare cu o lungime de 10 μs (microsecunde), care sări de pe nivelul apei și revine la receptor - Echo. Metoda Time-of-Flight este folosită pentru a recalcula timpul dintre trimiterea și primirea semnalului pentru a obține nivelul diferențial al apei de la senzor.
După trimiterea datelor către interfața web, se efectuează o corecție, când se calculează nivelul real din fundul puțului, care este introdus în baza de date. Corectarea se face pe baza adâncimii cunoscute a puțului și a nivelului diferențial acceptat al apei de la senzorul ultrasonic. Interfața web din tabloul de bord vizualizează și volumul actual al puțului în litri, pe baza diametrului cunoscut al puțului. Ambele valori sunt, de asemenea, vizualizate cu o tendință de la măsurarea anterioară, adică. se ridică, coboară, stabilizat cu XY cm / cu XY litri.

Senzorii cu ultrasunete sunt potriviți pentru:
  • Săpat fântâni
  • Septice și gropi
  • Pârâuri și lacuri
  • Rezervoare din plastic pentru apă de ploaie
  • Silozuri (măsurarea umplerii în vrac)
  • Containere (monitorizarea deșeurilor, umplerea containerelor de colectare)
  • Cazane (monitorizarea lemnului, peleților, cărbunelui, așchiilor de lemne)
  • Cămine și pivnițe (încălzire / monitorizare ape subterane)

Senzorii cu ultrasunete NU sunt potriviți pentru:
  • Sonde forate (datorită caracteristicilor de detectare - fascicul larg)
  • Țevi și tuburi (datorită caracteristicilor de detectare - fascicul larg)
  • În puțurile cu afluent (nivelul turbulent atenuează ultrasunetele, măsurarea este imposibilă)
  • În locuri cu o schimbare bruscă a temperaturii (temperatura afectează timpul de propagare a sunetului, astfel încât chiar și nivelul staționar pare să fluctueze)
  • Pentru rezervoarele de vid (măsurarea este imposibilă)

Proiectul folosește un senzor de distanță ultrasonic HC-SR04 - (unghi de detectare 15 °) sau un senzor de testare a apei JSN-SR04T (unghi de detectare este de până la 60 °).

Pot fi utilizați și alți senzori ultrasonici cu semnale Trigger/Echo din seria RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING). Unghiul de detectare reprezintă lățimea fasciculului, resp. un con care se lărgește cu distanța. Este posibil să se măsoare nivelul până la 400 resp. 450 cm max (pe baza datelor din fișa de catalog a senzorilor individuali).

Pentru nodul senzor poate fi utilizată o placă de dezvoltare Arduino (Uno / Mega) cu modul Ethernet Wiznet W5100 sau W5500 sau versiunea sa mai nouă USR-ES1 (W5500 V2). Microcontrolerele WiFi de la Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini, Generic Board) sau ESP32 (Devkit, sau un modul separat, cum ar fi ESP32-WROOM-32 / ESP32-S) pot fi folosite pentru transmisia de date prin aer. Schema de cablare pentru toate microcontrolerele este disponibilă direct în aplicația web împreună cu codurile sursă în limbajul Wiring (.ino app), resp. pentru ESP32 implementare disponibilă și în cadrul ESP-IDF cu sistem de operare în timp real - FreeRTOS cu mecanism de blocare a sarcinilor de coadă. Interfața web pentru contorul de nivel poate genera automat cod sursă pentru microcontrolere în funcție de locația proiectului, domeniului etc. (modificare necesară a certificatului Root CA care a emis certificatul pentru domeniul dat).

Platformele de microcontroler ESP8266 și ESP32 (Implementări de cablare) pot fi operate și în modul ULP (Ultra-Low Power), ceea ce le reduce dramatic consumul la nivelul de zeci de microamperi. Potrivit pentru funcționarea cu baterie timp de câțiva ani (este necesară utilizarea unui tranzistor pentru a comuta sursa de alimentare a senzorului, necesită modificarea codului sursă).

Al doilea mod de operare este StandBy, unde platforma rulează în modul standard și poate fi extinsă cu implementarea Over The Air (OTA), care oferă actualizări de firmware prin LAN direct din interfața ArduinoIDE, espota.py este folosit pentru procesul de încărcare. . Arduino cu Ethernet acceptă doar conectivitate HTTP și nu acceptă actualizarea OTA sau modul Low-power! Conexiunile criptate HTTP și HTTPS la serverul web pot fi utilizate pentru platformele ESP8266 și ESP32.
În cazul în care internetul fix nu este disponibil pe site, este posibil să se utilizeze și transmisia de date prin rețeaua IoT Sigfox, care acoperă zonele de graniță și marile orașe din România și majoritatea țărilor UE și este o alternativă potrivită pentru zonele fără acoperire internet. Este compatibil modemul SIGFOX WISOL 868MHz UART (SFM10R1), care comunică cu microcontrolerul prin comenzi AT prin UART.
Modemul este potrivit pentru aplicații IoT cu un consum redus de curent. Limita mesajului 12B (folosit 4B pentru nivelul apei UINT_32), apel invers personalizat de la backend-ul Sigfox execută cererea HTTP / HTTPS POST pentru a scrie date pe interfața web. Deoarece rețeaua Sigfox are un număr limitat de mesaje pe zi (140), măsurarea și transmiterea datelor se efectuează la fiecare 11 minute. În cazul unei licențe pentru 140 de mesaje, este posibil să se utilizeze alte - date de sistem pentru transmitere, de exemplu coordonatele GPS din sistemul Sigfox ATLAS (este necesară editarea fișierului pentru scriere în baza de date, + schimbarea câmpurilor tabelului ).

Pentru a rula proiectul, este necesar să existe un server web cu suport Apache/Nginx (pentru scripturi .php) pe adresa IP publică sau în rețeaua LAN, unde platforma trimite date de la senzorul ultrasonic. ATENTIE, in cazul functionarii Sigfox serverul trebuie sa fie accesibil de pe Internet, altfel nu se pot scrie date! Serverul web rulează o aplicație care vizualizează cele mai recente date ale utilizatorului într-un raport dinamic cu un indicator de conectivitate la microcontroler.

Interfața web conține și o înregistrare a înregistrărilor - valoarea maximă, minimă a nivelului apei în 24 de ore, 7 zile, 30 de zile. Aceste date sunt vizualizate în reprezentarea ceasului cu alarmă. Valorile maxime și scăzute indică un randament continuu.
Aplicația web are, de asemenea, diverse date configurabile care sunt necesare pentru a determina corect nivelul apei - adâncimea puțului până la fund (servează ca valoare de calibrare pentru măsurători). Senzorul cu ultrasunete returnează nivelul apei din partea de sus a puțului, nu din partea de jos.

Prin urmare, măsurarea este scăzută din această valoare de calibrare pentru a determina nivelul real al apei din partea de jos. Al doilea parametru variabil este diametrul sondei. Setarea diametrului puțului este importantă pentru transformarea nivelului la un litru prin lupta cu puțul. Subpagina de setări conține și o estimare a adâncimii maxime a sondei la un diametru dat pentru cele mai precise măsurători fără reflexii - ține cont de caracteristicile de detectare ale senzorului.
Această estimare a adâncimii maxime a sondei este realizată prin trigonometrie și permite utilizatorului să selecteze mai bine senzorul pentru cerințele sale în ceea ce privește dimensiunile sondei sale.

Datele sunt trimise către interfața web prin protocolul HTTP / HTTPS cu sarcină utilă POST. Microcontrolerul este autentificat printr-un parametru din cererea POST. Acțiunile din interfața web (ștergerea înregistrării, configurarea setărilor, afișarea codului sursă pentru microcontroler) sunt în spatele logării prin HTTP Auth Basic - nume și parolă (se recomandă utilizarea interfeței web sub HTTPS).

Proiectul este potrivit și pentru profani, pentru implementarea interfeței web este disponibil un document .pdf cu instrucțiuni, care explică pas cu pas configurarea și lansarea proiectului pe web hosting/server web local.
Proiectul poate fi testat în prealabil cu hardware-ul dumneavoastră pe interfața web de testare (voi trimite linkul în mesaj). Ultimele date măsurate recalculate din interfața web pot fi transferate către MQTT Broker (cu un alt microcontroler care acționează ca client JSON - sunt disponibile implementări de program). Aceste date sunt distribuite în format JSON pe subpagina .php. Poate fi integrat în propria ta automatizare (Domoticz, Hassio, Loxone etc.) și poate vizualiza datele de la contorul de nivel în alte vizualizări, de ex. Grafana. Apoi este posibil să vă creați propria automatizare pentru udarea grădinii, irigare etc. pe baza datelor despre nivelul apei.

La cerere, puteți încerca în avans o aplicație web cu funcții complete (cu excepția HTTP Auth în subpaginile de setări și cod sursă) cu hardware-ul dvs. Furnizez exclusiv o soluție software. Nu ofer hardware sau instalarea lui!
Alte tipuri de senzori de nivel de apă care pot fi integrați (trebuie să vă creați propriul firmware):
  • Laser (LiDAR)
  • Hidrostatic (submersibil)
  • Electrostatic (capacitiv/inductiv)
  • Presiune (diferențială / cu senzor de presiune atmosferică compensatoare)
  • Optic
  • mecanic (plutitor)
  • Magnetic (Sală)
  • Cuptor cu microunde (radar)
  • Ultrasunete - alt tip de ieșire (UART, RS-232, buclă de curent 4-20 mA, Modbus TCP / RTU, M-bus, RS-485, PROFINET, CAN ...)
  • Notă: Dacă calculul nivelului apei din partea de jos este efectuat pe partea microcontrolerului, este necesar să setați adâncimea puțului la 0 cm pe interfața web.

Interfața web este disponibilă în slovacă, germană, rusă și engleză. Slovaca este limba implicită.

Prețul este fix, 50 € = 250 lei pentru codurile sursă ale interfeței web.

Mai multe informații despre proiect cu posibilitatea de a încerca proiectul gratuit cu hardware-ul dumneavoastră pot fi găsite la:
https://martinius96.github.io/hladinomer-studna-scripty/ro/

Există, de asemenea, un firmware plug n 'play compilat pentru ESP8266 și ESP32. Firmware-ul este disponibil pentru modurile de operare Standby și Ultra-Low-Power. Firmware-ul poate fi încărcat pe microcontroler fără a fi nevoie să instalați biblioteci. Acest lucru permite ca proiectul să fie testat imediat cu hardware-ul dvs. pe o interfață web de testare.
Firmware-ul este încărcat în microcontroler prin ESPTOOL (parte a arhivei firmware .zip). Configurarea la rețeaua WiFi de acasă se realizează prin WiFiManager. Atâta timp cât ESP nu are o configurație validă, își trimite SSID-ul Hladinomer_AP cu propria interfață web WiFiManager cu Captive Portal, unde sunt configurate SSID-ul și parola.

Este posibil să se integreze hardware vândut comercial cu suport LPWAN IoT al rețelelor NB-IoT / LoRaWAN / Sigfox în proiect printr-un callback setat corespunzător:
  • WSSFC-ULC
  • HummBox
  • EM500
  • MiniUni
 

popgeo

Well-Known Member
Membru staff
Moderator
Marius96, interesanta chestia, dar nu prea se cadreaza cu forumul acesta.
 

crysty

Active Member
Proiectul e chiar wow, desi stau la bloc si nu imi trebuie asa ceva dar vad ca e bine documentat articolul. Am spicuit nu am citit tot deocamdata.
@popgeo cred ca e in masura si pentru forumul asta dar e de nisa adica pentru cei care au nevoie de un control mai des asupra rezervei apei din fantana cum ar fi, de exemplu bazinul legumicol Matca din Galati unde foarte multe gospodarii au solarii si afacere cu rosii si care se bazeaza 100% pe apa freatica.
Eu i-as recomanda lui @martinius96 sa fie pe firma si sa aiba un as in maneca solutie de tehnologizare completa adica daca cineva vrea tot pachetul sa aiba parte de tot chiar daca pica internetul inclusiv cu acumulatori daca pica curentul pentru ca e posibil ca unii de la tara sa traga apa cu generator daca a cazut curentul (Sa zicem de la o furtuna puternica si stim cat de moscaiti sunt cei care restabilesc curentul iar in plina vara plantele nu pot astepta apa sa vina odata cu curentul dupa 2 zile). I-as recomanda sa faca carcase la tot ce trebuie, sa asigure protectie anti-umezeala unde trebuie si daca este vorba de un pachet complet disponibil atunci poate sa incerce sa il omologheze si sa il propuna la vanzare siteurilor online pentru gradini.
Exista potential de afacere cu asta mai ales ca vremea, overall, are veri din ce in ce mai secetoase in sudul tarii. Dar de nisa adica nu te astepti sa vinzi asa ceva ca painea calda.
( De exemplu eu am un mic articol de blog despre media de temperaturi pe zonele tarii http://planteverzi.blogspot.com/2016/11/harta-zonelor-hardiness-in-romania.html si deja mi se pare ca e un pic expirat din 2016)
Sunt mai mult ca sigur ca daca ajunge la emisiunea Imperiul Leilor va face rost de finantari dar cred ca trebuie sa fie omologat aparatul sau aplicatia dar si sa fie firma. Si probabil ca ar putea sa faca si alte aplicatii de exemplu despre automatizarea stropirii/irigarii in solare in functie de mediu care ar duce si la o economie/optimizare de apa si cred ca sunt deja asa ceva straine pe piata (aici ma refer si l;a partea de hardware si senzori nu doar software) dar ar trebui sa fie ieftin daca e facut de roman.
Daca te ajuta cu ceva articolul despre hardiness pe Ro poti sa te folosesti de el fara niciun fel de pretentie din partea mea ca doar de aia l-am postat public.
Poti sa faci topic si aici https://www.mygarage.ro/smart-life-si-automatizari/ dar daca faci si la vanzari sa stii ca topicul de vanzari o sa iti ramana in urma repede pentru ca posteaza lumea mereu cate ceva hardware de vanzare.
De asemenea poti incerca si pe olx sau okazii.ro sau chiar si pe forumul asta romanesc https://www.clubptc.net/forum/vanzare.185/ unde mai posteaza si programatori romani in cautare de mini joburi.
Nu stiu ce inseamna zonele albastre de pe harta de curiozitate ? E zona de acoperire la treaba aia Sigfox sau sunt zonele unde panza freatica abunda ?
 
Ultima editare:
Sus