สารบัญ:

IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT, ระบบอัตโนมัติภายในบ้าน: 10 ขั้นตอน (พร้อมรูปภาพ)
IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT, ระบบอัตโนมัติภายในบ้าน: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT, ระบบอัตโนมัติภายในบ้าน: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT, ระบบอัตโนมัติภายในบ้าน: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: [spin9] เปิดระบบ Smart Home ที่บ้าน — บอกหมด เราใช้อะไรบ้าง 2024, มิถุนายน
Anonim
IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT ระบบอัตโนมัติในบ้าน
IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT ระบบอัตโนมัติในบ้าน

ข้อจำกัดความรับผิดชอบ

อ่านสิ่งนี้ก่อน

คำแนะนำนี้ให้รายละเอียดเกี่ยวกับโครงการที่ใช้ไฟหลัก (ในกรณีนี้คือ UK 240VAC RMS) ในขณะที่ใช้ความระมัดระวังทุกประการเพื่อใช้แนวปฏิบัติที่ปลอดภัยและหลักการออกแบบที่ดี มีความเสี่ยงที่จะเกิดไฟฟ้าช็อตที่อาจทำให้เสียชีวิตได้เมื่อทำงานกับแรงดันไฟฟ้าเหล่านี้และสำหรับ ซึ่งผู้เขียนไม่สามารถยอมรับความรับผิดใด ๆ หากการบาดเจ็บส่วนบุคคลหรือความเสียหายต่อทรัพย์สินเกิดขึ้นเมื่อติดตามเนื้อหา ดังนั้น คุณทำให้โครงการนี้เป็นความเสี่ยงของคุณเอง

คำนำ

บทความนี้เป็นบทความที่ 9 ในชุดเกี่ยวกับระบบอัตโนมัติภายในบ้าน จัดทำเอกสารวิธีสร้างและรวมตัวควบคุมหลัก Sonoff 10A IoT เข้ากับระบบอัตโนมัติภายในบ้านที่มีอยู่ รวมถึงฟังก์ชันซอฟต์แวร์ที่จำเป็นทั้งหมดเพื่อให้สามารถปรับใช้ในสภาพแวดล้อมภายในประเทศได้สำเร็จ

บทนำ

ดังที่ได้กล่าวไว้ข้างต้น รายละเอียดคำแนะนำเกี่ยวกับวิธีการสร้างและรวมตัวควบคุมหลัก IoT โดยใช้ Sonoff 10A จาก iTead ตัวอุปกรณ์เองนั้นได้รับการจัดอันดับสำหรับ 10amps @ 90~250VAC อย่างไรก็ตาม การใช้งานนี้ลดอัตราลงเป็น 5amps ผ่านปลั๊กแบบหลอมรวมซึ่งให้การจ่ายไฟหลักในสหราชอาณาจักรที่ 240VAC RMS

วิธีการออกแบบผสานเข้ากับเครือข่าย IoT ที่ใช้ MQTT/OpenHAB ได้อย่างลงตัวซึ่งมีรายละเอียดในซีรีส์นี้เกี่ยวกับการสร้างระบบอัตโนมัติภายในบ้านโดยใช้โค้ดที่นำกลับมาใช้ใหม่ซึ่งนำมาจากที่นี่ นอกจากนี้ยังสามารถจัดการกับการสูญเสียองค์ประกอบเครือข่าย IoT ใดๆ และสามารถทำงานได้แบบสแตนด์อโลนอย่างเต็มที่ ขณะอยู่ในโหมดสแตนด์อโลน การควบคุมอุปกรณ์ทำได้โดยเพียงแค่กดปุ่มควบคุมที่ด้านบนของตัวเครื่อง ซึ่งจะสลับเอาท์พุตการจ่ายไฟไปข้างหน้า

ในการเปิดใช้งานการควบคุมภายในของอุปกรณ์ Sonoff นี้ GPIO14 จะถูกนำออกจากเคสและใช้เป็นอินพุตทริกเกอร์ เพื่อความปลอดภัย อินพุตนี้จะถูกป้อนผ่านวงจรออปโตคัปเปลอร์และจัดเก็บไว้ในกล่องพลาสติกเพื่อไม่ให้ผู้ปฏิบัติงานสัมผัสกับแรงดันไฟฟ้าของแหล่งจ่ายไฟหลัก

สุดท้าย ร้อยแก้วยังสรุปวิธีการตั้งโปรแกรมอุปกรณ์ ESP8266 ใหม่ใน Sonoff 10A โดยใช้ Arduino IDE และให้รายละเอียดวงจรทั้งหมดของอุปกรณ์ที่สามารถใช้ตั้งโปรแกรมโค้ดเป้าหมายได้อย่างน่าเชื่อถือ

ฉันต้องการชิ้นส่วนอะไร?

Sonoff Mains Controller

  1. 1 จาก Sonoff 10A ที่นี่
  2. 1 ปิด 7805L 5v ตัวควบคุมแรงดันไฟฟ้าที่นี่
  3. 1 ลด 240/6VAC 1.5VA Transformer ที่นี่
  4. 2 ปิด 0.1 ตัวเก็บประจุเซรามิกที่นี่
  5. 1 จาก 1000uF @ 25v Electrolytic Capacitor ที่นี่
  6. 1 จาก Bridge rectifier 2W01 ที่นี่
  7. 2 จากตัวต้านทาน 4K7 ที่นี่
  8. 1 จากตัวต้านทาน 330R ที่นี่
  9. 1 ปิดปุ่ม SPST ที่นี่
  10. 1 ปิด Mulitcomp BM12W ABS Enclosure ที่นี่
  11. 1 ปิด TIL111 opto-coupler ที่นี่
  12. ขั้วต่อเทอร์มินัล 3 ทาง 1 ทางที่นี่
  13. 1 off 2-Way coded molex connector ที่นี่/ที่นี่
  14. 1 ออก 3-Way coded molex connector ที่นี่/ที่นี่
  15. 1 ออก 5-Way coded molex connector ที่นี่/ที่นี่
  16. หมุดโมเล็กซ์ 5 ทาง 1 อันที่นี่
  17. 1 จาก Winbond SPI Flash (W25Q32FVSIG) ที่นี่
  18. ตัวยึดฟิวส์ 20 มม. 1 ชิ้น + ฝาปิดที่นี่
  19. 1 ปิด 20 มม. ฟิวส์ 500mA เป่าเร็วที่นี่
  20. 2 ต่อมสายเคเบิลโพลีอะมายด์ที่นี่
  21. 1 ออกปลั๊ก UK Mains (BS1363/A) ที่นี่
  22. 1 จาก UK Main socket (BS1363/A) ที่นี่
  23. สกรูไนล่อน CS M3 16 มม. 7 ตัว (รวมน็อต 10 ตัว) ที่นี่/ที่นี่
  24. 2 ซิปผูกที่นี่
  25. 1 off veroboard (ระยะพิทช์ 0.1") ที่นี่
  26. ลด 1 ต่อ ลวดทองแดงกระป๋อง 22swg ความยาวต่างๆ ได้ที่นี่
  27. สายไฟหลัก 3M White UK จำนวน 1 เส้นที่นี่
  28. ปลอกจีบ Molex 10 ตัวที่นี่

Sonoff โปรแกรมเมอร์

  1. 1 ปิด LD33CV 3v3 ตัวควบคุมแรงดันไฟฟ้าที่นี่
  2. 1 จาก TO-220 ฮีทซิงค์ที่นี่
  3. วางฮีทซิงค์ลด 1 ครั้งที่นี่
  4. 1 ปิด 10uF @ 16v ตัวเก็บประจุด้วยไฟฟ้าที่นี่
  5. 1 ปิด 0.1 ตัวเก็บประจุเซรามิกที่นี่
  6. 1 ปิดปุ่ม SPDT ที่นี่
  7. 1 จากตัวต้านทาน 4K7 ที่นี่
  8. 1 off 2-Way coded molex connector ที่นี่/ที่นี่
  9. 1 ออก 3-Way coded molex connector ที่นี่/ที่นี่
  10. 5 ออก Molex socket crimps ที่นี่
  11. 1 ออก 6-Way โมเล็กซ์ซ็อกเก็ตที่นี่
  12. 1 ปิดปุ่ม SPST ที่นี่
  13. 1 ออก 2.1 มม. PSU socket ที่นี่
  14. 1 off veroboard (ระยะพิทช์ 0.1") ที่นี่
  15. 1 จาก USB เป็นอะแดปเตอร์อนุกรม (FTDI) ที่นี่

ฉันต้องการซอฟต์แวร์อะไร

  1. Arduino IDE 1.6.9 ที่นี่
  2. Arduino IDE กำหนดค่าให้โปรแกรม ESP8266 ดูที่นี่; การตั้งค่า Arduino IDE เพื่อตั้งโปรแกรม ESP8266-01

ฉันต้องการเครื่องมืออะไร?

  1. หัวแร้ง,
  2. ดอกสว่านและดอกสว่านต่างๆ (รวมถึงดอกสว่านเจาะรูสำหรับต่อมสายเคเบิลและปุ่มควบคุม)
  3. ไขควง (ต่างๆ),
  4. ประแจแบบปรับได้ (สองทาง, ความกว้างกราม >25 มม., สำหรับต่อมสายไฟ),
  5. ไฟล์ (ต่างๆ),
  6. รองที่แข็งแกร่ง,
  7. ปืนความร้อน
  8. DMM (ควรเป็น CAT IV)

ฉันต้องการทักษะอะไร?

  1. มีความรู้ด้านอุปกรณ์อิเล็กทรอนิกส์และความปลอดภัย/การออกแบบ/การเดินสายไฟฟ้าในบ้าน ฯลฯ เป็นอย่างดี,
  2. ความรู้เกี่ยวกับ Arduino และ IDE
  3. ทักษะการประดิษฐ์ที่ดี (การบัดกรี, การตะไบ, การขุดเจาะ ฯลฯ),
  4. อดทนหน่อย
  5. ความเข้าใจบางอย่างเกี่ยวกับเครือข่ายในบ้านของคุณ

หัวข้อที่ครอบคลุม

  • บทนำ
  • ภาพรวมวงจร
  • Sonoff RetroMods
  • รายละเอียดการก่อสร้างและการประกอบ
  • Sonoff Programming Adapter
  • ภาพรวมระบบซอฟต์แวร์
  • ภาพรวมซอฟต์แวร์
  • การกำหนดค่า OpenHAB
  • การทดสอบอุปกรณ์ IoT ของคุณ
  • บทสรุป
  • ข้อมูลอ้างอิงที่ใช้

ลิงค์ซีรีส์

ถึงตอนที่ 8: WiFi IoT Temperature and Humidity Sensor ตอนที่: 8 IoT, Home Automation

ถึงตอนที่ 10: IR Remote Control ผ่าน IoT ตอนที่ 10 IoT ระบบอัตโนมัติในบ้าน

ขั้นตอนที่ 1: ภาพรวมวงจร

ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร
ภาพรวมวงจร

ภาพรวม

ดังที่กล่าวไว้ในบทนำข้างต้น เพื่อที่จะสามารถเปิดและปิดตัวควบคุมไฟภายในเครื่องได้ จำเป็นต้องมีอินพุตไปยัง ESP8266 ออนบอร์ดของ Sonoff การแนะนำอินพุตภายนอกดังกล่าวจำเป็นต้องมีการละเมิดกล่องหุ้ม Sonoff ABS ดังนั้นจึงอาจเกิดอันตรายจากการกระแทกได้ ในการเอาชนะสิ่งนี้ ฉันได้ใช้การแยกแสงในลักษณะที่ไม่มีความเป็นไปได้ที่จะสัมผัสกับกระแสไฟหลักภายนอกกล่องหุ้มระบบควบคุมหลัก

ต่อไปนี้เป็นคำอธิบายของวงจรการแยกแสง (ในรูปที่ 1 ด้านบน)

รายละเอียดวงจร

วงจรออปโต-ไอโซเลชั่นได้รับกระแสไฟตรงจากไฟหลักที่จ่ายให้กับตัวเครื่อง 240VAC RMS ใช้กับสเต็ปดาวน์/หม้อแปลงแยก TR1 ผ่าน J1 หน้าสัมผัส pheonix MKDSN2 เทอร์มินอล 3 ทางแบบโพลีเอไมด์ 5/3-5.08 พิกัดที่ 16A ที่ 400V สามารถพกพาสายเคเบิลขนาด 2.5 มม. (ตร.ม.) CSA และ F1 ที่ 500mA 20 มม. ฟิวส์ระเบิดเร็ว 6VAC ที่มีอยู่ในขดลวดทุติยภูมิของ TR1 นั้นแก้ไขด้วยคลื่นเต็มคลื่นด้วยไดโอดบริดจ์ B1

เอาต์พุตที่แก้ไขคลื่นแบบเต็มนี้จะเสถียรและควบคุมโดย C1, C2 C3, R3 และ IC1 ตัวควบคุมการแบ่งซีรีย์ 7805L ให้รางจ่ายไฟ 5v ที่ดีและสะอาด

จากนั้นใช้ราง 5v เพื่อควบคุมอินพุตไปยัง OK1 ออปโต-ไอโซเลเตอร์ TIL111 ผ่านปุ่ม SPST สีขาวที่ติดตั้งภายนอกซึ่งเชื่อมต่อผ่าน J3 เอาต์พุตของ TIL111 นั้นเชื่อมต่อกับอินพุต Sonoff GPIO14 ผ่าน R2 a 4K7 ตัวต้านทานแบบดึงขึ้น ดังนั้น การแยกได้ดีกว่า 340V (เช่น แรงดันไฟสูงสุด = (240VAC*sqroot(2)))

ขั้นตอนที่ 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

ในการรวมอุปกรณ์ Sonoff 10A เข้าด้วยกัน จำเป็นต้องทำการปรับเปลี่ยนย้อนหลัง

อย่างแรกคือการเพิ่มขั้วต่อ pitch molex ขนาด 5 ทาง 0.1 นิ้วดังแสดงในรูปที่ 1 ด้านบน ซึ่งช่วยให้สามารถเข้าถึง GPIO14 บน Sonoff เมื่อเปลี่ยนฝาครอบป้องกันดังในรูปที่ 2 และ 3 ด้านบน

แม้ว่าจะไม่ได้แสดงไว้ข้างต้น ฉันยังนำสาย TX/RX แบบอนุกรมออกมาเพื่อให้สามารถตั้งโปรแกรมในแหล่งกำเนิดได้ (โปรดดูสายรัดสายไฟ SK1..3 ในขั้นตอนที่ 1 ด้านบน)

การแก้ไขครั้งที่สองคือการเพิ่มขนาดของอุปกรณ์ SPI Flash จากค่าเริ่มต้น 1MByte เป็น 4MBytes เพื่อให้มีพื้นที่เพียงพอสำหรับไฟล์เว็บเซิร์ฟเวอร์ IoT ที่จะเก็บไว้ใน SPIFFS

ฉันซื้ออุปกรณ์แฟลช SMD SPI (W25Q32FVSIG) จาก Ebay ที่นี่

ในการเปลี่ยนแฟลช ฉันได้ถอด Sonoff LED ออกชั่วคราวดังรูปที่ 4 เพื่อให้เข้าถึงอุปกรณ์ SMD ได้ดีขึ้น ในการยกเลิกการบัดกรีแฟลช ฉันใช้ปืนความร้อนดังแสดงในรูปที่ 5 ด้านบน จากนั้นทำการบัดกรีใหม่ทั้ง 4MByte Flash และ LED ตามลำดับ (รูปที่ 6)

ขั้นตอนที่ 3: รายละเอียดการก่อสร้างและการประกอบ

รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ
รายละเอียดการก่อสร้างและการประกอบ

ฉันแนบตัวควบคุมไฟหลักไว้ในกล่อง Mulitcomp BM12W ABS (รูปที่ 1 ด้านบน) กล่องหุ้มนี้มีเม็ดมีด M3 ทองเหลืองแบบแยกได้ซึ่งช่วยให้สามารถเข้าถึงยูนิตได้หลายแบบโดยไม่กระทบกับเกลียวยึดเพื่อให้สามารถเปลี่ยนฟิวส์ภายในได้หากจำเป็นหรือสามารถตรวจสอบภายในได้เมื่อเวลาผ่านไป (อุปกรณ์ Sonoff ไม่สามารถพูดได้เช่นเดียวกัน ทำได้เพียงครั้งเดียวปิดโดยใช้กรีดตัวเอง)

การคลายความเครียดเบื้องต้นสำหรับสายเคเบิลจ่ายไฟหลักทำได้โดยใช้สายเคเบิล M16 Nylon/Polyamide 6/6 สีขาวที่รองรับสายเคเบิล OD ต่ำสุด/สูงสุด 5 มม./10 มม.

การบรรเทาความเครียดทุติยภูมิโดยใช้สายรัดซิปเดียวที่วางไว้บนสายเคเบิลหากมีการตึงมากเกินไปและต่อมสายเคเบิลทำงานล้มเหลว สายรัดซิปจะทำให้สายเคเบิลอยู่กับที่

เพื่อให้พอดีกับเคเบิลแกลนด์และจัดเตรียมพื้นที่เพียงพอในการติดตั้ง Sonoff และออปโต-ไอโซเลชันอิเล็กทรอนิคส์ ฉันได้ถอดซี่โครงยึด PCB ภายในดังที่แสดงด้านบน (รูปที่ 2)

อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดได้รับการติดตั้งอย่างแน่นหนาด้วยสกรู M3 ไนลอน CS เพื่อให้แน่ใจว่ามีการแยกออกจากภายนอกของตัวเครื่อง อุปกรณ์อิเล็กทรอนิกส์แบบแยกออปโตที่ถูกติดตั้งด้วยจุดยึด 5 จุดเพื่อให้แน่ใจว่ามีความแข็งแรงทางกลของเสียงหากยูนิตตก ซึ่งจะช่วยป้องกันมวลของหม้อแปลงแยกไม่ให้ทำลายวงจรเวโรบอร์ด

การจัดหาไปยังหน่วยทำได้โดยใช้สายไฟหลักหุ้มฉนวน PVC สีขาว 3 แกน รหัสสีขาว 3 แกน (32/0.2 มม. ตร.ม.) CSA 1 มม. (ตร.ม.) ด้วย OD 7.2 มม. ที่สามารถบรรทุกได้ 10A

หน่วยเชื่อมต่อกับแหล่งจ่ายไฟหลักในสหราชอาณาจักร (240VAC RMS) ผ่านปลั๊กความปลอดภัย 3 ขามาตรฐาน (BS 1363/A) ที่ได้รับการอนุมัติ ปลั๊กถูกหลอมรวมที่ 5A

สายไฟหลักทั้งหมดไปยังวงจรการแยกแสงถูกเชื่อมต่อผ่าน pheonix contact MKDSN2 ขั้วต่อโพลีอะไมด์ 5/3-5.08 ที่พิกัด 16A ที่ 400V สามารถพกพาสายเคเบิลขนาด 2.5 มม. (ตร.ม.) CSA ได้ จึงมีความจุเพียงพอสำหรับสายเคเบิลสองเส้นใน แต่ละตำแหน่ง

ไม่มีสายไฟหลักถูกหุ้มไว้ เพียงบิดเกลียวเพื่อป้องกันการกระเด็นของแกนก่อนที่จะเสียบเข้าไปในบล็อกขั้วต่อ สายไฟหลัก Tinning เป็นแนวปฏิบัติที่อันตรายเนื่องจากบัดกรี 'คลาย' เมื่อเวลาผ่านไปในที่สุดทำให้สายเคเบิลสูญเสียในบล็อกตัวเชื่อมต่อ

บันทึก:

  • OD = เส้นผ่านศูนย์กลางภายนอก
  • VAC = โวลต์กระแสสลับ
  • RMS = รูต Mean Square
  • CSA = พื้นที่หน้าตัด
  • CS = เคาน์เตอร์จม

ขั้นตอนที่ 4: Sonoff Programming Adapter

Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter
Sonoff Programming Adapter

มีสองประเด็นที่ต้องพิจารณาเมื่อตั้งโปรแกรม Sonoff 10A ใหม่ผ่าน Arduino IDE;

  1. การกำหนดค่า Arduino IDE ของคุณเพื่อตั้งโปรแกรม ESP8266
  2. การกระทำของการเขียนโปรแกรมฮาร์ดแวร์เอง

การกำหนดค่า Arduino IDE ของคุณเพื่อตั้งโปรแกรม ESP8266

ในการกำหนดค่า Ardino IDE ของคุณ ให้ทำตามคำแนะนำที่นี่ การตั้งค่า Arduino IDE เพื่อตั้งโปรแกรม ESP8266-01

การเขียนโปรแกรมฮาร์ดแวร์

นี่เป็นกระบวนการหลายขั้นตอนเช่นเดียวกับ ESP8266 ในทุกกรณี ที่นี่ไฟ Sonoff ถูกนำไปใช้กับบอร์ดผ่านแหล่งจ่ายไฟ DC 3v3 ที่เสถียรภายนอกและไม่ได้มาจากแหล่งจ่ายไฟหลัก จำเป็นต้องใช้ USB กับอุปกรณ์ซีเรียลเพื่อส่งและรับข้อมูลไปและกลับจาก Sonoff เชื่อมต่อ TX และ RX ตามที่แสดงในรูปที่ 2 และ 4

ขั้นตอนการเขียนโปรแกรม (ทั่วไป)

  1. อันดับแรก ตรวจสอบให้แน่ใจว่าไม่มีแหล่งจ่ายไฟหลักภายนอกที่ใช้กับ Sonoff
  2. กดปุ่มบนอุปกรณ์ Sonoff ค้างไว้ (รูปที่ 1 ด้านบน ทำเครื่องหมายปุ่มแฟลชใหม่)
  3. ใช้แหล่งจ่ายไฟ DC 3v3 ภายนอกกับพิน 1 (รูปที่ 2 ด้านบน)
  4. ปล่อยปุ่ม Sonoff
  5. ขณะนี้อุปกรณ์สามารถตั้งโปรแกรมใหม่ได้ตามปกติผ่าน Arduino IDE

เพื่อให้ง่ายขึ้นเล็กน้อย ฉันได้สร้างอุปกรณ์การเขียนโปรแกรมด้านบน (รูปที่ 3 และ 4) ซึ่งเชื่อมต่อกับ Sonoff ผ่านสายรัด SK1…3 (ตามที่อธิบายไว้ในขั้นตอนที่ 1 ของคำแนะนำนี้) ทำให้สามารถตั้งโปรแกรม ESP8266 ได้ง่ายขึ้น นอกจากนี้ยังมีวิธีทดสอบ GPIO14 เป็นอินพุตผ่านการใช้ตัวต้านทานแบบดึงขึ้น R1 a 4K7 และปุ่ม S1

การใช้อุปกรณ์การเขียนโปรแกรมด้านบน (ภาพที่ 3 และ 4) ขั้นตอนการเขียนโปรแกรมคือ

  1. กดปุ่มรีแฟลชบน Sonoff ค้างไว้
  2. พัลส์การจ่าย 3v3 โดยกด S2 ชั่วขณะ
  3. ปล่อยปุ่มแฟลชซ้ำ
  4. สามารถตั้งโปรแกรมอุปกรณ์ได้แล้ว

หมายเหตุ - คำเตือน

ไม่ควรจ่ายไฟผ่าน Mains ในระหว่างกิจกรรมการตั้งโปรแกรมใหม่ของ Sonoff

ขั้นตอนที่ 5: ภาพรวมระบบซอฟต์แวร์

ภาพรวมระบบซอฟต์แวร์
ภาพรวมระบบซอฟต์แวร์
ภาพรวมระบบซอฟต์แวร์
ภาพรวมระบบซอฟต์แวร์

อุปกรณ์ IoT Mains Controller นี้โดยส่วนใหญ่มีส่วนประกอบซอฟต์แวร์หลักหกชิ้นเช่นเดียวกับใน WiFi IoT Temperature and Humidity Sensor ที่สั่งสอนได้ Part: 8 IoT, Home Automation และแสดงในรูปที่ 1 ด้านบน พร้อมการปรับแต่งบางส่วน

SPIFFS

นี่คือ (อัปเกรดเป็น 4MBytes) ออนบอร์ด SPI Flash Filing System และใช้เพื่อเก็บข้อมูลต่อไปนี้ (ดูรูปที่ 2 ด้านบน);

  • ไอคอนและ 'หน้าแรกการกำหนดค่าตัวควบคุมหลัก' html: ให้บริการโดยอุปกรณ์ IoT เมื่อไม่สามารถเชื่อมต่อกับเครือข่าย IoT WiFi ของคุณ (โดยปกติเนื่องจากข้อมูลความปลอดภัยที่ไม่ถูกต้อง) และมอบวิธีการกำหนดค่าตัวควบคุมหลักจากระยะไกลให้กับผู้ใช้โดยไม่ใช้ จำเป็นต้องตั้งโปรแกรมใหม่หรืออัปโหลดเนื้อหา SPIFFS ใหม่
  • ข้อมูลความปลอดภัย: เก็บข้อมูลที่ใช้ในการเปิดเครื่องโดยอุปกรณ์ IoT เพื่อเชื่อมต่อกับเครือข่าย IoT WiFi และนายหน้า MQTT ข้อมูลที่ส่งผ่าน 'หน้าแรกการกำหนดค่าตัวควบคุมหลัก' จะถูกเขียนลงในไฟล์นี้ ('secvals.txt')

หมายเหตุ: ในการตั้งค่าอุปกรณ์ในขั้นต้น โปรดดูรายละเอียดทั้งหมดเกี่ยวกับวิธีใช้ SPIFFS กับ Arduino IDE ที่นี่

เซิร์ฟเวอร์ mDNS

ฟังก์ชันนี้ถูกเรียกใช้เมื่ออุปกรณ์ IoT ไม่สามารถเชื่อมต่อกับเครือข่าย WiFi ของคุณเป็นสถานี WiFi และกลายเป็นจุดเชื่อมต่อ WiFi ที่คล้ายกับเราเตอร์ WiFi ในประเทศแทน ในกรณีของเราเตอร์ดังกล่าว คุณมักจะเชื่อมต่อโดยป้อนที่อยู่ IP เช่น 192.168.1.1 (ปกติจะพิมพ์บนฉลากที่ติดอยู่ในกล่อง) ลงในแถบ URL ของเบราว์เซอร์โดยตรง จากนั้นคุณจะได้รับหน้าเข้าสู่ระบบเพื่อเข้าสู่ ชื่อผู้ใช้และรหัสผ่านเพื่อให้คุณสามารถกำหนดค่าอุปกรณ์ สำหรับ ESP8266 ในโหมด AP (โหมดจุดเข้าใช้งาน) อุปกรณ์จะมีค่าเริ่มต้นเป็นที่อยู่ IP 192.168.4.1 อย่างไรก็ตาม เมื่อเซิร์ฟเวอร์ mDNS ทำงาน คุณจะต้องป้อนชื่อที่เป็นมิตรต่อมนุษย์ 'MAINSCON.local' ลงในแถบ URL ของเบราว์เซอร์เพื่อดู 'หน้าแรกการกำหนดค่าตัวควบคุมหลัก'

ลูกค้า MQTT

ไคลเอ็นต์ MQTT มีฟังก์ชันที่จำเป็นทั้งหมดเพื่อ เชื่อมต่อกับโบรกเกอร์ MQTT เครือข่าย IoT ของคุณ สมัครรับหัวข้อที่คุณเลือก และเผยแพร่เพย์โหลดไปยังหัวข้อที่กำหนด ในระยะสั้นจะจัดเตรียมฟังก์ชันหลักของ IoT

เว็บเซิร์ฟเวอร์

ดังที่กล่าวไว้ข้างต้น หากอุปกรณ์ IoT ไม่สามารถเชื่อมต่อกับเครือข่าย WiFi ที่มี SSID, P/W ฯลฯ ถูกกำหนดไว้ในไฟล์ข้อมูลความปลอดภัยที่อยู่ใน SPIFFS อุปกรณ์จะกลายเป็นจุดเข้าใช้งาน เมื่อเชื่อมต่อกับเครือข่าย WiFi ที่จุดเข้าใช้งานแล้ว การมีอยู่ของเว็บเซิร์ฟเวอร์ HTTP จะทำให้คุณสามารถเชื่อมต่อโดยตรงกับอุปกรณ์และเปลี่ยนการกำหนดค่าผ่านการใช้เว็บเบราว์เซอร์ HTTP ซึ่งมีจุดประสงค์เพื่อให้บริการ 'การกำหนดค่าตัวควบคุมหลัก หน้าเว็บของหน้าแรกซึ่งจัดอยู่ใน SPIFFS ด้วย

สถานี WiFi

ฟังก์ชันนี้ช่วยให้อุปกรณ์ IoT สามารถเชื่อมต่อกับเครือข่าย WiFi ภายในประเทศโดยใช้พารามิเตอร์ในไฟล์ข้อมูลความปลอดภัย หากไม่มีอุปกรณ์ IoT ของคุณจะไม่สามารถสมัคร/เผยแพร่ไปยังโบรกเกอร์ MQTT

จุดเชื่อมต่อ WiFi

ความสามารถในการเป็น WiFi Access Point เป็นวิธีที่อุปกรณ์ IoT อนุญาตให้คุณเชื่อมต่อและทำการเปลี่ยนแปลงการกำหนดค่าผ่านสถานี WiFi และเบราว์เซอร์ (เช่น Safari บน Apple iPad) จุดเชื่อมต่อนี้เผยแพร่ SSID = "MAINSCON" + 6 หลักสุดท้ายของที่อยู่ MAC ของอุปกรณ์ IoT รหัสผ่านสำหรับเครือข่ายปิดนี้มีชื่อว่า 'PASSWORD' ในจินตนาการ

ขั้นตอนที่ 6: ภาพรวมซอฟต์แวร์

ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์
ภาพรวมซอฟต์แวร์

Preamble ในการคอมไพล์ซอร์สโค้ดนี้ให้สำเร็จ คุณจะต้องมีไลบรารีเพิ่มเติมดังต่อไปนี้

PubSubClient.h

  • โดย: Nick O'Leary
  • วัตถุประสงค์: ทำให้อุปกรณ์สามารถเผยแพร่หรือสมัครสมาชิกหัวข้อ MQTT กับโบรกเกอร์ที่กำหนด
  • จาก:

Bounce2.h

  • โดย: Thomas O Fredericks
  • วัตถุประสงค์: สวิตช์อินพุตดีเด้งในซอฟต์แวร์
  • จาก:

ภาพรวมรหัส

ซอฟต์แวร์ใช้ประโยชน์จากเครื่องสถานะดังแสดงในรูปที่ 1 ด้านบน (สำเนาเต็มของแหล่งที่มาด้านล่าง) มี 5 รัฐหลักดังนี้

  • ในนั้น

    สถานะการเริ่มต้นนี้เป็นสถานะแรกที่ป้อนหลังจากเปิดเครื่อง

  • NOCONFIG

    สถานะนี้จะถูกป้อนหากตรวจพบไฟล์ secvals.txt ที่ไม่ถูกต้องหรือหายไปหลังจากเปิดเครื่องแล้ว

  • รอดำเนินการ NW

    สถานะนี้เป็นสถานะชั่วคราว ป้อนในขณะที่ไม่มีการเชื่อมต่อเครือข่าย WiFi

  • MQTT ที่รอดำเนินการ

    สถานะนี้เป็นสถานะชั่วคราว ป้อนหลังจากทำการเชื่อมต่อเครือข่าย WiFi และในขณะที่ไม่มีการเชื่อมต่อกับนายหน้า MQTT บนเครือข่ายนั้น

  • คล่องแคล่ว

    นี่เป็นสถานะการทำงานปกติที่ป้อนเมื่อสร้างการเชื่อมต่อเครือข่าย WiFi และ MQTT Broker แล้ว อยู่ในช่วงนี้ Mains Controller จะเผยแพร่ไปยัง MQTT Broker และรับคำสั่งผ่านหัวข้อที่สมัครไว้

เหตุการณ์ที่ควบคุมการเปลี่ยนแปลงระหว่างรัฐได้อธิบายไว้ในรูปที่ 1 ด้านบน การเปลี่ยนผ่านระหว่างรัฐยังควบคุมโดยพารามิเตอร์ SecVals ต่อไปนี้

  • ที่อยู่ IP ของโบรกเกอร์ MQTT ที่ 1 ในรูปแบบจุดทศนิยม AAA. BBB. CCC. DDD
  • พอร์ตนายหน้า MQTT แห่งที่ 2 ในรูปแบบจำนวนเต็ม
  • พยายามเชื่อมต่อ MQTT Broker ครั้งที่ 3 ก่อนที่จะเปลี่ยนจากโหมด STA เป็นโหมด AP ในรูปแบบจำนวนเต็ม
  • SSID เครือข่าย WiFi ที่ 4 ในข้อความรูปแบบอิสระ
  • รหัสผ่านเครือข่าย WiFi ที่ 5 ในข้อความรูปแบบอิสระ

ตามที่กล่าวไว้ข้างต้น หากอุปกรณ์ IoT ไม่สามารถเชื่อมต่อเป็นสถานี WiFi กับเครือข่าย WiFi ที่เป็น SSID และ P/W ที่กำหนดไว้ใน secvals.txt ที่อยู่ใน SPIFFS อุปกรณ์จะกลายเป็นจุดเข้าใช้งาน เมื่อเชื่อมต่อกับจุดเชื่อมต่อนี้แล้วจะแสดง 'หน้าแรกการกำหนดค่าตัวควบคุมหลัก' ดังที่แสดงด้านบนในรูปที่ 2 (โดยป้อน 'MAINSCON.local' หรือ 192.168.4.1 ลงในแถบที่อยู่ URL ของเบราว์เซอร์ของคุณ) โฮมเพจนี้อนุญาตให้กำหนดค่าคอนโทรลเลอร์ไฟหลักใหม่ผ่านเบราว์เซอร์

แบบแผนการตั้งชื่อหัวข้อ MQTT

โครงร่างในรูปที่ 3 ด้านบนเป็นแบบแผนการตั้งชื่อที่ใช้สำหรับหัวข้อ MQTT และสอดคล้องกับรูปแบบที่ใช้ใน Instructable ก่อนหน้าของฉัน (ที่นี่ขั้นตอนที่ 5)

หัวข้อ MQTT ที่ใช้โดยอุปกรณ์ IoT นี้

เพื่อความชัดเจนฉันได้จัดทำเอกสาร (รูปที่ 4) หัวข้อและลำดับข้อความที่เกี่ยวข้องที่อุปกรณ์นี้เผยแพร่/สมัครรับข้อมูล ภาพยังแสดงให้เห็นการโต้ตอบกับปุ่มควบคุมสีขาวที่ด้านนอกของตัวเครื่อง (แม้ว่าปุ่มจะแสดงเป็นสีแดงแดกดันก็ตาม)

การเข้าถึงการกำหนดค่าระยะไกลขณะอยู่ในสถานะ ACTIVE

เมื่อเชื่อมต่อกับ MQTT Broker แล้ว คุณสามารถกำหนดค่าพารามิเตอร์ความปลอดภัยจากระยะไกลใหม่สำหรับอุปกรณ์ผ่านการเผยแพร่หัวข้อ MQTT ไฟล์ที่เกี่ยวข้อง secvals.txt เปิดเผยการเข้าถึงแบบเขียนเท่านั้น

ผู้ใช้ดีบัก

ระหว่างลำดับการบู๊ต อุปกรณ์ Sonoff จะให้ข้อเสนอแนะในการดีบักต่อไปนี้ แม้ว่าควรสังเกตว่า หากต้องการดูสิ่งนี้ คุณจะต้องถอดฝาครอบออกและเปิดวงจร ดังนั้นแนะนำให้ทำเช่นนั้นในขณะที่พัฒนาโค้ดและเปิดเครื่องเท่านั้น ด้วยอุปทาน 3v3;

  • 1 แฟลชสั้น: ไม่มีไฟล์ Config อยู่ใน SPIFFS (secvals.txt)
  • 2 กะพริบสั้น ๆ: อุปกรณ์ IoT กำลังพยายามเชื่อมต่อกับเครือข่าย WiFi,
  • ไฟส่องสว่างต่อเนื่อง: อุปกรณ์ Sonoff IoT กำลังพยายามเชื่อมต่อกับโบรกเกอร์ MQTT
  • ปิด: อุปกรณ์เปิดใช้งานอยู่และเชื่อมต่อกับโบรกเกอร์ MQTT

หมายเหตุ 1: 'หน้าแรกการกำหนดค่าตัวควบคุมหลัก' ไม่ได้ใช้ซ็อกเก็ตที่ปลอดภัย ดังนั้นจึงอาศัยเครือข่ายของคุณที่ปลอดภัย

หมายเหตุ 2: ในการตั้งโปรแกรมอุปกรณ์ IoT หลายเครื่อง สตริง MQTT จะต้องมีการแก้ไขก่อนที่จะดาวน์โหลดไปยังแต่ละอุปกรณ์ เนื่องจากหมายเลขรหัสของตัวควบคุมหลักถูกฝังลงในสตริงหัวข้อ MQTT เช่น. ในซอฟต์แวร์ที่เผยแพร่ ฉันเลือกค่า 100: 'WFD/MainsCont/100/Relay/Command/1' และสำหรับอุปกรณ์ 2 เครื่องของฉันจะมีหมายเลข 1 & 2 ตามลำดับ

  • 'WFD/MainsCont/1/รีเลย์/คำสั่ง/1'
  • 'WFD/MainsCont/2/รีเลย์/คำสั่ง/1'

หมายเหตุ 3: เพื่อความสมบูรณ์เมื่ออยู่ในสถานะ ACTIVE ซอฟต์แวร์ IoT ช่วยให้สามารถควบคุม Sonoff LED และเผยแพร่สถานะของปุ่มรีแฟลชได้ แม้ว่าสิ่งเหล่านี้จะมีค่าในระหว่างกระบวนการดีบักเท่านั้น เนื่องจากผู้ใช้จะไม่เปิดเผยต่อระหว่างการทำงานปกติ

ขั้นตอนที่ 7: การกำหนดค่า OpenHAB

การกำหนดค่า OpenHAB
การกำหนดค่า OpenHAB
การกำหนดค่า OpenHAB
การกำหนดค่า OpenHAB
การกำหนดค่า OpenHAB
การกำหนดค่า OpenHAB

เพื่อวัตถุประสงค์ในการทดสอบ ฉันตัดสินใจที่จะปรับใช้ตัวควบคุมหลักสองตัวใน 'ห้องนั่งเล่น' ในบ้านของฉัน หน้า OpenHAB นี้สามารถเข้าถึงได้ผ่านทางหน้าเว็บไซต์หลักดังรูปที่ 1

ฉันแก้ไขการกำหนดค่า OpenHAB.sitemap ที่ให้ไว้ในคำสั่งก่อนหน้าของฉัน (ที่นี่) และเพิ่มแต่ละรายการสำหรับ 'Mains Controller 1' และ 'Mains Controller 2' (รูปที่ 2 ด้านบน) ฉันยังเพิ่มรายการ (Living Room Mains Cont. 1 & 2) เพื่อแสดง RSSI Trends ที่วัดที่เครื่องรับของอุปกรณ์ IoT ใหม่สองเครื่อง (รูปที่ 3)

สุดท้าย ฉันได้เพิ่มรายการลงในไฟล์.rules และ.items เพื่ออนุญาตการซิงโครไนซ์สถานะไดนามิกของ Sonoff และการอัปเดต/แอนิเมชั่นของความพยายามที่ไม่ดีของฉันที่กราฟิกสวิตช์ (สวิตช์จะปิดเมื่อเปิดใช้งานและเปิดขึ้นเมื่อไม่ได้ใช้งาน) Pic 2 ให้ตัวอย่างของ MC1 ที่ใช้งานอยู่และ MC2 ที่ไม่ใช้งาน

หมายเหตุ 1: หากคุณไม่แน่ใจว่าจะใช้ OpenHAB อย่างไร ให้ดูที่นี่ 'การตั้งค่าและกำหนดค่า OpenHAB ตอนที่ 6: IoT โฮมออโตเมชั่น'

หมายเหตุ 2: สำเนาของแผนผังเว็บไซต์ กฎและไฟล์รายการ ที่แก้ไข ไอคอน ฯลฯ จะได้รับในไฟล์ zip ด้านล่าง

หมายเหตุ 3: RSSI = การบ่งชี้ความแรงของสัญญาณที่ได้รับ นี่คือการวัดว่าอุปกรณ์ IoT สามารถเห็นเครือข่าย WiFi ของคุณได้ดีเพียงใด

ขั้นตอนที่ 8: ทดสอบอุปกรณ์ IoT ของคุณ

Image
Image
การทดสอบอุปกรณ์ IoT ของคุณ
การทดสอบอุปกรณ์ IoT ของคุณ

ตามที่อธิบายไว้ใน WiFi IoT Temperature and Humidity Sensor ที่สอนได้ ส่วนที่: 8 IoT, Home Automation ขั้นตอนที่ 7, การทดสอบเบื้องต้นของอุปกรณ์ IoT ถูกดำเนินการผ่านการเชื่อมต่อ MQTT ผ่าน MQTT Spy (ดังในรูปที่ 1 ของระบบบล็อกไดอะแกรมด้านบน), การตรวจสอบเอาต์พุต LED, อินพุตของปุ่ม (ทั้งปุ่ม Sonoff re-flash และ ปุ่มภายนอกสีขาว) และแก้ปัญหาการรับส่งข้อมูลบนอินเทอร์เฟซแบบอนุกรม สิ่งนี้ทำให้ฉันใช้หัวข้อที่สมัครรับข้อมูลทั้งหมดและตรวจสอบคำตอบที่เผยแพร่ แม้ว่าอีกครั้ง การดำเนินการนี้ดำเนินการด้วยตนเองและใช้เวลานาน แม้ว่าจะสามารถครอบคลุมข้อความ/สิ่งพิมพ์หัวข้อได้ 100%

เนื่องจากเครื่องระบุสถานะซอฟต์แวร์หลัก (ขั้นตอนที่ 6 ด้านบน) ได้รับการสืบทอดมาจากคำสั่งสอนก่อนหน้านี้ (ตอนที่ 8) นอกเหนือจากการตรวจสอบสติ ซอฟต์แวร์สามารถเชื่อมต่อกับ WiFi N/W และโบรกเกอร์ MQTT จึงถือว่าสิ่งนี้ทำงานอย่างถูกต้อง

การทดสอบระดับระบบทั้งหมดเสร็จสิ้นโดยใช้ตัวควบคุมหลักและโครงสร้างพื้นฐาน IoT (อีกครั้ง รูปที่ 1) ในครั้งนี้โดยใช้ OpenHAB เพื่อควบคุมการโต้ตอบกับอุปกรณ์ IoT ฮาร์ดแวร์ IoT และการตั้งค่าโหลดจำลองสามารถดูได้ในรูปที่ 2 ด้านบน

วิดีโอให้รายละเอียดที่สมบูรณ์ของการทดสอบระบบและแสดงการซิงโครไนซ์ที่ได้รับการดูแลระหว่างอุปกรณ์ OpenHAB (PC/Chrome และ iPad/OpenHAB APP) แบบเรียลไทม์อย่างชัดเจน นอกจากนี้ยังแสดงข้อความสดไปยัง Mains Controllers ผ่าน MQTTSpy (ดูรายละเอียดเพิ่มเติมที่นี่ การตั้งค่านายหน้า MQTT ส่วนที่ 2: IoT, Home Automation) และบันทึกระบบ OpenHAB tailed จากเซิร์ฟเวอร์ raspberry pi ผ่านการเชื่อมต่อ PuTTY SSH (ดูที่นี่สำหรับข้อมูลเพิ่มเติม รายละเอียด การตั้งค่าและกำหนดค่า OpenHAB ตอนที่ 6: IoT, Home Automation)

หมายเหตุ: มีการรวบรวมทราฟฟิกดีบักสำหรับซอฟต์แวร์รุ่นสุดท้าย

ขั้นตอนที่ 9: สรุป

ทั่วไป

โครงการค่อนข้างง่ายที่จะเสร็จสมบูรณ์และทำงานได้ดี ซอฟต์แวร์แบบฝังตัวนั้นง่ายต่อการผลิต โดยเป็นเวอร์ชันที่ตัดทอนของโค้ดที่ใช้สำหรับเซ็นเซอร์อุณหภูมิและความชื้นของส่วนที่ 8 ในชุดนี้

ตอนแรกตั้งใจจะซื้อเฉพาะชิ้นส่วนสีขาวเพื่อความสวยงามเท่านั้น ฉันทำได้ทุกอย่างยกเว้นปุ่มควบคุม พยายามเท่าที่จะทำได้ ฉันไม่สามารถหาปุ่มสีขาวที่ทั้งถูกและดีได้

อุปกรณ์ Sonoff 10A

ฉันได้ระบุไว้ด้านล่างสิ่งที่ฉันรู้สึกว่าเหมาะสมข้อดีและข้อเสียของอุปกรณ์ Sonoff

ข้อดี

  • ราคาถูก.
  • การสนับสนุนชุมชนที่ดี
  • สามารถตั้งโปรแกรมใหม่ผ่าน Arduino IDE ได้

ข้อเสีย

  • ตู้ที่บอบบาง
  • I/O ขั้นต่ำ (นำไปใช้กับตัวเชื่อมต่อที่ใช้งานได้)
  • มันร้อนในสภาวะที่สงบนิ่ง
  • มีแฟลช SPI ออนบอร์ดเพียง 1MByte
  • เป็น PITA ที่จะตั้งโปรแกรมใหม่เมื่อต่อสายเข้าที่แล้ว
  • เมื่อรวมรหัสใหม่เข้ากับการทดสอบ Sonoff การปิดรีเลย์มีปัญหาเนื่องจากรีเลย์เป็น 5v และแหล่งจ่ายไฟที่ใช้กับ Sonoff สำหรับการเขียนโปรแกรมคือ 3v3 การเปิดใช้งานรีเลย์สามารถรับรู้ได้เฉพาะกับหูเท่านั้น

ความกังวล

  • มันไม่ได้เปลี่ยนเส้นเป็นกลาง ใช้รีเลย์ SPST
  • ไม่ได้หลอมรวม
  • สายเคเบิลคลายเครียดไม่ดี
  • PCB ไม่ได้รับการรักษาความปลอดภัยภายในกล่องหุ้ม Sonoff

ความคิดเห็นเกี่ยวกับการออกแบบทางวิศวกรรม

เนื่องจากอุปกรณ์ IoT นี้จะต้องใช้ในการเปลี่ยนสายไฟหลักของสหราชอาณาจักร (240VAC RMS) ฉันจึงปฏิบัติตามทั้งแนวปฏิบัติด้านการออกแบบทางกลและทางไฟฟ้าที่ดีและรับประกันความเสี่ยงที่จะเกิดการกระแทกน้อยที่สุดโดยไม่เปิดเผยวัสดุที่นำไฟฟ้าใด ๆ มากกว่าการระบุส่วนประกอบทั้งหมด การลดพิกัด โหลดเอาท์พุต, ใช้การป้องกันฟิวส์กับทั้งตัวควบคุมหลักและระบบย่อยแบบออปโต-คัปปลิ้ง, การรวมการต่อลงดินที่ดี และการใช้การแยกแสง/กัลวานิก

การปรับปรุงที่เป็นไปได้

เมื่อเข้าใจถึงปัญหาย้อนหลัง จะเป็นประโยชน์ที่จะรวมการบ่งชี้ด้วยภาพว่าเอาต์พุตของ Mains Controller ทำงานอยู่ (LED หรือ Neon) แม้ว่าจะไม่ใช่ปัญหาในการใช้งานทุกวัน แต่เนื่องจากแนวทางปฏิบัติมาตรฐานในการแยกโหลดออกจากแหล่งจ่ายไฟก่อนดำเนินการบำรุงรักษาใดๆ หรือเพียงแค่กดปุ่มควบคุมในพื้นที่อย่างง่าย ๆ จะสลับเอาต์พุตในกรณีที่หลอดไฟอาจติดสว่างเมื่อเสียบปลั๊ก

บันทึกสุดท้าย

หากคุณต้องการดูตัวอย่างที่ไม่ดีมากสองตัวอย่างในการจัดการกับไฟฟ้าหลัก โปรดดูที่ลิงก์ด้านล่าง รางวัลดาร์วินของพวกเขาจะอยู่ในโพสต์เร็วๆ นี้ ฉันค่อนข้างแน่ใจ

  • สายต่อนักวิทยาศาสตร์บ้า
  • ความคิดเห็นของชุมชน 03 - ความกังวลเรื่องความปลอดภัยของพลังงาน!

ขั้นตอนที่ 10: ข้อมูลอ้างอิงที่ใช้

ฉันใช้แหล่งข้อมูลต่อไปนี้เพื่อรวบรวมคำแนะนำนี้

PubSubClient.h

  • โดย: Nick O'Leary
  • วัตถุประสงค์: ทำให้อุปกรณ์สามารถเผยแพร่หรือสมัครสมาชิกหัวข้อ MQTT กับโบรกเกอร์ที่กำหนด
  • จาก:

Bounce2.h

  • โดย: Thomas O Fredericks
  • วัตถุประสงค์: สวิตช์อินพุตดีเด้งในซอฟต์แวร์
  • จาก:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

กำลังอัพเกรด Sonoff flash

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Sonoff Circuit Diagram

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

โมดูล USB UART (aka. FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e:g:QVUAAOSw71BXP92B

รางวัลดาร์วิน (โล่งอก)

https://www.darwinawards.com/

เอกสารข้อมูลออปโตไอโซเลเตอร์ TIL111

แนะนำ: