สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: รับไลบรารี DHT11
- ขั้นตอนที่ 3: การเชื่อมต่อ
- ขั้นตอนที่ 4: รหัสจุดเข้าใช้งาน
- ขั้นตอนที่ 5: ขั้นตอนสุดท้าย: การทดสอบ
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สวัสดี ในโครงการส่วนใหญ่เราใช้ ESP8266 และในโครงการส่วนใหญ่เราใช้ ESP8266 เป็นเว็บเซิร์ฟเวอร์เพื่อให้สามารถเข้าถึงข้อมูลบนอุปกรณ์ใดก็ได้ผ่าน wifi โดยการเข้าถึงเว็บเซิร์ฟเวอร์ที่โฮสต์โดย ESP8266 แต่ปัญหาเดียวคือเราต้องการเราเตอร์ที่ใช้งานได้ นั่นและอุปกรณ์ของเรายังต้องเชื่อมต่อกับเราเตอร์และเราจำเป็นต้องใส่ข้อมูลรับรอง wifi ของเราในรหัส ดังนั้นหากคุณเปลี่ยน wifi คุณจะต้องเปลี่ยนข้อมูลรับรองในรหัสและคุณต้องอัปโหลดใหม่ ดังนั้นโดยพื้นฐานแล้วเรามีปัญหาสองประการที่นี่:1- เราต้องการการเชื่อมต่อ wifi เพื่อโฮสต์เว็บเซิร์ฟเวอร์ (เราเตอร์)2- ทุกครั้งที่ต้องเปลี่ยนการเชื่อมต่อ wifi เราจำเป็นต้องป้อนข้อมูลรับรองและอัปโหลดรหัสอีกครั้ง ดังนั้นเพื่อหลีกเลี่ยงปัญหาทั้งหมดนี้ สิ่งที่เราทำได้คือแทนที่จะให้ การเข้าถึง wifi เราสามารถสร้าง ESP8266 เพื่อสร้างการเชื่อมต่อ wifi ของตัวเองได้ ดังนั้นหากเราเชื่อมต่อกับการเชื่อมต่อ wifi นั้น เราสามารถเข้าถึงเว็บเซิร์ฟเวอร์ของ ESP8266 ได้ ดังนั้นโดยพื้นฐานแล้ว เราจะโฮสต์เว็บเซิร์ฟเวอร์ด้วย ESP8266 พร้อมจุดเชื่อมต่อ ดังนั้นในคำแนะนำนี้ เรา จะสร้าง เว็บเซิร์ฟเวอร์ที่ใช้ Access Point กับ ESP8266 และเราจะเชื่อมต่อเซ็นเซอร์ DHT11 และอุณหภูมิและความชื้นในการพิมพ์บนเว็บเซิร์ฟเวอร์
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
1x ESP 8266 Nodemcu: 1x DHT11: 1x เขียงหั่นขนม:.: จัมเปอร์ไม่กี่ตัว:
ขั้นตอนที่ 2: รับไลบรารี DHT11
เปิด Arduino IDE ของคุณแล้วไปที่ Sketch > รวมไลบรารี > จัดการไลบรารี ตัวจัดการไลบรารีควรเปิดขึ้น ค้นหา "DHT" ในช่องค้นหาและติดตั้งไลบรารี DHT จาก Adafruit หลังจากติดตั้งไลบรารี DHT จาก Adafruit แล้ว ให้พิมพ์ "Adafruit Unified Sensor" ในช่องค้นหา เลื่อนลงมาจนสุดเพื่อค้นหาไลบรารีและติดตั้ง หลังจากติดตั้งไลบรารี่แล้ว ให้รีสตาร์ท Arduino IDE ของคุณ
ขั้นตอนที่ 3: การเชื่อมต่อ
วงจรเชื่อมต่อทุกอย่างได้ง่ายมาก ตามที่แสดงในแผนผัง
ขั้นตอนที่ 4: รหัสจุดเข้าใช้งาน
จากคำสั่งก่อนหน้าของฉัน ฉันจะแก้ไขรหัสเว็บเซิร์ฟเวอร์ของคำสั่งนี้:
และเปลี่ยนเป็นรหัสเว็บเซิร์ฟเวอร์จุดเชื่อมต่อ โปรดคัดลอกรหัสที่ให้ไว้ด้านล่าง:
#รวม "Arduino.h" # รวม "ESP8266WiFi.h"
#รวม "Hash.h"
#include "ESPAsyncTCP.h"
#include "ESPAsyncWebServer.h"
#รวม "Adafruit_Sensor.h"
#รวม "DHT.h"
const char* ssid = "ESP8266";const char* password = "password";#define DHTPIN 5 // พินดิจิตอลที่เชื่อมต่อกับเซ็นเซอร์ DHT// ยกเลิกหมายเหตุประเภทของเซ็นเซอร์ที่ใช้งาน: //#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE); // อุณหภูมิและความชื้นปัจจุบัน อัปเดตในลูป ()float t = 0.0; float h = 0.0;// สร้างอ็อบเจ็กต์ AsyncWebServer บนพอร์ต 80AsyncWebServer server(80);// โดยทั่วไป คุณควรใช้ "unsigned long" สำหรับตัวแปรที่คงเวลาไว้ // ค่าจะใหญ่เกินไปอย่างรวดเร็วสำหรับ int ที่จะเก็บค่าก่อนหน้าที่ยังไม่ได้ลงนามนาน = 0; // จะจัดเก็บ DHT ครั้งล่าสุดที่อัปเดต // อัปเดตการอ่าน DHT ทุกๆ 10 วินาทีconst ช่วงเวลายาว = 10000; const char index_html PROGMEM = R"rawliteral (เซิร์ฟเวอร์ ESP8266 DHT
อุณหภูมิ %TEMPERATURE% °C
ความชื้น % HUMIDITY% %)rawliteral";// แทนที่ตัวยึดตำแหน่งด้วย DHT valuesString processor (const String& var){ //Serial.println(var); if(var == "TEMPERATURE"){ return String(t); } else if(var == "HUMIDITY"){ return String(h); } return String();}void setup(){ // พอร์ตอนุกรมสำหรับการดีบัก Serial.begin(115200); dht.begin(); Serial.print("การตั้งค่า AP (Access Point)…"); // ลบพารามิเตอร์รหัสผ่าน หากคุณต้องการให้ AP (Access Point) เปิด WiFi.softAP(ssid, password); IPAddress IP = WiFi.softAPIP(); Serial.print(" ที่อยู่ IP ของ AP: "); Serial.println (IP); // พิมพ์ที่อยู่ IP ท้องถิ่น ESP8266 Serial.println (WiFi.localIP ()); // เส้นทางสำหรับรูท / เว็บเพจ 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, "ข้อความ/ธรรมดา", สตริง(h).c_str()); }); // เริ่มเซิร์ฟเวอร์ server.begin();}void loop(){ unsigned long currentMillis = millis(); if (currentMillis - PreviousMillis >= ช่วงเวลา) { // บันทึกครั้งสุดท้ายที่คุณอัปเดตค่า DHT PreviousMillis = currentMillis; // อ่านอุณหภูมิเป็นเซลเซียส (ค่าเริ่มต้น) float newT = dht.readTemperature(); // อ่านอุณหภูมิเป็นฟาเรนไฮต์ (isFahrenheit = true) //float newT = dht.readTemperature(true);// หากการอ่านอุณหภูมิล้มเหลว อย่าเปลี่ยนค่า t ถ้า (isnan (newT)) { Serial.println ("Failed อ่านจากเซ็นเซอร์ DHT!"); } อื่น ๆ { t = newT; Serial.println(t); } // อ่านค่าความชื้นลอย newH = dht.readHumidity(); // หากการอ่านค่าความชื้นล้มเหลว อย่าเปลี่ยนค่า h ถ้า (isnan (newH)) { Serial.println ("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!"); } อื่น ๆ { h = newH; Serial.println(ซ); } }}ก่อนที่คุณจะอัปโหลดโค้ด ให้แน่ใจว่าคุณใส่สิ่งต่อไปนี้: const char* ssid = "ESP8266"; // ssid อะไรก็ตามของ wifi ที่คุณต้องการconst char* password = "password"; //ผ่านเพื่อเชื่อมต่อกับ ssidSet ด้านบนให้ ESP8266 เป็น Access Point: หากต้องการตั้งค่า esp8266 เป็นจุดเชื่อมต่อ เราจะใช้คำสั่ง softAP ดังแสดงด้านล่าง เพื่อสร้าง access point. WiFi.softAP(ssid, password);นอกจากนี้ยังมีพารามิเตอร์ทางเลือกอื่นๆ ที่คุณสามารถส่งผ่านไปยังเมธอด softAP() ได้ นี่คือพารามิเตอร์ทั้งหมด: หากคุณเปิดจอภาพแบบอนุกรม คุณจะเห็น IP ของจุดเข้าใช้งาน ซึ่งทำได้โดยทำตามส่วนหนึ่งของรหัส. IPAddress IP = WiFi.softAPIP();Serial.print("AP IP address: ");Serial.println(IP);โดยค่าเริ่มต้นที่อยู่ IP คือ: 192.168.4.1
ขั้นตอนที่ 5: ขั้นตอนสุดท้าย: การทดสอบ
หลังจากอัปโหลดรหัสแล้ว ให้เปิด wifi มือถือ/พีซีของคุณและเชื่อมต่อกับ esp8266 wifi (ไม่ว่าจะใช้ ssid & รหัสผ่านใดในรหัสก็ตาม) หลังจากเชื่อมต่อแล้ว ให้เปิด IP ในเบราว์เซอร์ของคุณซึ่งเราได้รับจากมอนิเตอร์แบบอนุกรม (https://192.168.4.1.) และคุณจะสามารถดูอุณหภูมิและความชื้นในเบราว์เซอร์ของคุณเหมือนของฉัน และเราไม่ได้ใช้เครือข่าย wifi ใด ๆ เพื่อทำสิ่งนี้ให้สำเร็จ นั่นคือวิธีการทำงานของจุดเชื่อมต่อของ esp8266
แนะนำ:
สร้างซอฟต์แวร์ฐานข้อมูล Ms Access เพื่อเตรียมเงินเดือนในบริษัทของคุณ: 6 ขั้นตอน
สร้างซอฟต์แวร์ฐานข้อมูล Ms Access เพื่อเตรียมเงินเดือนในบริษัทของคุณ: ฉันจะให้คำแนะนำสั้น ๆ ในการสร้างระบบเงินเดือนโดยใช้การเข้าถึงของ MS เพื่อสร้างเงินเดือนรายเดือนและพิมพ์สลิปเงินเดือนได้อย่างง่ายดายด้วยสิ่งนี้ วิธีนี้ทำให้คุณสามารถเก็บบันทึกรายละเอียดเงินเดือนในแต่ละเดือนไว้ในฐานข้อมูล และสามารถแก้ไขหรือตรวจทานล่าช้า
Crossfader Circuit Point-to-Point: 16 ขั้นตอน (พร้อมรูปภาพ)
Crossfader Circuit Point-to-Point: นี่คือวงจร crossfader ยอมรับสองอินพุตและจางหายไประหว่างกัน โดยเอาต์พุตเป็นการผสมผสานระหว่างอินพุตทั้งสอง (หรือเพียงหนึ่งอินพุต) มันเป็นวงจรที่เรียบง่าย มีประโยชน์มาก และสร้างง่าย! มันกลับสัญญาณที่ผ่านมัน
รดน้ำต้นไม้ในร่มด้วย NodeMCU, Local Blynk Server และ Blynk Apk, Set Point ที่ปรับได้: 3 ขั้นตอน
รดน้ำต้นไม้ในร่มด้วย NodeMCU, Local Blynk Server และ Blynk Apk, Set Point ที่ปรับได้: ฉันสร้างโปรเจ็กต์นี้เพราะต้นไม้ในร่มของฉันต้องแข็งแรงแม้ในขณะที่ฉันพักร้อนเป็นระยะเวลานาน และฉันชอบแนวคิดที่มี ควบคุมหรืออย่างน้อยก็เฝ้าติดตามเหตุการณ์ที่เป็นไปได้ทั้งหมดที่เกิดขึ้นในบ้านของฉันผ่านทางอินเทอร์เน็ต
Raspberry Pi Zero Wifi Access Point พร้อมเสาอากาศ PCB แบบกำหนดเอง: 6 ขั้นตอน (พร้อมรูปภาพ)
Raspberry Pi Zero Wifi Access Point พร้อมเสาอากาศ PCB แบบกำหนดเอง: เรากำลังทำอะไร หัวข้อของบทช่วยสอนนี้มีคำศัพท์ทางเทคนิคมากมาย มาทำลายมันกันเถอะ Raspberry Pi Zero (Rπ0) คืออะไร? Raspberry Pi Zero เป็นคอมพิวเตอร์ขนาดเล็ก เป็นคอมพิวเตอร์บอร์ดเดี่ยว Raspberry Pi รุ่นเล็ก
แปลงเราเตอร์ไร้สายเป็น Wireless Extender 2x Access Point: 5 ขั้นตอน
แปลงเราเตอร์ไร้สายเป็น Wireless Extender 2x Access Point: ฉันมีการเชื่อมต่ออินเทอร์เน็ตไร้สายที่ไม่ดีในบ้านของฉันเนื่องจาก RSJ (ลำแสงโลหะรองรับบนเพดาน) และต้องการเพิ่มสัญญาณหรือเพิ่มตัวขยายเพิ่มเติมสำหรับส่วนอื่นๆ ของบ้าน ฉันเคยเห็นส่วนขยายประมาณ & ปอนด์ 50 ในอุปกรณ์ไฟฟ้า