WiFi Switch 2020 รีเลย๋ 8 ตัว

โปรเจคนี้ ลงไปไม่รู้กี่รอบแล้ว ปรับเปลี่ยนไปเรื่อย ๆ เอาที่มัน สเถียรๆ หน่อย ก็มาจบลงตรงนี้ (ลึกๆ มันเกือบจะจบอะ)

Code : 8CH 21102563.rar (3.5 MB)

คุณสมบัติ (ที่ผมคิดเอง…5555)

  1. Config ค่า WiFi แบบอิสระโดยการกดปุ่ม AP Config ที่ข้างกล่อง
  2. ทำปุ่ม Reset สำหรับรีเซ็ต mcu ของ esp8266 และ arduino Mega พร้อมๆ กัน
  3. ใช้ arduino Mega เป็นตัวหลักในการเปิดปิด Relay สามารถทำงานต่อได้ในกรณีที่เกิดไฟฟ้าดับและไฟฟ้าติดขึ้นมา ด้วยการทำงานของรีเลย์จะทำงานตามลำดับ ห่างกันตัวละ 2 วินาที เพื่อไม่ให้รีเลย์ทำงานพร้อมกันและเกิดการกระชากกระแส และสามารถทำงานได้แม้ esp8266 ไม่สามารถเชื่อมต่อ WiFi ได้ หรือเชื่อมต่อ Blynk ไม่ได้ ดังนั้นจึงเปรียบได้ว่ามันสามารถทำงานได้แบบสวิทซ์ทั่วๆ ไป

4.ใช้ esp8266 เป็นตัวต่ออินเทอร์เน็ต WiFi เพื่อสั่งงานจาก blynk

  1. การทำงานของปุ่มกด จะสัมพันธ์กับปุ่มกดของ Blynk
3 Likes

ตอนนี้ติดตั้งจริงแล้วครับ ได้บุญครับ

ต่อไปเป็น แบบ​รีเลย์​ 10 ตัวครับ

เดี๋ยวตัวเต็มจะลงอีกทีครับ

สวยมากครับพี่ สาธุครับ

ขอบคุณที่แบ่งบันนะครับ

ตอนนี้นำไปติดตั้งแล้วครับ เจอปัญหาเยอะครับ เดี๋ยวจะเล่าให้ฟัง

1 Like

ปูเสื่อรอเลยครับ เผื่อเป็นปัญหาเดียวกัน จะได้แชร์การแก้ปัญหากัน ได้ครับ

บอกก่อนครับว่า เป็นงานรีบทำ มีเวลา 5 วันในการประกอบอุปกรณ์เข้าตู้ ทั้งงานเจาะ งานออกแบบ งานเดินสายวงจรข้างใน งานตกแต่ง งานติดตั้ง ก็รุมๆ กันมาเลยครับ แต่งานนี้ได้บุญครับ ขอบอก
ควบคุมแสงสว่าง (หลอดไฟ) 10 จุด โดยใช้ PB Sw. 10 ตัว ควบคุมร่วมกับ Blynk

  • ใช้ ์Node MCU ESP8266 ให้ทำหน้าที่เชื่อมต่อ WiFi + Internet เพื่อเชื่อม Blynk เช้ามาใช้งาน
  • ใช้ Arduino MEGA เป็น I/P PB Sw. 10 ตัว O/P relay 10 ตัว และ O/P LED 10 ตัว I/P DHT22 1 ตัว O/P เป็น Relay
  • อุปกรณ์ทั้ง 2 ตัว รับ - ส่งข้อมูลกันแบบ Serial

แนวคิด

  1. ต้องการให้ PB Sw. 10 ตัว เปิด-ปิด ควบคุมแสงสว่าง (หลอดไฟ) 10 จุด แทนการใช้สวิทซ์แบบปัจจุบันที่ใช้ตามบ้าน ดังนั้น จึงออกแบบให้ การควบคุมในลักษณะนี้ มาลงที่ Arduino MEGA แทน ทั้งหมด
    โดยถ้า ในการทำงานถ้า Node MCU ESP8266 มีปัญหา ก็ถอดออกไป แต่ Arduino MEGA ยังสามารถทำงานได้ปกติ เพียงแต่ต่อ Blynk ไม่ได้เท่านั้น
    ดังจึงเป็นเหตุผลของผมที่จะต้องเลือก Arduino MEGA เพราะต้องการ I/O มาก จบในตัวเดียว บวกกับการทำงานที่มีเงื่อนไขไม่มาก มันก็ทำงานแบบ เบาๆ สบายๆ ไม่หนักมาก

  2. ใช้ Node MCU ESP8266 ให้ทำหน้าที่เชื่อมต่อ WiFi + Internet เพื่อเชื่อม Blynk เช้ามาใช้งานเท่านั้น

หลังจากติดตั้งเสร็จ ทำการทดสอบ จะแสดงรายละเอียดของปัญญหาที่เจอดังนี้ คือ

  1. เนื่องจากเป็นงาน ติดตั้งแบบ กึ่งๆ Outdoor โอกาสถูกละอองฝน หรือฝนมีได้แน่นอน ก็ติดตั้งพัดลมระบายอากาศข้างใน ให้มีควบคุมการทำงานโดย DHT22 Input เข้า Arduino MEGA OUT มาเป็น Relay ไปตัดต่อพัดลมอีกที

    ปัญหาคือ Node MCU ESP8266 เชื่อมต่อ Blynk ประมาณ 30 นาที แล้วหลุด แต่ก็เชื่อมต่อได้ ในเวลาไม่เกิน 30 วินาที หลังจากนั้นจะหลุดบ่อยมากขึ้น ๆ จนไม่เชื่อมต่ออีกเลย และปุ่มกดก็ค้าง ไม่สามารถกดปิด หรือ เปิดได้อีก ต้อง Reset ใหม่ และมันก็จะวนกลับมาเจอปัญญหาเดิมอืก

การทดลองแก้ปัญหา (เอาแบบที่แก้แล้วได้ผลนะครับ ที่ไม่ได้ผลจะไม่เอามาลง)

  1. ตัด code ของ DHT22 ออกให้หมด และพัดลม 220 Vac ก็ต่อตรงเพื่อให้มันทำงานตลอด 24 ชม.
    ผลปรากฎว่า ปัญหาเรื่องของการกดปุ่มค้าง (ตอน Blynk หลุดและไม่สามารถเชื่อมต่อได้อีก) หายไป และไม่เกิดขึ้นอีกเลย
  2. Node MCU ESP8266 เชื่อมต่อ Blynk ประมาณ 30 นาที แล้วหลุด แต่ก็เชื่อมต่อได้ ในเวลาไม่เกิน 30 วินาที หลังจากนั้นจะหลุดบ่อยมากขึ้น ๆ จนไม่เชื่อมต่ออีกเลย ยังคงมีอยู่ จึงต้องข้อสัญนิษฐานคือ

ผู่อ่านอาจจะสงสัยว่า แล้วต่อ Internet มาทางไหน ก็จะบอกว่า ผมใช้ Access Point ของ D link เชื่อมต่อกับ
Switch Hub ของตู้ Control ของระบบกล้องวงจรปิด 6 ตัว ที่เค้ามีเหลืออยู่ ก็ขอเค้าเสียบ 1 ช่อง เพื่อ เอา IP มาใช้ กับ Access point ของเรา (ระบบกล้องวงจรปิด เค้าลากสายจาก Modem router หลัก ผ่านสาย Fiber optic เข้า Switch Hub ในตู้ของเค้า)

ขอนอนก่อนครับ…

1 Like

Ok ครับนี่คือรายการที่ผมเขียนขึ้นมา หลังจากที่เจอปัญหาก็คือว่า esp8266 กระพริบค้างเนื่องจากว่าไม่สามารถติดต่อเซิร์ฟเวอร์ของ Blynk ได้ จึงเข้าไปตรวจสอบระบบกับเพื่อนอีกครั้ง ก็พบว่าปัญหาเกิดจากระบบเครือข่ายที่ไม่แจก IP Address มาให้ เมื่อแจก IP Address มาไม่ได้อินเทอร์เน็ตก็ไม่มาทำให้ esp8266 ทำงานวนซ้ำกันไปเรื่อยๆ หลังจากที่เจอปัญหาแล้วก็ไปแก้ระบบที่ต้นทาง เพื่อที่จะทำให้ตัว Modem Router ต้นทางสามารถจ่ายตัว IP Address และอินเทอร์เน็ตมาได้ จากนั้นระบบก็ทำงานเป็นปกติ ที่นี้ก็จะเป็นการยืนยันว่าโค้ดที่ผมเขียนไปไม่ได้มีปัญหาแต่มีปัญหาที่ระบบ Wifi อินเตอร์เน็ตต่างหาก ซึ่งงานนี้ทำให้เสียขวัญเล็กน้อย เพราะมันบอกถึงความเชื่อถือของคนที่ใช้งานรอบนอกที่มองลงมาที่ระบบของเรา เพราะฉะนั้นถ้าหาสาเหตุไม่ได้ก็เท่ากับว่าเรายอมแพ้มัน ดังนั้นเมื่อพิสูจน์โดยใช้เครื่องมือต่างๆตามความสามารถที่มีแล้ว ก็พบปัญหาและแก้ไขไปได้ในระดับหนึ่งแล้วทีนี้ก็ต้องรอดูผลกันนะครับว่าจะมีปัญหาอะไรผิดตามมาอีก

จากที่ผมใช้เครื่องมือทดสอบ WiFi และอินเทอร์เน็ตที่ทำขึ้นมาผมพบว่าพื้นที่ที่ผมวาง อินเตอร์เน็ตมาบ้างไม่มาบ้างถ้ามา esp8266 ก็จะสามารถเชื่อมต่อ Application Blynk ได้ แต่ถ้าอินเทอร์เน็ตไม่มา esp8266 ก็จะมีการวนซ้ำเพื่อเชื่อมต่ออินเทอร์เน็ต ไปเรื่อยๆ ซึ่งใช้เวลานานมากก็ยังไม่สามารถที่จะเชื่อมต่อได้ผมเอาเครื่องมือทดสอบตัว WiFi เข้าไปเช็คดูแล้วกดว่าอินเทอร์เน็ตออฟบ่อยมากในพื้นที่นั้นจึงทำการย้ายพื้นที่ไปอีกพื้นที่หนึ่งเมื่อเปิดระบบขึ้นมา esp8266 ก็สามารถเชื่อมต่ออินเตอร์เน็ตได้เลยดังนั้นเครื่องมือทดสอบที่สร้างขึ้นมาก็มีประโยชน์มากในการที่จะตรวจสอบค่าพื้นที่นานๆ

1 Like

Update ครับ ตอนนี้ ระบบเสถียรเพิ่มขึ้นแล้วครับ แก้ทั้ง Code แก้ทั้ง ระบบเครื่อข่าย โดยการทดลองเปลี่ยน จาก Access point มาเป็น Modem router แทน ผลปรากฏว่า มันสามารถทำงานได้อย่างต่อเนื่องครับ



Code : 10CH 21102563.rar (7.1 MB)

2 Likes

เป็นอีกระดับของดีไซน์ตู้ควบคุม :star_struck: