Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйл
- Алхам 2: Хэлхээ
- Алхам 3: Номын сан авах
- Алхам 4: Код
- Алхам 5: IP авах
- Алхам 6: Хөтөч дээрх температур, чийгшлийг шалгана уу
Видео: ESP8266 Nodemcu Орон нутгийн вэб сервер дээр DHT11 ашиглан температурын хяналт - Өрөөний температур ба чийгшлийг хөтөч дээрээ аваарай: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Сайн уу залуусаа өнөөдөр бид ESP 8266 NODEMCU & DHT11 температур мэдрэгч ашиглан чийгшил, температурын хяналтын системийг хийх болно. Температур ба чийгшлийг DHT11 Sensor -оос олж авах бөгөөд үүнийг вэб хөтөч дээр esp 8266 вэб хөтөч дотроо байршуулснаар харж болно.
Алхам 1: Танд хэрэгтэй зүйл
Энэ төслийн хувьд танд дараах зүйлс хэрэгтэй болно: 1x ESP 8266 Nodemcu:
1x DHT11: https://www.utsource.net/itm/p/8831706.html1x талхны самбар:.:
Цөөн үсрэлт:
Алхам 2: Хэлхээ
Схемийг харуулсан шиг хэлхээг бүгдийг нь холбоход маш хялбар байдаг
Алхам 3: Номын сан авах
Arduino IDE -ээ нээгээд Sketch> Номын санг оруулах> Номын санг удирдах хэсэгт очно уу. Номын сангийн менежер нээх ёстой. Хайлтын талбар дээр "DHT" гэж хайгаад Adafruit дээрээс DHT номын санг суулгаарай. Adafruit -аас DHT номын санг суулгасны дараа хайлтын талбарт "Adafruit Unified Sensor" гэж бичнэ үү. Номын санг хайж олохын тулд доошоо гүйлгэж, номын санг суулгасны дараа Arduino IDE -г дахин эхлүүлнэ үү.
Алхам 4: Код
Дээрх зүйлсийг хийсний дараа дараах кодыг ESP8266 nodemcu руу оруулна уу (зохих порт ба самбарыг сонгоно уу), кодыг байршуулахаас өмнө wifi -ийн ssid & нууц үгийг кодонд оруулна уу: // ESP8266 WiFi номын сангийн хамт #DHL -ийг оруулаарай. h "// Таны ашиглаж буй DHT төрлийн мэдрэгчийн хувьд доорх мөрүүдийн аль нэгэнд тайлбар бичээрэй!#DHTTYPE DHT11 // DHT 11 //#тодорхойлох DHTTYPE DHT21 // DHT 21 (AM2301) //#тодорхойлох DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 // Сүлжээнийхээ дэлгэрэнгүй мэдээллийг өөрчилнө үү char* ssid = "YOUR_NETWORK_NAME"; const char* password = "YOUR_NETWORK_PASSWORD"; // 80WiFiServer сервер (80) порт дээрх вэб сервер; // DHT Sensorconst int DHTPin = 5; // DHT мэдрэгчийг эхлүүлэх. DHT dht (DHTPin, DHTTYPE); // Түр зуурын хувьсагчууд static char celsiusTemp [7]; static char fahrenheitTemp [7]; static char чийгшилTemp [7]; // bootvoid тохиргоонд зөвхөн нэг удаа ажилладаг () { // Цуваа портыг дибаг хийх зорилгоор эхлүүлж байна Serial.begin (115200); саатал (10); dht.begin (); // WiFi сүлжээнд холбогдож байна Serial.println (); Serial.print ("Холбогдож байна"); Serial.println (ssid); WiFi.begin (ssid, нууц үг); while (WiFi.status ()! = WL_CONNECTED) {саатал (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi холбогдсон"); // Вэб серверийг эхлүүлж байна server.begin (); Serial.println ("Вэб сервер ажиллаж байна. ESP IP -ийг хүлээж байна …"); саатал (10000); // ESP IP хаягийг хэвлэх Serial.println (WiFi.localIP ());} // дахин дахин ажилладагvoid loop () {// Шинэ үйлчлүүлэгчдийг сонсох WiFiClient client = server.available (); if (үйлчлүүлэгч) {Serial.println ("Шинэ үйлчлүүлэгч"); // http хүсэлт дуусах үед олохын тулд bolean boolean blank_line = true; while (client.connected ()) {if (client.available ()) {char c = client.read (); if (c == '\ n' && blank_line) {// Мэдрэгчийн уншилт нь 2 секунд хүртэл настай байж болно (энэ нь маш удаан мэдрэгчтэй) float h = dht.readHumidity (); // Температурыг Цельсийн (анхдагч) float t = dht.readTemperature () гэж уншина уу; // Температурыг Fahrenheit (isFahrenheit = true) float f = dht.readTemperature (true) гэж уншина уу; // Уншиж чадаагүй эсэхийг шалгаад эрт гараарай (дахин оролдоно уу). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT мэдрэгчээс уншиж чадсангүй!"); strcpy (celsiusTemp, "Амжилтгүй"); strcpy (fahrenheitTemp, "Амжилтгүй"); strcpy (nemTemp, "Амжилтгүй"); } else {// Цельсийн + Фаренгейт ба Чийгшил дэх температурын утгыг тооцоолно hic = dht.computeHeatIndex (t, h, false); dtostrf (hic, 6, 2, celsiusTemp); float hif = dht.computeHeatIndex (f, h); dtostrf (hif, 6, 2, fahrenheitTemp); dtostrf (h, 6, 2, moistTemp); // Та дараах Serial.print -ийг устгаж болно, энэ нь дибаг хийх зорилгоор л хийгддэг Serial.print ("Чийгшил:"); Цуваа.хэвлэх (h); Serial.print (" %\ t Температур:"); Цуваа.хэвлэх (t); Serial.print (" *C"); Цуваа.хэвлэх (f); Serial.print (" *F / t Дулааны индекс:"); Цуваа.хэвлэх (hic); Serial.print (" *C"); Цуваа.хэвлэх (hif); Serial.print (" *F"); Serial.print ("Чийгшил:"); Цуваа.хэвлэх (h); Serial.print (" %\ t Температур:"); Цуваа.хэвлэх (t); Serial.print (" *C"); Цуваа.хэвлэх (f); Serial.print (" *F / t Дулааны индекс:"); Цуваа.хэвлэх (hic); Serial.print (" *C"); Цуваа.хэвлэх (hif); Serial.println (" *F"); } client.println ("HTTP/1.1 200 OK"); client.println ("Агуулгын төрөл: текст/html"); client.println ("Холболт: хаах"); client.println (); // температур, чийгшлийн үйлчлүүлэгчийг харуулдаг таны жинхэнэ вэб хуудас
Алхам 5: IP авах
Та вэб хуудасны IP хаягийг авахад шаардлагатай температур, чийгшлийг харж болно. Үүний тулд таны esp8266 компьютерт холбогдсон эсэхийг шалгаад дараа нь цуваа дэлгэцийг нээгээд сериал дэлгэц дээр ESP8266 вэб серверийн вэб хаягийг харж болно.
Алхам 6: Хөтөч дээрх температур, чийгшлийг шалгана уу
Тиймээс ESP8266 nodemcu -ийн IP хаягийг авсны дараа компьютер эсвэл гар утсан дээрээ хөтөчийг нээгээд компьютер/гар утас нь Nodemcu/ESP8266 -тай ижил сүлжээнд холбогдсон эсэхийг шалгаад хөтөч дээрээ очоорой (хэрэв та гар утас ашиглаж байгаа бол анхдагч хөтчийг ашиглана уу. өөрөөр хэлбэл Андройдын хувьд хром ашиглана уу), дараа нь өмнөх алхам дээр авсан IP хаягаа оруулна уу, орон нутгийн вэб хуудас нь миний зураг дээрх шиг чийгшил, температурыг харуулна.
Зөвлөмж болгож буй:
NodeMCU & Blynk дээр AM2301 ашиглан температур, чийгшлийг хянах: 3 алхам
NodeMCU & Blynk дээр AM2301 -ийн тусламжтайгаар температур ба чийгшлийг хянах: Ихэнх салбарын босоо чиглэлд температур, чийгшил, даралт, агаарын чанар, усны чанар гэх мэтийг байнга хянаж байх шаардлагатай чухал хүчин зүйлүүд байдаг. Үнэ цэнэтэй үед сэрэмжлүүлгийн систем бэлэн байх ёстой
Орон нутгийн Blynk сервер үүсгэх: 5 алхам
Орон нутгийн Blynk сервер үүсгэх: Энэ нийтлэлд бид орон нутгийн Blynk серверийг хэрхэн бүтээх талаар сурч мэдэх бөгөөд энэ нь анхдагч алсын серверийг ашиглахад ихэвчлэн тохиолддог хоцролтыг ихээхэн хэмжээгээр бууруулдаг. Бид үүнийг Pi Zero W ашиглан тохируулсан бөгөөд үүнийг баталгаажуулахын тулд демо төсөл бий болгодог
ESP8266 NodeMCU хандалтын цэг (AP) нь DT11 температур мэдрэгчтэй, хөтөч дэх температур ба чийгшил бүхий вэб серверийн хувьд: 5 алхам
Хөтөч дээр DT11 температур мэдрэгч, хэвлэх температур ба чийгшил бүхий вэб серверт зориулсан ESP8266 NodeMCU хандалтын цэг (AP): Сайн байна уу залуус бид ESP8266 -ийг ашигладаг ихэнх төслүүд болон ихэнх төслүүдэд ESP8266 -ийг вэб сервер болгон ашигладаг тул өгөгдөлд хандах боломжтой. ESP8266 -аас зохион байгуулагдсан вэбсервер рүү нэвтрэх замаар wifi сүлжээнд холбогдсон ямар ч төхөөрөмж, гэхдээ цорын ганц асуудал бол бидэнд ажиллах чиглүүлэгч хэрэгтэй болно
ESP8266 ашиглан WiFi холболт үүсгэж, орон нутгийн IP хаягийг аваарай: 3 алхам
ESP8266 ашиглан WiFi холболт хийх, орон нутгийн IP хаягийг авах: Энэ заавар дээр бид ESP8266 WiFi самбар ашиглан WiFi холболт хэрхэн хийх талаар олж мэдэх болно
Орон нутгийн температур/чийгшлийн станц: 4 алхам
Орон нутгийн температур/чийгшлийн станц: Энэхүү зааварчилгаанд би орон нутгийн температур, чийгшлийг хэмжих жижиг станц хийж, дэлгэц дээр харуулахыг заах болно. Тиймээс би яагаад үүнийг хийсэн юм бэ? Аав надаас асуусан. Температурыг хэмжих ямар нэгэн мэдрэгч хий