Lähdekoodit Arduinolle, ESP8266, ESP32, NewPing, Ethernet-kirjastoille: Github-projektivarasto
Kokeile tasomittariprojektia ilmaiseksi laitteellasi: Tässä
Arduino Ethernet Wiznet W5100 / W5500 ESP8266 ESP32 Ultrasonic HC-SR04 JSN-SR04T Sigfox

Ohjaa mikrokontrollereita tasomittariprojektille


Riadiaci mikrokontróler Arduino Uno pre termostat
Arduino Uno / Nano
Riadiaci mikrokontróler NodeMCU v2 / v3 Lolin - ESP8266-12E / ESP8266-12F
NodeMCU v3 Lolin
Riadiaci mikrokontróler Wemos D1 Mini - ESP8266-12E / ESP8266-12F
Wemos D1 Mini
Riadiaci mikrokontróler ESP32 Devkit V1 - ESP-WROOM-32 / ESP32-S
ESP32 DevKit V1

Ethernet- ja Sigfox-siirtoteknologiamoduulit tasomittariprojektiin

Ethernet shield Wiznet W5100
Ethernet shield Wiznet W5100
Ethernet modul Wiznet W5500
Ethernet modul Wiznet W5500
Sigfox Wisol modem - IoT LPWAN Node 868 MHz
Sigfox Node Modem

Tuetut ja testatut ultraäänianturit vedenpinnan mittaamiseen


Ultrazvukový senzor vzdialenosti HC-SR04
HC-SR04
Ultrazvukový vodotesný senzor vzdialenosti JSN-SR04T
JSN-SR04T
Ultrazvukový senzor vzdialenosti HY-SRF05
HY-SRF05
Ultrazvukový senzor vzdialenosti URM07 ovládaný cez UART
URM07

Tasomittari - Arduino / ESP8266 / ESP32


Tasomittariprojekti käyttää verkkoliitäntää visualisoimaan mitatut tiedot kaivon, säiliön, vedenkorkeudesta. Bootstrap-palkin mallin reagoiva verkkokäyttöliittymä mukautuu mihin tahansa näyttöön, jossa tietoja visualisoidaan. Tiedot voidaan lukea kelloista, älypuhelimista, tietokoneista, älytelevisioista ja muista laitteista. Projektin web-käyttöliittymä käyttää PHP: ssä kirjoitettua taustaa, joka käsittelee saapuvat tiedot, joita tukee POST-pyyntötapa, muuntaa mitatun lämpötilan todelliselle tasolle ja laskee kaivon tilavuuden tunnettujen tietojen perusteella syvyydestä ja kaivon halkaisijasta, jotka järjestelmä on syöttänyt käyttäjä. Tiedot lähetetään verkkopalvelimelle mikro-ohjaimella, joka suorittaa mittauksia 300 sekunnin välein - ts. Tiedot lähetetään 5 minuutin ajan tai Sigfox IoT -verkon kautta tapahtuvan tiedonsiirron yhteydessä 11 minuutin välein. Vedenpinnan mittaus suoritetaan ultraääniantureilla - HC-SR04 tai sen vedenpitävällä muunnoksella JSN-SR04T tai UART-anturilla URM07 (SKU SEN0153) - saatavana vain tason mittarin projektin erityisversiossa. Se voi mitata jopa 750 cm: n etäisyyden, suuren havaintokulman vuoksi se ei sovi suureen määrään kaivoja ... Ultraääniantureiden mittaamisen periaate on lähettää liipaisusignaali, jonka pituus on 10μs (mikrosekuntia) ja joka perustuu signaalin palaamisajan vastaanottimeen - Kaiku on mahdollista laskea anturin ja tason välinen etäisyys. Tärkeä parametri molemmissa ultraääniantureissa on säteen leveys, toisin sanoen ilmaisuominaisuudet. HC-SR04-anturilla on 15 °: n tunnistusominaisuus. Palkki on suhteellisen kapea ja anturi soveltuu myös kapeisiin kaivoihin ja säiliöihin, mutta se ei ole vedenpitävä ja sillä on suuri korroosion (hapettumisen) vaara. Vedenpitävän JSN-SR04T-anturin tunnistusominaisuudet ovat 60-75 °, mikä ei salli sen käyttöä kapeissa kaivoissa, koska säde laajenee huomattavasti etäisyyden ja kaivon kanssa, jonka halkaisija on useita yksiköitä (6 metriä 4,5 kuopassa) syvyys) vaaditaan.


Tasomittarin toiminnan periaate - Lohkokaavio


Hladinomer do žumpy, septiku, studne, princíp merania - ultrazvukový senzor vzdialenosti

Verkkoliitäntä käyttää trigonometriaa arvioidakseen kaivon mitattavan maksimisyvyyden tunnetulla kaivon halkaisijalla (toinen parametri kaivon tilavuuden laskemiseksi). Verkkoliitännän avulla käyttäjä voi laskea, kuinka kaivon suurin syvyys kukin anturi sopii sen ominaisuuksien perusteella. Projekti on niin helppokäyttöinen myös maallikoille, jotka eivät tiedä, mikä anturi sopii paremmin heidän kaivoonsa. Käytetyllä mikrokontrollerilla on myös tärkeä rooli järjestelmässä. Projektissa käytettiin Arduino (Uno) -alustaa, joka oli kytketty Ethernet-moduuliin / -suojaan Wiznet-mallista W5100 ja W5500, vastaavasti, joka tarjosi HTTP-yhteyden ja mahdollisti mikrokontrollerin siirtämään tietoja verkon etärajapintaan Internetissä. Koska tasomittari on ulkoprojekti, monet käyttäjät haluaisivat myös mahdollisuuden käyttää WiFi-alustaa tarvitsematta vetää Ethernet-yhteyttä kaivoon. Projektissa käytetyt Espressif Systemsin WiFi-alustat - ESP8266 ja ESP32 - mahdollistavat toiminnan eri tiloissa - StandBy, Deep Sleep (syvä lepotila WiFi-modeemin ollessa pois päältä), StandBy + OTA - antavat sinun ladata etäkortille uuden laiteohjelmiston suoraan LAN Arduino IDE -ympäristöstä. Pyynnöstä on myös mahdollista luoda etä-OTA-päivitys, joka jaetaan etänä Internetin kautta verkkopalvelimelta. Voit käyttää Github-arkistoa, joka voi jakaa päivityksen asiakkaalle RAW-muodossa .bin. Deep Sleep -käyttötilaa varten on muokattu kytkentäkaavio ESP8266-alustalle, joka käyttää signaalia, joka syötetään RST: lle WAKE-mikrokontrollerin herättämiseksi. Samanaikaisesti tämä yhteys ei salli ohjelman päivittämistä irrottamatta tätä hyppääjää. ESP32: n syvä lepotilaa käytetään RTC-ajastimella, joka herättää ESP: n tietyn ajan kuluttua. Alustat voivat kommunikoida web-käyttöliittymän kanssa HTTP: n kautta, mutta myös HTTPS-protokollan kautta. ESP8266-alusta käyttää verkkopalvelimen julkisen avaimen sormenjälkeä SHA1-muodossa, mutta vaatii useamman uusimisen, koska ne ovat voimassa enintään yhden vuoden tai 2 vuotta. ESP32-sarjan mikrokontrolleri käyttää juurivarmenneviranomaisen sertifikaattia, joka myönsi varmenteen verkkopalvelimelle - ROOT CA -varmenteen .pem-muodossa HTTPS-yhteydelle. Toiminnan kannalta tämä vaihtoehto on parempi, koska sertifiointiviranomaisen sertifikaatti on voimassa myös 20 vuotta eikä sertifikaatin uusimista tarvita.


Sivustoille, joilla ei ole kiinteän Internet-yhteyden kattavuutta, on myös mahdollista käyttää IoT-verkkoa Sigfox, joka on laajalle levinnyt Euroopassa ja kattaa useimmat maat. Se koostuu yleisradioinnista - BTS-asemista, jotka suorittavat tiedonsiirtoa. Tämän tekniikan avulla voit lähettää pieniä määriä viestejä, joiden koko on enintään 12 B. Tasomittariprojektin tapauksessa lähetetään 4B-vesitason arvo. Sademittarilla laajennetulle projektille lähetetään arvo 8B, joka muodostuu vedenpinnan korkeudesta ja sademäärän kasvusta. Koska Sigfox sallii enintään 140 viestin lähettämisen päivässä, tiedonsiirtoväli pidennetään 11 minuuttiin. Molemmissa tapauksissa viesti ei sisällä täyspitkää pituuttaan, ts. 12B. Hyötykuormaviestejä voidaan myös täydentää erilaisilla järjestelmätiedoilla, esimerkiksi: GEO-tiedot (pituus / leveysaste), RSSI (signaalin voimakkuus), viestin numero ja muut. Projektissa käytetty tiedonsiirtomoduuli on Sigfox WISOL 868MHz UART-modeemi. Tämä modeemi kommunikoi AT-komentojen kautta UART-liitännän kautta, joka on mikro-ohjaimille emuloitu ohjelmisto. Tiedonsiirto alkaa nopeudella 9600 baud / s. WISOL-modeemi on varustettu integroidulla u.FL-liittimellä piirilevymoduulissa antenniliitäntää varten, mikä vähentää merkittävästi kattavuutta myös sisätiloissa / varjossa ulkona. Onnistuneen tiedonsiirron onnistumiseksi tarvitaan peitto kahdella, mieluiten kolmella tai useammalla BTS-asemalla. BTS lähettää lähetetyt tiedot Sigfox-taustajärjestelmälle, jossa on tarpeen soittaa takaisin, mikä alkaa tietojen vastaanottamisen jälkeen. Soittopyynnön on tehtävä HTTP- tai HTTPS-pyyntö toimialueelle, jossa verkkosovellus on käynnissä, POST-menetelmällä ja sopivasti koodatulla hyötykuormalla, jonka verkkosovelluksen taustayksikkö odottaa.

Sigfox-backend-soittopyynnön määrittäminen verkkosovelluksen testaamiseksi

Tasomittari:
  • Callbacks --> Custom --> New
  • Vastaanottaja Custom payload config me kirjoitamme: cislo1::uint:16
  • Vastaanottaja URL pattern: http://arduino.clanweb.eu/studna_s_prekladom/data.php (tai muu Web-palvelimesi URL-osoite, jossa projekti suoritetaan), mahdollisuus käyttää HTTPS
  • Vastaanottaja HTTP metóde lisäämme: POST
  • Vastaanottaja Body lisäämme:
  • hodnota={customData#cislo1}
  • Do Content-Type: application/x-www-form-urlencoded

  • Web-käyttöliittymän visualisointi - Tasomittari


    Hlavný prehľad - Hladinomer - výška hladiny vody v studni Historický prehľad nameraných údajov s časovou značkou - Hladiomer Rekordy nameraných údajov o výške hladiny vody - MAX, MIN - Hladiomer Podporovaný hardvér pre projekt Hladinomer - Arduino - Ethernet - WiFi - ESP8266 - ESP32

    HC-SR04-anturin tunnistusominaisuudet - 15°


    Hladinomer - HC-SR04 detekčná charakteristika - ultrazvukový senzor vzdialenosti

    JSN-SR04T-anturin tunnistusominaisuudet - vedenpitävä - 45°


    Hladinomer - JSN-SR04T detekčná charakteristika - ultrazvukový senzor vzdialenosti