Spisu treści:
- Krok 1: Rzeczy, których potrzebujesz
- Krok 2: Pobierz biblioteki DHT11
- Krok 3: Połączenia
- Krok 4: Kod punktu dostępu
- Krok 5: Ostatni krok: Testowanie
Wideo: ESP8266 NodeMCU Access Point (AP) dla serwera WWW z czujnikiem temperatury DT11 i drukowaniem temperatury i wilgotności w przeglądarce: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Cześć chłopaki w większości projektów używamy ESP8266, a w większości projektów używamy ESP8266 jako serwera WWW, więc dostęp do danych można uzyskać na dowolnym urządzeniu przez Wi-Fi, uzyskując dostęp do serwera WWW obsługiwanego przez ESP8266, ale jedynym problemem jest to, że potrzebujemy działającego routera do to, a nasze urządzenie również musi być podłączone do routera i musimy umieścić nasze dane uwierzytelniające Wi-Fi w kodzie, więc jeśli zmienisz Wi-Fi, musisz zmienić dane uwierzytelniające w kodzie i musisz je ponownie przesłać. Zasadniczo mamy tutaj dwa problemy:1- potrzebujemy połączenia Wi-Fi do obsługi serwera WWW (routera) 2- za każdym razem, gdy połączenie Wi-Fi musi zostać zmienione, musimy wprowadzić dane uwierzytelniające i ponownie przesłać kod. Aby uniknąć tego problemu, możemy zamiast dawać dostęp do Wi-Fi możemy utworzyć ESP8266, aby utworzyć własne połączenie Wi-Fi, więc jeśli połączymy się z tym połączeniem Wi-Fi, będziemy mogli uzyskać dostęp do serwera WWW ESP8266. Więc w zasadzie będziemy hostować serwer WWW z ESP8266 z punktem dostępu. będzie tworzyć serwer sieciowy wykorzystujący Access Point z ESP8266 i podłączymy czujnik DHT11 i wydrukujemy temperaturę i wilgotność na stronie webserwera.
Krok 1: Rzeczy, których potrzebujesz
1x ESP 8266 Nodemcu: 1x DHT11: 1x płytka stykowa:.: Niewiele zworek:
Krok 2: Pobierz biblioteki DHT11
Otwórz swoje Arduino IDE i przejdź do Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami. Menedżer biblioteki powinien się otworzyć. Wyszukaj „DHT” w polu wyszukiwania i zainstaluj bibliotekę DHT z Adafruit. Po zainstalowaniu biblioteki DHT z Adafruit wpisz „Adafruit Unified Sensor” w polu wyszukiwania. Przewiń w dół, aby znaleźć bibliotekę i ją zainstalować. Po zainstalowaniu bibliotek uruchom ponownie Arduino IDE.
Krok 3: Połączenia
Obwód jest bardzo łatwy połącz wszystko zgodnie z rysunkiem schmatics
Krok 4: Kod punktu dostępu
Z moich poprzednich instrukcji zamierzam zmodyfikować kod serwera internetowego tej instrukcji:
I zamień go w kod serwera internetowego punktu dostępu. Skopiuj kod podany poniżej:
#include "Arduino.h"#include "ESP8266WiFi.h"
#include "Hash.h"
#include "ESPAsyncTCP.h"
#include "ESPAsyncWebServer.h"
#include "Adafruit_Sensor.h"
#include "DHT.h"
const char* ssid = "ESP8266";const char* password = "password";#define DHTPIN 5 // Pin cyfrowy podłączony do czujnika DHT// Odkomentuj typ używanego czujnika://#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);// aktualna temperatura i wilgotność, zaktualizowane w loop()float t = 0.0; float h = 0.0;// Utwórz obiekt AsyncWebServer na porcie 80AsyncWebServer server(80);// Generalnie powinieneś używać „unsigned long” dla zmiennych, które przechowują czas// Wartość szybko stanie się zbyt duża, aby int mógł przechowywać unsigned long previousMillis = 0; // zapisze ostatnią aktualizację DHT// Aktualizuje odczyty DHT co 10 sekundconst long interval = 10000; const char index_html PROGMEM = R"rawliteral (serwer ESP8266 DHT)
Temperatura % TEMPERATURA % ° C
Wilgotność %WILGOTNOŚĆ% %)rawliteral";// Zastępuje symbol zastępczy wartościami DHTString processor(const String& var){ //Serial.println(var); if(var == "TEMPERATURE"){ return String(t); } else if(var == "WILGOTNOŚĆ"){ return String(h); } return String();}void setup(){ // Port szeregowy do celów debugowania Serial.begin(115200); dht.begin(); Serial.print("Ustawianie AP (Punkt dostępu)…"); // Usuń parametr hasła, jeśli chcesz, aby AP (punkt dostępu) był otwarty WiFi.softAP(ssid, hasło); IPAddress IP = WiFi.softAPIP(); Serial.print(" Adres IP AP: "); Serial.println(IP); // Drukuj lokalny adres IP ESP8266 Serial.println(WiFi.localIP()); // Trasa do katalogu głównego / strony internetowej server.on("/", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, processor); }); server.on("/temperature", HTTP_GET, (AsyncWebServerRequest *request){ request- >send_P(200, "text/plain", String(t).c_str()); }); server.on("/humidity", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "Zwykły tekst", Ciąg(h).c_str()); }); // Uruchom serwer server.begin();}void loop(){ unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interwał) { // zapisz ostatnią aktualizację wartości DHT previousMillis = currentMillis; // Odczytaj temperaturę w stopniach Celsjusza (domyślnie) float newT = dht.readTemperature(); // Odczytaj temperaturę w stopniach Fahrenheita (isFahrenheit = true) //float newT = dht.readTemperature(true);// jeśli odczyt temperatury nie powiódł się, nie zmieniaj wartości t if (isnan(newT)) { Serial.println("Niepowodzenie czytać z czujnika DHT!"); } else { t = nowyT; Serial.println(t); } // Odczyt wilgotności float newH = dht.readHumidity(); // jeśli odczyt wilgotności nie powiódł się, nie zmieniaj wartości h if (isnan(newH)) { Serial.println("Nie udało się odczytać z czujnika DHT!"); } inny { h = nowyH; Serial.println(h); } }}Zanim wgrasz kod upewnij się, że umieściłeś następujące rzeczy: const char* ssid = "ESP8266"; // dowolny identyfikator sieci Wi-Fi, który chceszconst char* password = "hasło"; //pass, aby połączyć się z powyższym ssidSet ESP8266 jako punkt dostępowy: Aby ustawić esp8266 jako punkt dostępowy, użyjemy polecenia softAP, jak pokazano poniżej; aby utworzyć punkt dostępu. WiFi.softAP(ssid, hasło);Istnieją również inne opcjonalne parametry, które można przekazać do metody softAP(). Oto wszystkie parametry: Jeśli otworzysz monitor szeregowy, zobaczysz adres IP punktu dostępowego. Odbywa się to przez następującą część kodu. IPAddress IP = WiFi.softAPIP();Serial.print("Adres IP AP: ");Serial.println(IP);Domyślny adres IP to: 192.168.4.1
Krok 5: Ostatni krok: Testowanie
Po przesłaniu kodu otwórz swój telefon komórkowy/komputer wifi i połącz się z wifi esp8266 (niezależnie od tego, jaki identyfikator SSid i hasło, które wprowadziłeś w kodzie, skorzystaj z tego). Po połączeniu otwórz adres IP w przeglądarce, który otrzymaliśmy z monitora szeregowego (https://192.168.4.1.) i będziesz mógł zobaczyć temperaturę i wilgotność w przeglądarce jako moje. I nie używaliśmy żadnej sieci Wi-Fi, aby to zrobić, więc tak działa punkt dostępu esp8266.
Zalecana:
Monitor jakości powietrza z MQ135 i zewnętrznym czujnikiem temperatury i wilgotności przez MQTT: 4 kroki
Monitor jakości powietrza z MQ135 i zewnętrznym czujnikiem temperatury i wilgotności przez MQTT: służy do celów testowych
ESP8266 Monitorowanie temperatury Nodemcu przy użyciu DHT11 na lokalnym serwerze WWW - Uzyskaj temperaturę i wilgotność w pomieszczeniu w przeglądarce: 6 kroków
ESP8266 Monitorowanie temperatury Nodemcu przy użyciu DHT11 na lokalnym serwerze WWW | Pobierz temperaturę i wilgotność w pomieszczeniu w swojej przeglądarce: Witajcie dzisiaj, zrobimy wilgotność i wilgotność system monitorowania temperatury za pomocą ESP 8266 NODEMCU & Czujnik temperatury DHT11. Temperatura i wilgotność zostaną uzyskane z czujnika DHT11 i amp; można zobaczyć w przeglądarce, którą stroną będzie zarządzać
Gaśnica z czujnikiem temperatury i wilgotności (Arduino UNO): 11 kroków
Gaśnica przeciwpożarowa z czujnikiem temperatury i wilgotności (Arduino UNO): Ten projekt został stworzony do użytku przez każdego w domach lub firmach jako czujnik temperatury i wilgotności wyświetlany na ekranie LCD oraz czujnik płomienia w połączeniu z brzęczykiem i pompą wodną do gaszenia pożar w sytuacji awaryjnej
Połączenie Arduino z czujnikiem ultradźwiękowym i bezdotykowym czujnikiem temperatury: 8 kroków
Interfejs Arduino z czujnikiem ultradźwiękowym i bezdotykowym czujnikiem temperatury: Obecnie twórcy i programiści preferują Arduino do szybkiego opracowywania prototypów projektów. Arduino to platforma elektroniczna typu open source oparta na łatwym w użyciu sprzęcie i oprogramowaniu. Arduino ma bardzo dobrą społeczność użytkowników. W tym projekcie
Arduino wysyła dane temperatury i wilgotności do serwera MySQL (PHPMYADMIN): 5 kroków
Arduino wysyła dane temperatury i wilgotności do serwera MySQL (PHPMYADMIN): W tym projekcie połączyłem DHT11 z arduino, a następnie wysyłam dane dht11, czyli wilgotność i temperaturę do bazy danych phpmyadmin. Tutaj używamy jednego skryptu PHP do przesyłania danych do bazy danych phpmyadmin