IoT Dashboard dla Miernika Poziomu z Interfejsem Sieciowym i Czujnikami Ultradźwiękowymi. Nasz IoT Dashboard to zaawansowane narzędzie umożliwiające odbiór danych z miernika poziomu, działającego na węzłach sensorowych opartych na ESP32, ESP8266 i Arduino. Nasza aplikacja internetowa umożliwia rejestrację danych o wysokości poziomu wody w studni kopanej przy użyciu czujników ultradźwiękowych, takich jak HC-SR04 lub jego wodoodpornej wersji JSN-SR04T. W trakcie pomiarów, węzeł czujnikowy rutynowo wykonuje 10 uśrednionych pomiarów za pomocą czujnika ultradźwiękowego co 5 minut. Wyniki są następnie przesyłane do serwera poprzez interfejs sieciowy, obsługujący sieć WiFi, Ethernet, IoT LoRaWAN lub NB-IoT. Nasze rozwiązanie oferuje pełną transparentność danych, prezentując aktualne informacje dotyczące wysokości poziomu wody na responsywnym interfejsie sieciowym. Interfejs ten dostosowuje się do różnych urządzeń, w tym smartfonów, komputerów, tabletów i Smart TV. Dodatkowo, nasz backend koryguje zmierzone poziomy wody do rzeczywistych wartości na podstawie znanej głębokości studni, a także prezentuje dane historyczne w formie czytelnych tabel i wykresów liniowych. Warto również zaznaczyć, że nasza aplikacja umożliwia precyzyjne określenie objętości studni w litrach na podstawie rzeczywistej wysokości poziomu wody i średnicy studni. Dzięki temu użytkownik zyskuje kompleksowe narzędzie do monitorowania i zarządzania poziomem wody w studni.
Zasada działania czujników ultradźwiękowych w pomiarze poziomu wody. Pomiar czujników ultradźwiękowych opiera się na przesłaniu sygnału wyzwalającego o długości 10 μs (mikrosekund), który odbija się od powierzchni wody, a następnie wraca do odbiornika jako Echo. Metoda Time-of-Flight jest używana do obliczenia czasu pomiędzy wysłaniem a odebraniem sygnału, co pozwala określić odległość poziomu wody od czujnika umieszczonego na szczycie studni. Prędkość dźwięku, kluczowy parametr tej metody, wynosi 343 m/s w temperaturze 20°C. Szerokość wiązki, określająca charakterystykę detekcji, jest istotnym parametrem czujników ultradźwiękowych. Czujnik HC-SR04 posiada wąską wiązkę o kącie detekcji 15°, co sprawia, że jest odpowiedni do węższych studni, choć nie jest wodoodporny i może ulegać korozji w wilgotnych warunkach. Zaleca się jego umieszczenie nad studnią, aby zminimalizować wpływ wilgoci na działanie. Wodoodporny czujnik JSN-SR04T charakteryzuje się szerszą wiązką detekcji wynoszącą 60°. Ogranicza to jego zastosowanie w wąskich studniach, gdzie średnica studni musi być większa, aby zapewnić dokładne pomiary bez odbić. Czujniki ultradźwiękowe, w tym JSN-SR04T, są całkowicie bezobsługowe i posiadają płytkę elektroniki sterującej, odporne na wilgoć i wodę. Maksymalna mierzalna wysokość powierzchni (poziomu) przez te czujniki wynosi około 400 do 450 cm.
Tytuł | Funkcja oprogramowania | ESP8266 | ESP32 |
---|---|---|---|
Ultra Low Power |
Firmware dla aplikacji ULP o niskim poborze prądu (patrz schemat połączeń). Oprogramowanie układowe jest ładowane automatycznie za pomocą dołączonego narzędzia ESPTOOL, które jest uruchamiane za pomocą skryptu .bat (w skrypcie konieczna jest zmiana portu COM płyty ESP). Po wgraniu oprogramowania układowego i założeniu, że ESP nie ma zapisanego identyfikatora SSID i hasła z poprzedniego projektu, uruchomi się WiFiManager, który służy do konfiguracji istniejącej sieci WiFi. ESP rozpocznie nadawanie otwartej sieci WiFi z SSID w trybie AP --> Hladinomer_AP. Po podłączeniu klienta (Windows / Android / iOS) portal Captive uruchomi się na 192.168.4.1 (klient powinien zostać przekierowany automatycznie). WiFiManager umożliwia wybór sieci WiFi w zasięgu w interfejsie internetowym, ustawienie hasła. Po udanym podłączeniu ESP do określonej sieci WiFi i przypisaniu IPv4 z podanego zakresu, Captive Portal zostanie wyłączony, ESP pozostanie w trybie STA-Station. Następnie węzeł czujnika rozpocznie transmisję danych do interfejsu sieciowego miernika poziomu . Następnym razem, gdy węzeł czujnika zostanie uruchomiony, Captive Portal i WiFiManager przestaną się uruchamiać, ponieważ konfiguracja sieci WiFi zostanie zachowana na stałe. Po przesłaniu danych mikrokontroler przechodzi w tryb głębokiego uśpienia - Deep Sleep. Główny procesor Xtens jest wyłączony w trybie uśpienia. ESP8266 jest wybudzany przez zegar WAKE (wymagana zworka między GPIO16 a RST), ESP32 przez zegar RTC. |
ESP8266 firmware | ESP32 firmware |
StandBy |
Firmware dla trybu StandBy mikrokontrolera, który w regularnych odstępach (5 min) wysyła pomiary poziomu wody do serwera WWW i jednocześnie utrzymuje łączność z AP w sieci LAN. Oprogramowanie układowe jest ładowane automatycznie za pomocą dołączonego narzędzia ESPTOOL, które jest uruchamiane za pomocą skryptu .bat (w skrypcie konieczna jest zmiana portu COM płyty ESP). Po wgraniu oprogramowania układowego i założeniu, że ESP nie ma zapisanego identyfikatora SSID i hasła z poprzedniego projektu, uruchomi się WiFiManager, który służy do konfiguracji istniejącej sieci WiFi. ESP rozpocznie nadawanie otwartej sieci WiFi z SSID w trybie AP --> Hladinomer_AP. Po podłączeniu klienta (Windows / Android / iOS) portal Captive uruchomi się na 192.168.4.1 (klient powinien zostać przekierowany automatycznie). WiFiManager umożliwia wybór sieci WiFi w zasięgu w interfejsie internetowym, ustawienie hasła. Po udanym podłączeniu ESP do określonej sieci WiFi i przypisaniu IPv4 z podanego zakresu, Captive Portal zostanie wyłączony, ESP pozostanie w trybie STA-Station. Następnie węzeł czujnika rozpocznie transmisję danych do interfejsu sieciowego miernika poziomu . Przy następnym uruchomieniu węzła czujnika, Captive Portal i WiFiManager przestaną się uruchamiać, ponieważ konfiguracja sieci WiFi jest zachowana na stałe. |
ESP8266 firmware | ESP32 firmware |
Zaawansowany System Pomiaru Poziomu Wody z Inteligentnym Interfejsem Sieciowym. Nasz system pomiaru poziomu wody wykorzystuje zaawansowany interfejs sieciowy, który opiera się na zastosowaniu trygonometrii do oszacowania mierzalnej maksymalnej głębokości odwiertu przy znanej średnicy. Ten innowacyjny projekt umożliwia użytkownikowi łatwe obliczenie, do jakiej głębokości każdy z czujników jest odpowiedni na podstawie ich charakterystyk. Interfejs sieciowy obsługuje różne mikrokontrolery, w tym platformy Arduino (Uno/Mega), ESP8266 i ESP32. Dzięki temu użytkownicy mają szeroki wybór rozwiązań, a projekt jest prosty w obsłudze nawet dla osób nieobeznanych z technologią. Mikrokontrolery ESP8266 i ESP32 oferują dodatkowe funkcje, takie jak tryb głębokiego uśpienia, zdalne wgrywanie firmware przez sieć LAN oraz szyfrowana komunikacja HTTPS z serwerem WWW. System umożliwia integrację z automatyką domową za pośrednictwem protokołu MQTT, co pozwala na monitorowanie poziomu wody na pulpicie czy platformach takich jak Hassio, Domoticz czy Loxone. Dodatkowo, projekt zapewnia bezpieczne połączenie z serwerem WWW poprzez certyfikat osadzony w pamięci flash mikrokontrolera, eliminując konieczność częstego odnawiania certyfikatu. Dane o stanie wody są dostępne w formie JSON z interfejsu WWW, umożliwiając integrację z różnymi systemami i sterowanie peryferiami na podstawie danych o stanie wody w studni. To kompleksowe rozwiązanie, które łączy precyzyjny pomiar poziomu wody z zaawansowanymi funkcjami interfejsu sieciowego, dostosowanymi do różnych potrzeb użytkowników.
Tytuł | Funkcja biblioteki | Ściągnij |
---|---|---|
NewPing |
Biblioteka dla mikrokontrolerów AVR (ATmega) Arduino Uno / Nano / Mega. Umożliwia wykonywanie pomiarów ultradźwiękowymi czujnikami odległości RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™. |
Ściągnij |
NewPingESP8266 |
Biblioteka dla mikrokontrolerów ESP8266 i ESP32. Umożliwia wykonywanie pomiarów ultradźwiękowymi czujnikami odległości RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™. |
Ściągnij |
Ethernet2 |
Biblioteka dla mikrokontrolerów AVR (ATmega) Arduino Uno / Nano / Mega. Umożliwia komunikację z modułem Ethernet Wiznet W5200 do W5500 poprzez interfejs SPI. |
Ściągnij |
Ethernet3 |
Biblioteka dla mikrokontrolerów AVR (ATmega) Arduino Uno / Nano / Mega. Umożliwia komunikację z modułem Ethernet Wiznet W5500 V2 - USR-ES1 poprzez interfejs SPI. |
Ściągnij |
UIPEthernet |
Biblioteka dla mikrokontrolerów AVR (ATmega) Arduino Uno / Nano / Mega. Umożliwia komunikację z modułem Ethernet ENC28J60 firmy Microchip poprzez interfejs SPI. |
Ściągnij |
Bezprzewodowa Transmisja Danych w Projektach Sigfox IoT. W obszarach, gdzie stały dostęp do Internetu jest niedostępny, nasz projekt Miernika Poziomu oferuje alternatywę dzięki technologii LPWAN IoT Sigfox. Obejmując różne regiony Polski, w tym miasta takie jak Łódź, Warszawa, Olsztyn, Poznań, Zielona Góra, Szczecin, Gdańsk, Gliwice, oraz obszary przygraniczne z Republiką Czeską i Słowacją, Sigfox umożliwia przesyłanie niewielkich ilości danych o rozmiarze do 12B. W przypadku Miernika Poziomu, wartość poziomu wody (4B - UINT_32) jest przesyłana, natomiast w projekcie rozszerzonym o deszczomierz, przesyłana jest wartość 8B, zawierająca informacje o wysokości lustra wody i przyroście opadów. Z uwagi na limit 140 wiadomości dziennie, interwał transmisji danych został dostosowany do 11 minut. Wiadomości Payload mogą być rozszerzane o dodatkowe informacje systemowe, takie jak dane GEO (długość/szerokość geograficzna) z usługi GPS Sigfox Atlas, RSSI (Received Signal Strength), numer wiadomości i inne. Projekt wykorzystuje modem Sigfox WISOL 868MHz UART LPWAN, komunikujący się za pomocą poleceń AT poprzez interfejs UART. Prędkość komunikacji wynosi 9600 bodów/s. Modem WISOL posiada zintegrowane złącze u.FL na module PCB do podłączenia anteny, co poprawia zasięg, nawet w trudnych warunkach środowiskowych. Dla sukcesywnej transmisji danych, wymagane jest pokrycie przez dwie, najlepiej trzy lub więcej stacji BTS (Base Transceiver Station). Informacje przesyłane są do backendu Sigfox, a następnie wywoływane jest HTTP lub HTTPS callback, inicjujący przekazanie danych do aplikacji internetowej za pomocą metody POST z odpowiednio zakodowanym ładunkiem. Dzięki temu rozwiązaniu, nasz projekt Sigfox IoT umożliwia efektywną bezprzewodową komunikację danych nawet w obszarach pozbawionych stałego dostępu do Internetu.