Zdalny odczyt czujnika z dowolnego miejsca na Ziemi (pod warunkiem że jest tam dostęp do internetu).
Zasada przesyłania i pobierania danych:
Wykorzystamy do tego celu ESP32 (może być dowolny), czujnik DS18B20, router z uruchomioną siecią WiFi (2,4 GHz) w domu, biurze lub zakładzie pracy oraz skrypty php na serwerze.
Podłączenie DS18B20 do ESP32:
DS w tym przykładzie jest podłączony pod D15. Można podłączyć pod inny pin tylko trzeba wtedy zmienić to w programie dla ESP.
Kod dla ESP32:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W Arduino IDE muszą być zainstalowane 4 biblioteki:
OneWire.h DallasTemperature.h WiFi.h oraz
HTTPClient.h Potrzebujemy jeszcze na serwerze www umieścić 2 skrypty php:
Odbiorczy do którego ESP32 będzie wysyłać pomiary o nazwie zapistemp.php:
język php
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz nadawczy z którego można odczytać liczbę o nazwie odczyttemp.php:
język php
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Oba pliki php należy umieścić na serwerze www. U mnie są one umieszczone w katalogu
android i podkatalogu
postAtnel co widać w adresie
https://www.jaglarz.info/android/postAt ... istemp.php. Pod ten adres dana jest wysyłana.
Jeśli wszystko będzie dobrze zrobione i wszystkie nazwy/ścieżki będa prawidłowe aktualne wyniki pomiarów można wyświetlić wywołując w przeglądarce adres
https://www.jaglarz.info/android/postAtnel/odczyttemp.phpJest tu wyświetlana temperatura w moim pokoju.
Oczywiście wasz adres będzie inny. Zgodny z nazwą domeny oraz nazwą katalogów.
Można w ten sposób odczytywać dane z wszystkich czujników które da się odczytać przy pomocy mikrokontrolera - temperatury, wilgotności, ciśnienia, odległości, stany włączników/wyłączników, czujki podczerwieni.
Jeśli ktoś zna php + ewentualnie mySQL może sobie zrobić rejestrowanie danych o określonej godzinie, wykresy i inne cuda.
Ktoś powie że są już gotowe rozwiązania. No i dobrze. Niech każdy stosuje co chce.
Ja mam nudzący się serwer + chciałem sprawdzić czy dam radę tak zrobić.
Teoretycznie wygodniej wynik pomiaru byłoby wyświetlać w aplikacji. Być może taka powstanie na potrzeby tego postu. Jest już gotowa w 90% ale mam dysfunkcję systemu motywacyjnego czyli mówiąc inaczej choruję na Lenius Pospolitus.
Kody nie są optymalne. Są to efekty prób jakie robiłem. Proszę nie bić lutownicą.