สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
“Internet of Things” (IoT) กลายเป็นหัวข้อสนทนาที่เพิ่มขึ้นทุกวัน เป็นแนวคิดที่ไม่เพียงแต่มีศักยภาพที่จะส่งผลกระทบต่อวิถีชีวิตของเรา แต่ยังรวมถึงวิธีการทำงานของเราด้วย ตั้งแต่เครื่องจักรอุตสาหกรรมไปจนถึงอุปกรณ์สวมใส่ได้ โดยใช้เซ็นเซอร์ในตัวเพื่อรวบรวมข้อมูลและดำเนินการกับข้อมูลนั้นในเครือข่าย
ดังนั้นเราจึงตัดสินใจสร้างโครงการที่เรียบง่ายแต่น่าสนใจด้วยแนวคิด - IoT
วันนี้เราจะสร้างเว็บเซิร์ฟเวอร์พื้นฐานเพื่อตรวจสอบสภาพอากาศรอบตัวเรา เราสามารถดูค่าความชื้นและอุณหภูมิบนอุปกรณ์พกพาและโน้ตบุ๊กของเราได้ อย่างที่ฉันพูด มันเป็นหน้าเว็บที่เรียบง่ายและเป็นพื้นฐานเพื่อให้คุณได้ทราบถึงความคิดเกี่ยวกับมัน คุณสามารถอัพเกรดและแก้ไขโครงการตามความต้องการของคุณ เช่นเดียวกับที่คุณสามารถรวบรวมข้อมูลและใช้งานในอนาคต คุณสามารถสร้างระบบอัตโนมัติภายในบ้านโดยการควบคุมเครื่องใช้ในบ้านของคุณหรืออะไรก็ได้ที่คุณจินตนาการได้ จำไว้เสมอ - พลังแห่งจินตนาการทำให้เราไม่มีที่สิ้นสุด (โดย John Muir)
เริ่มกันเลย !!
ขั้นตอนที่ 1: รวบรวมเครื่องมือของคุณ !
1 SHT25 เซ็นเซอร์ความชื้นและอุณหภูมิ
เซ็นเซอร์ความชื้นและอุณหภูมิที่มีความแม่นยำสูง SHT25 ของ Sensirion ได้กลายเป็นมาตรฐานอุตสาหกรรมในแง่ของฟอร์มแฟคเตอร์และความชาญฉลาด: ฝังอยู่ในแพ็คเกจ Dual Flat No Lead (DFN) แบบบัดกรีที่บัดกรีได้ขนาด 3 x 3 มม. และความสูง 1.1 มม. ซึ่งให้การสอบเทียบ สัญญาณเซ็นเซอร์เชิงเส้นในรูปแบบดิจิตอล I2C
1 Adafruit Huzzah ESP8266
โปรเซสเซอร์ ESP8266 จาก Espressif เป็นไมโครคอนโทรลเลอร์ 80 MHz พร้อม WiFi front-end แบบเต็ม (ทั้งในฐานะไคลเอนต์และจุดเชื่อมต่อ) และสแต็ก TCP/IP พร้อมการสนับสนุน DNS เช่นกัน ESP8266 เป็นแพลตฟอร์มที่น่าทึ่งสำหรับการพัฒนาแอปพลิเคชัน IoT ESP8266 เป็นแพลตฟอร์มที่สมบูรณ์สำหรับการตรวจสอบและควบคุมแอปพลิเคชันโดยใช้ Arduino Wire Language และ Arduino IDE
1 ESP8266 โปรแกรมเมอร์ USB
อะแดปเตอร์โฮสต์ ESP8266 นี้ได้รับการออกแบบมาโดยเฉพาะสำหรับรุ่น Adafruit Huzzah ของ ESP8266 ซึ่งช่วยให้อินเทอร์เฟซ I²C
1 สายเคเบิลเชื่อมต่อ I2C
ขั้นตอนที่ 2: เชื่อมต่อฮาร์ดแวร์.
ใช้ ESP8266 และค่อยๆ ดันไปเหนือ USB Programmer จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งเข้ากับเซ็นเซอร์ SHT25 และปลายอีกด้านหนึ่งเข้ากับโปรแกรมเมอร์ USB และคุณทำเสร็จแล้ว ใช่คุณอ่านถูกต้อง ไม่ปวดหัว ฟังสบายๆ ถูกต้อง !!
ด้วยความช่วยเหลือของ ESP8266 USB Programmer มันง่ายมากที่จะตั้งโปรแกรม ESP สิ่งที่คุณต้องทำคือเสียบเซ็นเซอร์เข้ากับโปรแกรมเมอร์ USB และพร้อมใช้งาน เราชอบที่จะใช้ผลิตภัณฑ์นี้เพราะช่วยให้เชื่อมต่อฮาร์ดแวร์ได้ง่ายขึ้นมาก หากไม่มีโปรแกรมเมอร์ USB แบบพลักแอนด์เพลย์เหล่านี้ มีความเสี่ยงสูงที่จะเชื่อมต่อผิด การเดินสายที่ไม่ดีอาจทำให้ wifi และเซ็นเซอร์ของคุณเสียหายได้
ไม่ต้องกังวลกับการบัดกรีหมุดของ ESP กับเซ็นเซอร์หรืออ่านแผนภาพพินและแผ่นข้อมูล เราสามารถใช้และทำงานกับเซ็นเซอร์หลายตัวพร้อมกันได้ คุณเพียงแค่ต้องสร้างห่วงโซ่
ที่นี่คุณตรวจสอบผลิตภัณฑ์ทั้งหมดโดยพวกเขา
หมายเหตุ: ขณะทำการเชื่อมต่อ โปรดตรวจสอบให้แน่ใจว่าสายสีน้ำตาลของสายเคเบิลเชื่อมต่อเชื่อมต่อกับขั้วต่อกราวด์ของเซนเซอร์และเหมือนกันสำหรับโปรแกรมเมอร์ USB
ขั้นตอนที่ 3: รหัส
สามารถดาวน์โหลดรหัส ESP8266 สำหรับ SHT25 ได้จากที่เก็บ GitHub ของเรา
ก่อนดำเนินการโค้ด โปรดอ่านคำแนะนำที่ให้ไว้ในไฟล์ Readme และตั้งค่า ESP8266 ตามนั้น การตั้งค่า ESP ใช้เวลาเพียง 5 นาที
ตอนนี้ดาวน์โหลด (หรือ git pull) โค้ดและเปิดใน Arduino IDE
รวบรวมและอัปโหลดรหัสและดูผลลัพธ์บน Serial Monitor
หมายเหตุ: ก่อนอัปโหลด ตรวจสอบให้แน่ใจว่าคุณป้อนเครือข่าย SSID และรหัสผ่านในรหัส
คัดลอกที่อยู่ IP ของ ESP8266 จาก Serial Monitor แล้ววางลงในเว็บเบราว์เซอร์ของคุณ
คุณจะเห็นเว็บเซิร์ฟเวอร์พร้อมการอ่านค่าความชื้นและอุณหภูมิ เอาต์พุตของเซ็นเซอร์บน Serial Monitor และ Web Server แสดงในภาพด้านบน
เพื่อความสะดวกสบายของคุณ คุณสามารถคัดลอกรหัส ESP ที่ใช้งานได้สำหรับเซ็นเซอร์นี้จากที่นี่ด้วย:
#รวม
#รวม
#รวม
#รวม
// ที่อยู่ SHT25 I2C คือ 0x40 (64)
#define แอดเดอร์ 0x40
const char* ssid = "เครือข่าย ssid ของคุณ";
const char* password = "รหัสผ่านของคุณ"; ความชื้นลอย cTemp, fTemp;
ESP8266เว็บเซิร์ฟเวอร์เซิร์ฟเวอร์(80);
เป็นโมฆะ handleroot()
{ ข้อมูล int ที่ไม่ได้ลงนาม[2];
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr); // ส่งคำสั่งการวัดความชื้น NO HOLD master Wire.write(0xF5); // หยุดการส่ง I2C Wire.endTransmission(); ล่าช้า (500);
// ขอข้อมูล 2 ไบต์
Wire.requestFrom(Addr, 2);
// อ่านข้อมูลขนาด 2 ไบต์
// ความชื้น msb ความชื้น lsb ถ้า (Wire.available () == 2) { data[0] = Wire.read (); ข้อมูล[1] = Wire.read();
// แปลงข้อมูล
ความชื้น = (((ข้อมูล[0] * 256.0 + ข้อมูล[1]) * 125.0) / 65536.0) - 6;
// ส่งออกข้อมูลไปยัง Serial Monitor
Serial.print("ความชื้นสัมพัทธ์:"); Serial.print(ความชื้น); Serial.println("%RH"); }
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr); // ส่งคำสั่งการวัดอุณหภูมิ NO HOLD master Wire.write(0xF3); // หยุดการส่ง I2C Wire.endTransmission(); ล่าช้า (500);
// ขอข้อมูล 2 ไบต์
Wire.requestFrom(Addr, 2);
// อ่านข้อมูลขนาด 2 ไบต์
// temp msb, temp lsb if (Wire.available() == 2) { data[0] = Wire.read(); ข้อมูล[1] = Wire.read();
// แปลงข้อมูล
cTemp = (((ข้อมูล[0] * 256.0 + ข้อมูล[1]) * 175.72) / 65536.0) - 46.85; fTemp = (cTemp * 1.8) + 32;
// ส่งออกข้อมูลไปยัง Serial Monitor
Serial.print("อุณหภูมิในเซลเซียส:"); Serial.print(cTemp); Serial.println("C"); Serial.print("อุณหภูมิเป็นฟาเรนไฮต์:"); Serial.print(fTemp); Serial.println("F"); } // ส่งออกข้อมูลไปยังเว็บเซิร์ฟเวอร์ server.sendContent ("<meta http-equiv='refresh' content='5'""
ควบคุมทุกอย่าง
www.controleverything.com
SHT25 Sensor I2C Mini Module
"); server.sendContent ("
ความชื้นสัมพัทธ์ = " + สตริง (ความชื้น) + " %RH"); server.sendContent ("
อุณหภูมิในเซลเซียส = " + String(cTemp) + " C"); server.sendContent ("
อุณหภูมิในฟาเรนไฮต์ = " + สตริง (fTemp) + " F"); ล่าช้า (300); }
การตั้งค่าเป็นโมฆะ ()
{ // เริ่มต้นการสื่อสาร I2C เป็น MASTER Wire.begin (2, 14); // เริ่มต้นการสื่อสารแบบอนุกรม กำหนดอัตรารับส่งข้อมูล = 115200 Serial.begin(115200);
// เชื่อมต่อกับเครือข่าย WiFi
WiFi.begin(ssid, รหัสผ่าน);
// รอการเชื่อมต่อ
ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print("."); } Serial.println(""); Serial.print("เชื่อมต่อกับ"); Serial.println(ssid);
// รับที่อยู่ IP ของ ESP8266
Serial.print("ที่อยู่ IP:"); Serial.println(WiFi.localIP());
// เริ่มเซิร์ฟเวอร์
server.on("/", แฮนเดิลรูท); เซิร์ฟเวอร์.begin(); Serial.println("เซิร์ฟเวอร์ HTTP เริ่มทำงาน"); }
วงเป็นโมฆะ ()
{ server.handleClient(); }
ขั้นตอนที่ 4: บทสรุป
ซีรี่ส์เซ็นเซอร์ความชื้นและอุณหภูมิ SHT25 นำเทคโนโลยีเซ็นเซอร์ไปสู่อีกระดับด้วยประสิทธิภาพของเซ็นเซอร์ที่ไม่มีใครเทียบ หลากหลายรุ่น และคุณสมบัติใหม่ เหมาะสำหรับตลาดที่หลากหลาย เช่น เครื่องใช้ในบ้าน การแพทย์ IoT HVAC หรืออุตสาหกรรม ด้วยความช่วยเหลือของ ESP8266 เราสามารถเพิ่มความจุให้มีความยาวมากขึ้น เราสามารถควบคุมเครื่องใช้ของเราและตรวจสอบประสิทธิภาพได้จากโน้ตบุ๊กและอุปกรณ์เคลื่อนที่ของเรา เราสามารถจัดเก็บและจัดการข้อมูลออนไลน์และศึกษาข้อมูลเหล่านี้ได้ตลอดเวลาเพื่อแก้ไข
เราสามารถใช้แนวคิดดังกล่าวได้ในอุตสาหกรรมการแพทย์ เพียงครู่เดียวให้ควบคุมการระบายอากาศในห้องผู้ป่วยเมื่อความชื้นและอุณหภูมิเพิ่มขึ้นโดยอัตโนมัติ เจ้าหน้าที่ทางการแพทย์สามารถตรวจสอบข้อมูลออนไลน์ได้โดยไม่ต้องเข้าไปในห้อง
หวังว่าคุณจะชอบความพยายามและคิดถึงความเป็นไปได้มากขึ้นด้วย อย่างที่บอกไปข้างต้นว่า จินตนาการคือกุญแจสำคัญ:)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SHT25 และ ESP8266 โปรดดูที่ลิงก์ด้านล่าง:
- เอกสารข้อมูลเซ็นเซอร์ความชื้นและอุณหภูมิ SHT25
- เอกสารข้อมูล ESP8266
สำหรับข้อมูลเพิ่มเติม ไปที่ ControlEverything