İçindekiler:
- Adım 1: İhtiyacınız Olan Şeyler
- 2. Adım: DHT11 Kitaplıklarını Alın
- 3. Adım: Bağlantılar
- 4. Adım: Erişim Noktası Kodu
- Adım 5: Son Adım: Test Etme
Video: DT11 Sıcaklık Sensörlü Web Sunucusu için ESP8266 NodeMCU Erişim Noktası (AP) ve Tarayıcıda Yazdırma Sıcaklığı ve Nemi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Merhaba arkadaşlar, projelerin çoğunda ESP8266 kullanıyoruz ve projelerin çoğunda web sunucusu olarak ESP8266 kullanıyoruz, böylece ESP8266 tarafından barındırılan Web sunucusuna erişerek wifi üzerinden herhangi bir cihazdan verilere erişilebilir ancak tek sorun bunun için çalışan bir yönlendiriciye ihtiyacımız olmasıdır. bu ve cihazımızın da yönlendiriciye bağlanması gerekiyor ve wifi kimlik bilgilerimizi koda koymamız gerekiyor, bu nedenle eğer wifi değiştiriyorsanız, koddaki kimlik bilgilerini değiştirmeniz ve yeniden yüklemeniz gerekir. Yani temelde burada iki sorunumuz var.:1- web sunucusunu (yönlendiriciyi) barındırmak için bir wifi bağlantısına ihtiyacımız var 2- her seferinde wifi bağlantısının değişmesi gerekiyorsa kimlik bilgilerini girip kodu yeniden yüklememiz gerekiyor. wifi erişimi ESP8266'yı kendi başına bir wifi bağlantısı oluşturmak için yapabiliriz, böylece bu wifi bağlantısına bağlanırsak ESP8266'nın web sunucusuna erişebiliriz. Yani temel olarak erişim noktası olan ESP8266 ile bir web sunucusuna ev sahipliği yapacağız. Yani bu talimatta biz yaratacak ESP8266 ile Erişim Noktası kullanan bir web sunucusu ve bir DHT11 sensörü bağlayacağız ve web sunucusu sayfasına sıcaklık ve nemi yazdıracağız.
Adım 1: İhtiyacınız Olan Şeyler
1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Birkaç jumper:
2. Adım: DHT11 Kitaplıklarını Alın
Arduino IDE'nizi açın ve Sketch > Include Library > Manage Libraries'e gidin. Kütüphane Yöneticisi açılmalıdır. Arama kutusunda “DHT” araması yapın ve Adafruit'ten DHT kütüphanesini kurun. Adafruit'ten DHT kütüphanesini kurduktan sonra, arama kutusuna “Adafruit Unified Sensor” yazın. Kütüphaneyi bulmak ve kurmak için sonuna kadar kaydırın. Kütüphaneleri kurduktan sonra Arduino IDE'nizi yeniden başlatın.
3. Adım: Bağlantılar
Devre çok kolay şemada gösterildiği gibi her şeyi bağlayın
4. Adım: Erişim Noktası Kodu
Önceki talimatlarımdan bu talimatların web sunucusu kodunu değiştireceğim:
Ve bunu erişim noktası web sunucusu koduna çevirin. Lütfen aşağıda verilen kodu kopyalayın:
#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 // DHT sensörüne bağlı dijital pin// Kullanılan sensör tipinin açıklamasını kaldırın://#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);// mevcut sıcaklık ve nem, döngüde güncellendi()float t = 0.0; float h = 0.0;// 80AsyncWebServer server(80) portunda AsyncWebServer nesnesi oluştur;// Genellikle, zamanı tutan değişkenler için "unsigned long" kullanmalısınız// Değer, bir int'nin unsigned uzun öncekini depolaması için hızla çok büyük olur. = 0; // DHT'nin en son güncellendiği zamanı kaydeder// DHT okumalarını her 10 saniyede bir güncellerconst uzun aralık = 10000; const char index_html PROGMEM = R"rawliteral(ESP8266 DHT Sunucusu)
Sıcaklık %SICAKLIK% °C
Nem %NEMİ % %)rawliteral";// Yer tutucuyu DHT değerleriyle değiştirirString işlemci(const String& var){ //Serial.println(var); if(var == "TEMPERATURE"){ return String(t); } else if(var == "NEM"){ return String(h); } return String();}void setup(){ // Hata ayıklama amacıyla seri port Serial.begin(115200); dht.begin(); Serial.print("AP Ayarı (Erişim Noktası)…"); // AP'nin (Erişim Noktası) açık olmasını istiyorsanız şifre parametresini kaldırın WiFi.softAP(ssid, password); IPAdresi IP = WiFi.softAPIP(); Serial.print(" AP IP adresi: "); Serial.println(IP); // ESP8266 Yerel IP Adresini Yazdır Serial.println(WiFi.localIP()); // Kök / web sayfası sunucusu için rota.on("/", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, işlemci); }); 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, "metin/düz", String(h).c_str()); }); // server server.begin();}void loop(){ unsigned long currentMillis = millis(); if (currentMillis - öncekiMillis >= interval) { // DHT değerlerini en son ne zaman güncellediğinizi kaydedin öncekiMillis = currentMillis; // Sıcaklığı Celsius olarak oku (varsayılan) float newT = dht.readTemperature(); // Sıcaklığı Fahrenhayt olarak oku (isFahrenheit = true) //float newT = dht.readTemperature(true);// sıcaklık okuma başarısız olursa, t değerini değiştirme if (isnan(newT)) { Serial.println("Failed DHT sensöründen okumak için!"); } başka { t = yeniT; Seri.println(t); } // Nem değerini oku float newH = dht.readHumidity(); // nem okuması başarısız olursa, h değerini değiştirmeyin if (isnan(newH)) { Serial.println("DHT sensöründen okunamadı!"); } başka { h = yeniH; Seri.println(h); } }}Kodu yüklemeden önce aşağıdakileri koyduğunuzdan emin olun: const char* ssid = "ESP8266"; // wifi ssid'si ne olursa olsunconst char* password = "password"; //yukarıdaki ssidSet'e bağlanmak için geçiş ESP8266'yı Erişim Noktası Olarak Ayarlayın: esp8266'yı erişim noktası olarak ayarlamak için aşağıda gösterildiği gibi softAP komutunu kullanacağız; bir erişim noktası oluşturmak için. WiFi.softAP(ssid, password);softAP() yöntemine iletebileceğiniz başka isteğe bağlı parametreler de vardır. İşte tüm parametreler: Seri monitörü açarsanız, erişim noktasının IP'sini görebilirsiniz.. IPAddress IP = WiFi.softAPIP();Serial.print("AP IP address: ");Serial.println(IP);Varsayılan olarak IP adresi: 192.168.4.1 kodunun bir kısmı takip edilerek yapılır.
Adım 5: Son Adım: Test Etme
Kodu yükledikten sonra mobil/pc wifi'nizi açın ve esp8266 wifi'ye bağlanın (koda girdiğiniz ssid ve şifre onu kullanır). Bağlandıktan sonra seri monitörden aldığımız IP'yi tarayıcınızda açın (https://192.168.4.1.) ve tarayıcınızda benimki gibi sıcaklık ve nemi görebileceksiniz. Bunu yapmak için herhangi bir wifi ağı kullanmadık, bu yüzden esp8266 erişim noktası bu şekilde çalışıyor.
Önerilen:
NodeMCU ve Blynk'te AM2301 ile Sıcaklığı ve Nemi İzleme: 3 Adım
NodeMCU & Blynk'te AM2301 ile Sıcaklık ve Nemi İzleme: Endüstrinin çoğunda dikey, sıcaklık, nem, basınç, hava kalitesi, su kalitesi vb. değer olduğunda uyarı sistemlerinin yerinde olması gerekir
Ultrasonik Sensörlü ve Temassız Sıcaklık Sensörlü Arduino Arabirimi: 8 Adım
Ultrasonik Sensör ve Temassız Sıcaklık Sensörü ile Arduino Arabirimi: Günümüzde, Yapımcılar, Geliştiriciler, projelerin prototiplerinin hızlı bir şekilde geliştirilmesi için Arduino'yu tercih ediyor. Arduino, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik platformdur. Arduino'nun çok iyi bir kullanıcı topluluğu var. Bu projede
Bir WiFi Erişim Noktası Oluşturun ve NodeMCU V3'te Bir Web Sunucusu Sağlayın: 4 Adım
Bir WiFi Erişim Noktası Oluşturun ve NodeMCU V3'te bir Web Sunucusu Sağlayın: Bir önceki makalede NodeMCU ESP8266'nın nasıl kullanılacağından bahsetmiştim. Bu yazımda NodeMCU ESP8266'yı Arduini IDE'ye nasıl ekleyeceğimi anlatıyorum. NodeMCU ESP8266 kullanarak internet üzerinden iletişim kurmanın birkaç yolu var. NodeMCU'yu bir
Erişim Noktası - İki ESP8266 MCU Arasında İstasyon İletişimi: 3 Adım
Erişim Noktası - İki ESP8266 MCU Arasında İstasyon İletişimi: Merhaba Yapıcılar!Önceki talimatımda bir ev WiFi yönlendiricisi aracılığıyla iki ESP8266 MCU arasında bir WiFi iletişimi yaptım. Yorumlardan gördüğüm gibi, bir router menzilinden uzakta ESP8266 MCU'ları kullanmak isteyen Maker'lar var. Yani burada bir bar
Linksys Kablosuz Erişim Noktası Yapılandırmalarını Yedeklemek için Komut Dosyası: 5 Adım
Linksys Kablosuz Erişim Noktası Yapılandırmalarını Yedeklemek için Komut Dosyası: Bu talimat, linksys kablosuz erişim noktası yapılandırmalarının yedeklenmesini otomatikleştirmek için kullanılabilecek bir komut dosyası gösterecektir. Aslında bu, hemen hemen tüm linksys cihazlarını yedeklemek için kolayca düzenlenebilir