Spisu treści:

Czujnik temperatury IoT z ESP8266: 6 kroków (ze zdjęciami)
Czujnik temperatury IoT z ESP8266: 6 kroków (ze zdjęciami)

Wideo: Czujnik temperatury IoT z ESP8266: 6 kroków (ze zdjęciami)

Wideo: Czujnik temperatury IoT z ESP8266: 6 kroków (ze zdjęciami)
Wideo: Kurs ESP8266: Obsługa czujnika temperatury DS18B20 2024, Listopad
Anonim
Czujnik temperatury IoT z ESP8266
Czujnik temperatury IoT z ESP8266
Czujnik temperatury IoT z ESP8266
Czujnik temperatury IoT z ESP8266

Zainspirował mnie do stworzenia czujnika temperatury, który mogę monitorować przez Wi-Fi. Ten projekt nie jest nowy, ale podoba mi się pomysł posiadania warstwy pośredniej dla bezpieczeństwa i bez konieczności otwierania portu w routerze do urządzenia IoT. Podstawowy pomysł pozwoli mi sprawdzić temperaturę w domu podczas pracy. Później można go rozbudować o sterowanie klimatyzacją oraz włączanie i wyłączanie.

Krok 1: Wymagana koncepcja i komponenty

Wymagana koncepcja i komponenty
Wymagana koncepcja i komponenty

Najpierw koncepcja. Zdjęcie wyjaśnia, co staram się osiągnąć. Czujnik temperatury jest podłączony do wejścia analogowego modułu WIFI ESP8266, który będzie okresowo przesyłał temperaturę do hostingu opartego na chmurze (w tym przykładzie używam tylko webserwera ze skryptami po stronie serwera php). Następnie możesz uzyskać dostęp do temperatury w dowolnym miejscu z chmury (serwera internetowego), aby sprawdzić, jaka jest aktualna temperatura.

Teraz komponenty wymagane do tego są poniżej, proszę nie, że link jest linkiem partnerskim, jeśli nie chcesz, po prostu przejdź bezpośrednio do strony internetowej.

- Płytka deweloperska NodeMcu Lua ESP8266. Dostaję mój z Banggood.

- czujnik temperatury LM35. Dostaję swój stąd.

- Płytka prototypowa i kilka przewodów (opcjonalnie, jeśli wolisz bezpośrednio przylutować czujnik temperatury)

- Arduino IDE, możesz pobrać tutaj.

- Działający serwer WWW z zainstalowanym skryptem serwera php (nie jest to wymagane, jeśli chcesz tylko zobaczyć temperaturę w swojej sieci lokalnej)

Krok 2: Uruchom Arduino IDE

Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy

Zainstaluj Arduino IDE, obsługuje różne platformy, Windows, Linux i Mac. Po prostu użyj tego, z którym czujesz się komfortowo.

Zakładam, że instalacja i uruchomienie jest wygodne.

Po zainstalowaniu Arduino nadszedł czas, aby przetestować kartę Wi-Fi ESP8266. Płytkę można podłączyć za pomocą kabla USB do komputera. Komputer powinien to wykryć automatycznie.

- Wybierz odpowiednią płytkę z Tools->Board->NodeMCU 1.0 (moduł ESP-12E)

- Następnym krokiem jest wybranie portu, do którego podłączony jest twój ESP8266, więc przejdź do Tools->Port-> mine wyjdź jako /dev/cu.wchusbserial14750, (możesz mieć coś innego)

Po podłączeniu możesz przetestować połączenie i płytkę, ładując przykładowy szkic

- Wybierz Plik->Przykłady->ESP8266->Mrugnięcie

Spowoduje to otwarcie szkicu Blink, możesz kliknąć przycisk „Prześlij”, aby przesłać swój szkic. Jeśli wszystko pójdzie dobrze, dioda LED na twoim ESP8266 powinna zacząć migać.

Krok 3: Podłącz czujnik temperatury

Podłącz czujnik temperatury
Podłącz czujnik temperatury
Podłącz czujnik temperatury
Podłącz czujnik temperatury

Czujnik temperatury LM35 ma 3 nóżki, pierwsza nóżka to VCC, można ją podłączyć do 5V (wyjście płyty ESP8266 to 3,3V). Środkowa noga to Vout (tam, z której odczytywana jest temperatura, można ją podłączyć do wejścia analogowego pinu AD0 ESP8266, które znajduje się w prawym górnym rogu płyty, jak pokazano na rysunku. A prawa noga powinna być podłączony do ziemi. Teraz obwód jest kompletny.

Krok 4: Konfiguracja serwera internetowego w chmurze (opcjonalnie)

Konfiguracja serwera WWW w chmurze (opcjonalnie)
Konfiguracja serwera WWW w chmurze (opcjonalnie)
Konfiguracja serwera WWW w chmurze (opcjonalnie)
Konfiguracja serwera WWW w chmurze (opcjonalnie)

Możesz pominąć ten krok, jeśli chcesz przesłać temperaturę na inny serwer WWW.

Założenie:

Będziesz mieć działający serwer WWW i jesteś zaznajomiony z przesyłaniem plików na swój serwer WWW.

Prześlij załączony plik zip do katalogu głównego witryny, powiedzmy, że witryna to „https://arduinotestbed.com”

Możesz również umieścić pliki w folderze, ale upewnij się, że zmodyfikujesz szkic arduino, aby wskazywał poprawną lokalizację „data_store.php”

W tym przykładzie zakładamy, że plik data_store.php znajduje się w katalogu głównym witryny, dostępnym pod adresem

Po przesłaniu możesz sprawdzić, czy działa, wskazując na

Miejmy nadzieję, że powinieneś zobaczyć pokrętło temperatury pokazujące fikcyjną temperaturę. Teraz, gdy serwer WWW jest gotowy, możemy przejść do następnego kroku, ładując szkic do naszego ESP8266.

Należy pamiętać, że musisz upewnić się, że plik temp.txt na serwerze sieciowym ma uprawnienie do zapisu „666”.

Krok 5: Prześlij szkic czujnika temperatury

Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury
Prześlij szkic czujnika temperatury

Używamy ESP8266 jako serwera WWW do monitorowania temperatury i przesyłania odczytu do wewnętrznego serwera WWW, a także do chmury.

- Skopiuj załączone 3 pliki do folderu i otwórz główny plik "ESP8266TempSensor.ino" w Arduino IDE

- Zmodyfikuj lokalizację serwera WWW w wierszu String webserver = "arduinotestbed.com" (twój katalog główny serwera WWW)

- Zmodyfikuj weburi w linii String weburi = "/data_store.php" (jeśli używasz kroku przed)

- Prześlij szkic do ESP8266

Jeśli wszystko pójdzie dobrze, powinno zostać pomyślnie przesłane i za pierwszym razem ESP przejdzie w tryb AP. Możesz użyć laptopa lub telefonu komórkowego, aby się z nim połączyć. Powinieneś być w stanie znaleźć AP pod nazwą "ESP-TEMP".

- Spróbuj połączyć się z ESP-TEMP za pomocą laptopa lub telefonu komórkowego

- Dowiedz się, jaki jest adres IP, do którego jesteś przypisany, wykonując polecenie „ipconfig” w systemie Windows lub polecenie „ifconfig” w systemie Linux lub Mac.

- Jeśli używasz iPhone'a, kliknij przycisk i obok ESP-TEMP, z którym jesteś połączony

- Otwórz przeglądarkę i wskaż ESP-TEMP, jeśli masz przypisany adres IP 192.168.4.10, ESP-TEMP ma adres IP 192.168.4.1, więc możesz po prostu przejść do https://192.168. 4.1 i powinieneś zobaczyć stronę ustawień, na której możesz wprowadzić identyfikator SSid routera Wi-Fi i klucz psk. po wprowadzeniu obu i zaznaczeniu pola wyboru „Aktualizuj konfigurację Wifi”, kliknij „Aktualizuj”, aby zaktualizować ustawienia do swojego ESP8266.

ESP8266 uruchomi się teraz ponownie i spróbuje połączyć się z routerem Wi-Fi. Możesz monitorować ten postęp w monitorze szeregowym, klikając Narzędzia->Monitor szeregowy. Okno monitora szeregowego pokaże postęp połączenia.

Monitor szeregowy poinformuje Cię również, jaki jest adres IP Twojego ESP8266 po podłączeniu do routera Wi-Fi. Dioda LED będzie migać raz na kilka minut, gdy odbywa się odczyt temperatury. I powinieneś być w stanie zobaczyć temperaturę, wskazując na adres ESP8266.

Krok opcjonalny: jeśli konfigurujesz serwer sieciowy do zapisywania temperatury, możesz teraz wskazać serwer sieciowy, który skonfigurowałeś w poprzednim kroku, w tym przykładzie jest to

Gratulacje!!! możesz teraz pochwalić się znajomym, że masz czujnik temperatury IoT.

Możesz sprawdzić mój odczyt temperatury pod następującym adresem URL

Napisz do mnie, jeśli ci się uda. Jeśli Ci się to podoba, powiedz znajomym, a możesz śledzić mnie, aby uzyskać więcej rozszerzenia czujnika temperatury IoT. Możesz również zajrzeć na mój osobisty blog, aby dowiedzieć się więcej o projektach związanych z mikrokontrolerem.

Krok 6: Dodatkowy krok: TimeLib (opcjonalnie)

Jeśli nie masz TimeLib, musisz zainstalować dołączoną bibliotekę w folderze biblioteki.

Więcej informacji o bibliotece można znaleźć w poniższym linku, Dla użytkowników systemu Windows:

Biblioteka znajduje się w C:\Users\Documents\Arduino

Dla użytkowników komputerów Mac:

Biblioteka znajduje się w Documents\Arduino\Libraries

Możesz ręcznie rozpakować powyższy plik zip we wspomnianej lokalizacji.

Zalecana: