สารบัญ:

ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino): 4 ขั้นตอน
ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino): 4 ขั้นตอน

วีดีโอ: ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino): 4 ขั้นตอน

วีดีโอ: ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino): 4 ขั้นตอน
วีดีโอ: EP.25 Arduino Esp8266 รับส่งข้อมูลระหว่าง server กับ client : Server-Client Communication 2024, พฤศจิกายน
Anonim
ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino)
ESP8266 เว็บเซิร์ฟเวอร์ตรวจสอบสภาพอากาศ (ไม่มี Arduino)

“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

แนะนำ: