สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันได้รับแรงบันดาลใจในการสร้างเซ็นเซอร์อุณหภูมิที่สามารถตรวจสอบผ่าน Wi-Fi ได้ โปรเจ็กต์นี้ไม่ใช่เรื่องใหม่ แต่ฉันชอบแนวคิดที่มีเลเยอร์กลางเพื่อความปลอดภัยและไม่ต้องเปิดพอร์ตในเราเตอร์ของคุณไปยังอุปกรณ์ IoT ของคุณ แนวคิดพื้นฐานจะช่วยให้ฉันตรวจสอบอุณหภูมิที่บ้านขณะทำงาน. ต่อมาสามารถขยายเพื่อควบคุมการเปิด-ปิดเครื่องปรับอากาศได้
ขั้นตอนที่ 1: แนวคิดและส่วนประกอบที่จำเป็น
อย่างแรกคือแนวคิด รูปภาพอธิบายสิ่งที่ฉันพยายามบรรลุ เซ็นเซอร์อุณหภูมิเชื่อมต่อกับอินพุตแบบอะนาล็อกของโมดูล ESP8266 WIFI ซึ่งจะโพสต์อุณหภูมิไปยังโฮสติ้งบนคลาวด์เป็นระยะ (ในตัวอย่างนี้ ฉันใช้เว็บเซิร์ฟเวอร์ที่มีสคริปต์ฝั่งเซิร์ฟเวอร์ php เท่านั้น) จากนั้นคุณสามารถเข้าถึงอุณหภูมิได้ทุกที่จากคลาวด์ (เว็บเซิร์ฟเวอร์) เพื่อตรวจสอบอุณหภูมิปัจจุบัน
ตอนนี้ส่วนประกอบที่จำเป็นสำหรับสิ่งนี้อยู่ด้านล่าง โปรดอย่าว่าลิงก์นั้นเป็นลิงค์พันธมิตร หากคุณไม่ต้องการ เพียงไปที่เว็บไซต์โดยตรง
- บอร์ดพัฒนา NodeMcu Lua ESP8266 ฉันได้ของฉันจาก banggood
- เซ็นเซอร์อุณหภูมิ LM35 ฉันได้รับของฉันจากที่นี่
- บอร์ดต้นแบบและสายไฟบางส่วน (เป็นทางเลือกหากคุณต้องการบัดกรีเซ็นเซอร์อุณหภูมิโดยตรง)
- Arduino IDE คุณสามารถดาวน์โหลดได้ที่นี่
- เว็บเซิร์ฟเวอร์ที่ใช้งานได้พร้อมติดตั้งสคริปต์เซิร์ฟเวอร์ php (ไม่จำเป็นหากคุณต้องการดูอุณหภูมิในเครือข่ายท้องถิ่นของคุณ)
ขั้นตอนที่ 2: รับ Arduino IDE เพื่อทำงาน
ติดตั้ง Arduino IDE รองรับแพลตฟอร์ม Windows, Linux และ Mac ที่หลากหลาย เพียงใช้อันที่คุณสบายใจ
ฉันถือว่าคุณสะดวกที่จะติดตั้งและทำสิ่งนี้ต่อไป
เมื่อติดตั้ง Arduino แล้ว ก็ถึงเวลาทดสอบบอร์ด wifi ESP8266 ของคุณ คุณสามารถเชื่อมต่อบอร์ดโดยใช้สาย USB กับคอมพิวเตอร์ของคุณ คอมพิวเตอร์ควรตรวจพบสิ่งนี้โดยอัตโนมัติ
- เลือกบอร์ดที่ถูกต้องจาก Tools->Board-> NodeMCU 1.0 (โมดูล ESP-12E)
- ขั้นตอนต่อไปคือการเลือกพอร์ตที่ ESP8266 ของคุณเชื่อมต่ออยู่ ดังนั้นไปที่ Tools->Port-> mine ขึ้นมาเป็น /dev/cu.wchusbsserial14750 (คุณสามารถมีอย่างอื่นได้)
เมื่อคุณเชื่อมต่อสิ่งนี้แล้ว คุณสามารถทดสอบการเชื่อมต่อและบอร์ดโดยโหลดภาพร่างตัวอย่าง
- เลือก File->Examples->ESP8266->Blink
การดำเนินการนี้จะเปิดสเก็ตช์ Blink คุณสามารถคลิกที่ปุ่ม "อัปโหลด" เพื่ออัปโหลดสเก็ตช์ของคุณ หากทุกอย่างเป็นไปด้วยดี ไฟ LED บน ESP8266 ของคุณควรเริ่มกะพริบ
ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์อุณหภูมิ
เซ็นเซอร์อุณหภูมิ LM35 มี 3 ขา ขาแรกคือ VCC คุณสามารถเชื่อมต่อกับ 5V (เอาต์พุตของบอร์ด ESP8266 คือ 3.3V) ขากลางคือ Vout (ซึ่งอ่านอุณหภูมิคุณสามารถเชื่อมต่อกับอินพุตแบบอะนาล็อกของ ESP8266 pin AD0 ซึ่งอยู่ที่ด้านขวาบนของบอร์ดดังแสดงในภาพและขาขวาควรเป็น เชื่อมต่อกับกราวด์ ตอนนี้วงจรของคุณเสร็จสมบูรณ์แล้ว
ขั้นตอนที่ 4: การตั้งค่าเว็บเซิร์ฟเวอร์คลาวด์ (ไม่บังคับ)
คุณสามารถข้ามขั้นตอนนี้ได้หากต้องการอัปโหลดอุณหภูมิไปยังเว็บเซิร์ฟเวอร์อื่น
สมมติฐาน:
คุณจะมีเว็บเซิร์ฟเวอร์ที่ใช้งานได้ และคุณคุ้นเคยกับการถ่ายโอนไฟล์ไปยังเว็บเซิร์ฟเวอร์ของคุณ
อัปโหลดไฟล์ zip ที่แนบมาไปที่รูทของเว็บไซต์ของคุณ โดยระบุว่าเว็บไซต์คือ "https://arduinotestbed.com"
คุณยังสามารถใส่ไฟล์ในโฟลเดอร์ได้ แต่ต้องแน่ใจว่าคุณแก้ไขภาพสเก็ตช์ Arduino ให้ชี้ไปยังตำแหน่งที่ถูกต้องของ "data_store.php"
ในตัวอย่างนี้ สมมติว่าไฟล์ data_store.php อยู่ที่รูทของเว็บไซต์ ซึ่งสามารถเข้าถึงได้จาก
เมื่ออัปโหลดแล้ว คุณสามารถทดสอบว่าใช้งานได้โดยชี้ไปที่
คุณควรจะเห็นแป้นอุณหภูมิแสดงอุณหภูมิจำลอง เมื่อเว็บเซิร์ฟเวอร์พร้อมแล้ว เราสามารถดำเนินการขั้นตอนต่อไปในการโหลดภาพร่างไปยัง ESP8266 ของเรา
สิ่งหนึ่งที่ควรทราบ คุณจะต้องตรวจสอบให้แน่ใจว่าไฟล์ temp.txt ในเว็บเซิร์ฟเวอร์ได้รับอนุญาตในการเขียน "666"
ขั้นตอนที่ 5: อัปโหลดภาพร่างเซ็นเซอร์อุณหภูมิ
เราใช้ ESP8266 เป็นเว็บเซิร์ฟเวอร์เพื่อตรวจสอบอุณหภูมิและโพสต์การอ่านไปยังเว็บเซิร์ฟเวอร์ภายในและคลาวด์
- คัดลอกไฟล์แนบ 3 ไฟล์ลงในโฟลเดอร์และเปิดไฟล์หลัก "ESP8266TempSensor.ino" ใน Arduino IDE
- แก้ไขตำแหน่งของเว็บเซิร์ฟเวอร์ในบรรทัด String webserver = "arduinotestbed.com" (รูทเว็บเซิร์ฟเวอร์ของคุณ)
- แก้ไข weburi ในบรรทัด String weburi = "/data_store.php" (ถ้าใช้ stepbefore)
- อัปโหลดภาพร่างไปที่ ESP8266
หากทุกอย่างเป็นไปด้วยดี ควรอัปโหลดสำเร็จและในครั้งแรกที่ ESP จะเข้าสู่โหมด AP คุณสามารถใช้แล็ปท็อปหรือโทรศัพท์มือถือเพื่อเชื่อมต่อ คุณควรจะสามารถหา AP ได้โดยใช้ชื่อ "ESP-TEMP"
- ลองเชื่อมต่อกับ ESP-TEMP โดยใช้แล็ปท็อปของโทรศัพท์มือถือ
- ค้นหาที่อยู่ IP ที่คุณได้รับมอบหมายโดยทำคำสั่ง "ipconfig" ใน windows หรือคำสั่ง "ifconfig" ใน linux หรือ mac
- หากคุณกำลังใช้ iphone คลิกที่ปุ่ม i ถัดจาก ESP-TEMP ที่คุณเชื่อมต่ออยู่
- เปิดเบราว์เซอร์ของคุณและชี้ไปที่ ESP-TEMP หากคุณถูกกำหนดให้เป็น 192.168.4.10 เป็น IP ของคุณ ESP-TEMP จะมี ip เท่ากับ 192.168.4.1 ดังนั้นคุณสามารถไปที่ https://192.168 4.1 และคุณควรจะได้รับหน้าการตั้งค่าที่คุณสามารถป้อน ssid เราเตอร์ไร้สายและคีย์ psk เมื่อคุณป้อนทั้งสองรายการและทำเครื่องหมายที่ช่อง "อัปเดต Wifi Config" ให้คลิกที่ "อัปเดต" เพื่ออัปเดตการตั้งค่าเป็น ESP8266 ของคุณ
ตอนนี้ ESP8266 จะรีสตาร์ทและพยายามเชื่อมต่อกับเราเตอร์ไร้สายของคุณ คุณสามารถติดตามความคืบหน้านี้ได้ในมอนิเตอร์แบบอนุกรมโดยคลิกที่ Tools->Serial Monitor หน้าต่างการตรวจสอบซีเรียลจะแสดงความคืบหน้าของการเชื่อมต่อ
จอภาพแบบอนุกรมจะบอกคุณด้วยว่าที่อยู่ IP ของ ESP8266 คืออะไรเมื่อเชื่อมต่อกับเราเตอร์ไร้สายของคุณ ไฟ LED จะกะพริบทุกๆสองสามนาทีเมื่อมีการอ่านอุณหภูมิ และคุณควรจะสามารถเห็นอุณหภูมิได้โดยชี้ไปที่ที่อยู่ของ ESP8266
ขั้นตอนเพิ่มเติม: หากคุณกำลังตั้งค่าเว็บเซิร์ฟเวอร์ให้บันทึกอุณหภูมิ คุณสามารถชี้ไปที่เว็บเซิร์ฟเวอร์ที่คุณตั้งค่าไว้ในขั้นตอนก่อนหน้านี้ ในตัวอย่างนี้คือ
ยินดีด้วย!!! ตอนนี้คุณสามารถอวดเพื่อนของคุณว่าคุณมีเซ็นเซอร์อุณหภูมิ IoT
คุณสามารถตรวจสอบการอ่านอุณหภูมิของฉันใน url ต่อไปนี้
วางสายให้ฉันถ้าคุณจัดการเพื่อทำสิ่งนี้ ถ้าคุณชอบสิ่งนี้ บอกเพื่อนของคุณ และคุณสามารถติดตามฉันเพื่อขยายเพิ่มเติมไปยังเซ็นเซอร์อุณหภูมิ IoT คุณยังสามารถตรวจสอบบล็อกส่วนตัวของฉันสำหรับโครงการเพิ่มเติมที่เกี่ยวข้องกับไมโครคอนโทรลเลอร์
ขั้นตอนที่ 6: ขั้นตอนเพิ่มเติม: TimeLib (ไม่บังคับ)
หากคุณไม่มี TimeLib คุณจะต้องติดตั้งไลบรารีที่แนบมาในโฟลเดอร์ไลบรารีของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุด คุณสามารถค้นหาได้ในลิงค์ต่อไปนี้
สำหรับผู้ใช้ windows:
ห้องสมุดตั้งอยู่ใน C:\Users\Documents\Arduino
สำหรับผู้ใช้ Mac:
ห้องสมุดตั้งอยู่ใน Documents\Arduino\Libraries
คุณสามารถแตกไฟล์ zip ด้านบนด้วยตนเองในตำแหน่งที่กล่าวถึง