- ESP Smart Plug สำหรับระบบอัตโนมัติภายในบ้าน
- วัสดุที่จำเป็น
- โปรแกรม Smart Plug สำหรับ ESP8266
- แผนภูมิวงจรรวม
- ปลอกพิมพ์ 3 มิติสำหรับซ็อกเก็ตปลั๊กอัจฉริยะ
นับตั้งแต่ที่ฉันเริ่มทำงานกับโมดูล Wi-Fi ESP ฉันก็อยากสร้างซ็อกเก็ต Wi-Fi อัจฉริยะที่ช่วยให้ฉันควบคุมโหลด AC แบบไร้สายผ่านสมาร์ทโฟนได้ ในขณะที่ผลิตภัณฑ์เหล่านี้มีวางจำหน่ายแล้วในตลาดเช่น Moko WiFi Smart Plug หรือ Sonoff ที่เป็นที่นิยม แต่ก็มีราคาแพงเล็กน้อยและยิ่งไปกว่านั้นมันไม่ได้ทำให้คุณมีความสุขในการสร้างของคุณเอง ดังนั้นในโครงการนี้ฉันจะแสดงวิธีสร้างปลั๊กอัจฉริยะของคุณเองโดยใช้โมดูล Wi-Fi ESP8266. อุปกรณ์ที่เราสร้างขึ้นสามารถเสียบเข้ากับเต้ารับ AC ที่ออกได้อย่างง่ายดายจากนั้นในอีกด้านหนึ่งคุณสามารถเชื่อมต่อโหลดจริงได้ง่ายๆเพียงแค่เสียบเข้ากับซ็อกเก็ตนี้บนอุปกรณ์ของเรา หลังจากนั้นเพียงแค่เปิดสวิตช์หลักของซ็อกเก็ตไว้เสมอและคุณสามารถควบคุมโหลดได้โดยตรงจากสมาร์ทโฟนของคุณ สนุกใช่มั้ย? เข้าโครงการกันเลย….
ESP Smart Plug สำหรับระบบอัตโนมัติภายในบ้าน
เราได้สร้างโครงการระบบอัตโนมัติในบ้านจำนวนหนึ่งแล้วตั้งแต่ระบบอัตโนมัติภายในบ้านแบบ RF ธรรมดาไปจนถึงระบบอัตโนมัติในบ้านที่ควบคุมด้วยเสียงของ Google Assistant ที่ฉันชื่นชอบ แต่วันนี้ความต้องการของโครงการนี้แตกต่างกันเล็กน้อย
ที่นี่มีวัตถุประสงค์เพื่อเปิด / ปิดเราเตอร์ Wi-Fi ของฉันโดยใช้สมาร์ทโฟนโดยตรงจากเวิร์กสเตชันของฉัน เนื่องจากในบางครั้งการเชื่อมต่ออินเทอร์เน็ตของฉันหยุดทำงานและเมื่อฉันโทรติดต่อฝ่ายดูแลลูกค้าคำตอบมาตรฐานที่ฉันได้รับคือ “ ครับผมขอโทษสำหรับความไม่สะดวกที่เกิดขึ้น กรุณารีสตาร์ทเราเตอร์ของคุณโดยปิดแล้วเปิดใหม่อีกครั้งหลังจากนั้นไม่กี่วินาที” พั๊ฟฟ์! เหนื่อยกับการเดินไปหาเราเตอร์ทุกครั้งฉันตัดสินใจสร้างปลั๊กอัจฉริยะ wifiนี้และควบคุมเราเตอร์ของฉันโดยใช้มัน
แต่เดี๋ยวก่อน! ฉันจะไม่สามารถเข้าถึงอินเทอร์เน็ตได้อีกต่อไปเมื่อฉันปิดเราเตอร์ แล้วฉันจะเปิดอีกครั้งจากระยะไกลได้อย่างไร? โชคดีที่ ESP8266 ของเราสามารถใช้เป็นจุดเชื่อมต่อได้ซึ่งหมายความว่ามันสามารถทำหน้าที่เหมือนเราเตอร์ด้วยการส่งสัญญาณ wi-fi ของตัวเอง สัญญาณ Wi-Fi นี้จะใช้งานได้ตลอดเวลาตราบเท่าที่เปิด ESP8266 ดังนั้นเราจะตั้งโปรแกรมESP8266ของเราเป็นแคปทีฟพอร์ทัลด้วยวิธีนี้เมื่อเราเชื่อมต่อกับสัญญาณ Wi-Fi ของ ESP แล้วเราจะเข้าสู่หน้าเว็บที่เราสามารถเปิด / ปิดโหลดของเราได้
วัสดุที่จำเป็น
1. โมดูล Wi-Fi ESP8266
2. Hi-Link AC เป็น DC Converter (3.3V)
3. รีเลย์ 3V
4. NPN ทรานซิสเตอร์ BC547
5. โมดูลโปรแกรมเมอร์ FTDI
6. Arduino Wi-Fi shield
7. การเชื่อมต่อสายไฟ
หมายเหตุ:เรากำลังใช้ Arduino Wi-Fi Shield ที่เราสร้างก่อนหน้านี้ บอร์ดนี้ใช้เพื่ออัปโหลดโค้ด Arduino ไปยังโมดูล ESP8266 เท่านั้น หากคุณไม่มีบอร์ดนี้คุณสามารถสร้างได้โดยใช้ลิงค์ของการใช้วงจรโปรแกรมเมอร์ ESP8266 ที่เรียบง่ายนี้เพื่ออัปโหลดรหัสของคุณ
โปรแกรม Smart Plug สำหรับ ESP8266
ก่อนที่เราจะดำเนินการต่อไปเรามาดำน้ำในโปรแกรมเพื่อทำความเข้าใจว่าปลั๊กอัจฉริยะ DIY WiFiของเราทำงานอย่างไร ดังที่คุณเห็นที่นี่เราเริ่มต้นโปรแกรมโดยรวมไฟล์ส่วนหัวไม่กี่ไฟล์และตั้งค่าเซิร์ฟเวอร์เครือข่าย DNS
# รวม
จากนั้นเราเริ่มต้น GPIO พิน 2 ของ ESP เป็นเอาต์พุตซึ่งจะใช้เพื่อควบคุมโหลดของเรา หลังจากนั้นเรามีโค้ด HTML แบบยาวสำหรับหน้าเว็บของเรา ที่นี่เรามีสามหน้าจอในหน้าเว็บของเราคือหน้าจอหลักบนหน้าจอและหน้าจอปิด
สตริง Home_Screen = "" // หน้า 1 - โค้ด HTML ของหน้าจอหลัก "" "+ style_detials +"
""ยินดีต้อนรับ - CircuitDigest
"" "; String ON_Screen =" "// หน้า 2 - หากอุปกรณ์เปิดอยู่" "" "+ style_detials +" ""Smart Plug - เปิดแล้ว
"" "; String OFF_Screen =" "// หน้า 3 - หากอุปกรณ์ปิดอยู่ " " " " + style_detials + " " "Smart Plug - ปิดอยู่
" " ";หน้าเว็บทั้งสามนี้เมื่อเปิดขึ้นมาจะมีลักษณะดังนี้ คุณสามารถปรับแต่งเว็บเพจของคุณให้ปรากฏในแบบที่คุณชอบได้
จากนั้นเรามีฟังก์ชัน การตั้งค่าโมฆะ ของเราซึ่งเรากำหนดให้ ESP ของเราทำงานเป็นจุดเชื่อมต่อและตั้งชื่อให้ที่นี่“ ESP_Smart_Plug”เมื่อผู้ใช้เชื่อมต่อกับ Wi-Fi นี้ผู้ใช้จะถูกนำไปที่โฮมเพจที่เรากำหนดไว้ก่อนหน้านี้
pinMode (LED_BUILTIN, เอาท์พุท); // ขา LED เป็นเอาต์พุตสำหรับการบ่งชี้ pinMode (GPIO_2, OUTPUT); // GPIO pin เป็นเอาต์พุตสำหรับรีเลย์ควบคุม WiFi.mode (WIFI_AP); // ตั้งค่า ESP ในโหมด AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // ตั้งชื่อเครือข่าย AP ของคุณ dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("ตำแหน่ง", สตริง ("http://www.circuitdigest-automation.com/home.html"), จริง); // เปิดหน้าจอหลักโดยค่าเริ่มต้น webServer.send (302, "ข้อความ / ธรรมดา", ""); });
ในโฮมเพจหากผู้ใช้คลิกที่ปุ่ม ONหน้าบนหน้าจอจะแสดงขึ้นและขา GPIO 2 จะถูกตั้งค่าไว้สูง
// ON_Screen webServer.on ("/ relay_ON", () {// ถ้าเปิดปุ่มกด digitalWrite (LED_BUILTIN, LOW); // ปิด LED digitalWrite (GPIO_2, HIGH); // ปิดรีเลย์ webServer.send (200, "text / html", ON_Screen); // แสดงหน้าจอนี้ });
ในทำนองเดียวกันหากผู้ใช้คลิกที่ปุ่มปิดหน้าปิดหน้าจอจะแสดงขึ้นและขา GPIO 2 จะถูกตั้งค่าเป็น LOW
// OF_Screen webServer.on ("/ relay_OFF", () {// ถ้าปิดปุ่มกด digitalWrite (LED_BUILTIN, สูง); // เปิด LED digitalWrite (GPIO_2, LOW); // เปิดรีเลย์ webServer.send (200, "text / html", OFF_Screen); // แสดงหน้าจอนี้ });
คุณสามารถดาวน์โหลดโค้ดที่สมบูรณ์พร้อมกับไฟล์ไลบรารีเป็นไฟล์ ZIP ได้จากลิงค์ด้านล่าง เมื่อรหัสของเราพร้อมแล้วเราสามารถอัปโหลดไปยังโมดูล ESP ของเราได้โดยคลิกที่ปุ่มอัปโหลดจากนั้นรอให้อัปโหลดรหัส สามารถดาวน์โหลดโปรแกรมที่สมบูรณ์พร้อมกับไฟล์ไลบรารีได้จากลิงค์ด้านล่าง
ESP8266 Smart Plug - ดาวน์โหลดรหัส Arduino
ผู้ที่มี Wi-Fi shield สามารถเสียบโมดูลของคุณเข้าด้วยกันดังที่แสดงด้านบนและเชื่อมต่อกับคอมพิวเตอร์ของคุณเพื่อเริ่มการเขียนโปรแกรม ESP8266 ของเราโดยใช้ Arduino IDE ผู้ที่ไม่มีบอร์ดนี้สามารถใช้แผนภาพวงจรตามที่กล่าวไว้ก่อนหน้านี้
เมื่ออัปโหลดรหัสแล้วให้ค้นหาเครือข่าย Wi-Fi บนโทรศัพท์ของคุณและคุณจะพบสัญญาณชื่อ “ ESP_Smart_Plug” เชื่อมต่อและคุณจะเข้าสู่หน้าเว็บที่เราเพิ่งออกแบบ ที่นี่เมื่อคุณกดปุ่มปิดคุณจะสังเกตเห็นไฟ LED บนบอร์ด ESP ของเราดับลงและเมื่อคุณกดปุ่มเปิดไฟ LED จะเปิดขึ้นอีกครั้ง
หลังจากตรวจสอบรหัสอีกสองสามครั้งเราจะไม่ต้องใช้บอร์ดโปรแกรมเมอร์สำหรับโครงการนี้อีกต่อไป ตอนนี้เราต้องสร้างวงจรเพื่อจ่ายไฟให้กับโมดูล ESP ของเราโดยตรงจากแรงดันไฟเมนและใช้พิน GPIO เพื่อสลับรีเลย์ เพื่อสร้างวงจรนี้ผมใช้โมดูลแปลง AC-DC จาก Hi-Link ซึ่งจะแปลงแรงดันไฟฟ้า AC ไฟเพื่อ 3.3V DC กับปัจจุบันการส่งออกของ 900mA พอเพียงพอที่จะใช้พลังงานขึ้นโมดูล ESP ผ่านท่อ รีเลย์ด้านเอาต์พุตเป็นรีเลย์3.3Vซึ่งสามารถควบคุมได้โดยพิน GPIO ของ ESP ผ่านทรานซิสเตอร์เช่นBC547นี้ เราจะต้องมีตัวต้านทาน 1k เพื่อ จำกัด กระแสฐานของทรานซิสเตอร์ของเรา
แผนภูมิวงจรรวม
แผนผังวงจรที่สมบูรณ์สำหรับปลั๊กอัจฉริยะ Wi-Fiจะมีลักษณะดังนี้
แหล่งจ่ายไฟ AC สำหรับโครงการของเราจะได้รับผ่านปลั๊กนี้ ส่วนประกอบอื่น ๆ คือส่วนประกอบที่อธิบายถึง eariler สิ่งสำคัญอีกอย่างที่ต้องมีสมาธิคือการรักษา GPIO-0 และ GPIO-2 ให้สูงในขณะที่บูตเครื่อง อื่นโมดูล ESP จะเข้าสู่โหมดการเขียนโปรแกรมและโค้ดจะไม่ทำงาน ดังนั้นฉันจึงใช้ตัวต้านทาน 10k (สามารถใช้ค่าระหว่าง 3.3k ถึง 10k ได้) เพื่อดึงพิน GPIO ให้สูงตามค่าเริ่มต้น หรือคุณสามารถใช้ทรานซิสเตอร์ PNP แทน BC547 และเปลี่ยนรีเลย์จากด้านสูงได้ เมื่อมีแผนภาพวงจรพร้อมแล้วฉันจึงวางแผนเกี่ยวกับวิธีการบัดกรีส่วนประกอบเหล่านี้โดยรักษาขนาดของบอร์ดให้เล็กที่สุดเพื่อให้พอดีกับปลอกขนาดเล็กและขั้นตอนด้วยการบัดกรีบอร์ด
ปลอกพิมพ์ 3 มิติสำหรับซ็อกเก็ตปลั๊กอัจฉริยะ
ต่อไปฉันวัดขนาดของบอร์ดโดยใช้เวอร์เนียและวัดขนาดของปลั๊กและซ็อกเก็ตเพื่อออกแบบปลอกสำหรับปลั๊กอัจฉริยะของฉัน การออกแบบของฉันมีลักษณะดังนี้ด้านล่างเมื่อเสร็จสิ้น
หลังจากที่ฉันพอใจกับการออกแบบแล้วฉันก็ส่งออกเป็นไฟล์ STL แล้วหั่นบาง ๆ ตามการตั้งค่าเครื่องพิมพ์และพิมพ์ออกมาในที่สุด อีกครั้งไฟล์ STL สามารถดาวน์โหลดได้จาก thingiverse และคุณสามารถพิมพ์ปลอกของคุณเองได้โดยใช้มัน
หลังจากพิมพ์เสร็จแล้วฉันค่อนข้างพอใจกับผลลัพธ์ จากนั้นฉันก็เพิ่มสายไฟเข้ากับบอร์ดของฉันและขันให้เข้ากับขั้วไฟและซ็อกเก็ต ด้วยการเชื่อมต่อที่สมบูรณ์ทำให้ฉันประกอบวงจรเข้ากับปลอกและทุกอย่างก็เข้ากันได้ดีอย่างที่เห็นที่นี่
เมื่อปลั๊กอัจฉริยะของฉันพร้อมสำหรับการดำเนินการฉันจึงไปที่เราเตอร์ของฉันตรวจสอบสายไฟเพื่อค้นหาอะแดปเตอร์ จากนั้นฉันก็ถอดออกจากซ็อกเก็ตและเชื่อมต่อสมาร์ทปลั๊กเข้ากับซ็อกเก็ตเดียวกันและเปิดใช้งาน ตอนนี้ฉันเสียบอะแดปเตอร์กลับไปที่ปลั๊กอัจฉริยะของเราแล้วและหลังจากนี้ฉันก็สามารถควบคุมได้จากโทรศัพท์ของฉันในทำนองเดียวกันคุณสามารถควบคุมโหลด AC พลังงานต่ำในบ้านของคุณและสนุกได้
รหัสที่สมบูรณ์สามารถดาวน์โหลดได้จากที่นี่และวิดีโอการทำงานสำหรับปลั๊กไฟอัจฉริยะ DIYนี้สามารถพบได้ที่ด้านล่างของหน้านี้ หวังว่าคุณจะสนุกกับโครงการโปรดแจ้งให้เราทราบในส่วนความคิดเห็นว่าคุณจะทำอะไรโดยอัตโนมัติกับอุปกรณ์นี้ หากคุณมีคำถามใด ๆ ทิ้งไว้ในฟอรัมเราจะพยายามอย่างเต็มที่ในการตอบคำถามเหล่านี้