เปิด/ปิดแอร์ผ่านมือถือด้วย WeMos D1 Mini (ESP8266)

จากบทความที่แล้ว ตรวจวัดอุณหภูมิห้องด้วย WeMos D1 Mini (ESP8266) แจ้งเข้า LINE ก็ได้คำแนะนำและกำลังใจเกินความคาดหมาย จึงมีแรงดีดให้รีบรื้อโปรเจกต์เก่าที่คิดไว้แต่ไม่ลงมือทำสักทีนั่นคือ รีโมตแอร์ด้วยมือถือ แต่นั่นแหละครับ คิดไว้นานแต่ไม่ลงมือก็ไม่ได้ผลลัพธ์สักที เอาหล่ะเพื่อไม่เป็นการเสียเวลา ไปดูรายละเอียดกันเลยดีกว่าครับ

 

มันจะทำอะไรได้บ้าง

  • เปิด / ปิดแอร์ ยี่ห้อ LG ผ่านมือถือได้
  • เปิด / ปิดแอร์ ยี่ห้อ LG ผ่านคอมพิวเตอร์ได้
  • ตั้งอุณหภูมิ 20°C และ 25°C ได้
  • ควบคุมจากระบบเน็ตเวิร์กภายใต้ Wi-Fi เดียวกัน

 

ใช้อุปกรณ์อะไรบ้าง

  • WeMos D1 mini
  • KY-005 Infrared emission sensor
  • Wire
  • Breadboard

 

 

เริ่มเลย!

ต่อสาย

ต่อสายตามนี้ได้เลยครับ ตัว sensor ใช้ไฟ 5V ได้ตามปกติ แต่เวลานำไปใช้ ต้องเล็ง sensor ให้ตรงกับแอร์เป๊ะ ๆ เลยนะครับ

  • IR Emission + <–> WeMos 5V
  • IR Emission – <–> WeMos G
  • IR Emission Data <–> WeMos D3

 

 

 

 

 

เขียนโปรแกรมควบคุม

ในบทความนี้ผมได้ศึกษาจากตัวอย่าง Infrared remote library for ESP8266 ซึ่งมีวิธีการสร้าง Server เพื่อรองรับการรับ parameter เป็นรหัสของรีโมตแอร์ และส่งรหัสนั้นผ่าน IR Emission Sensor ไปยังแอร์อีกที และผมเองก็ได้ค้นหาจนเจอรหัสที่จะใช้งาน ในที่นี้คือแอร์ยี่ห้อ LG ดังนี้ ส่วนยี่ห้ออื่น ๆ ในตัวอย่างก็มีนะครับ ลองค้น ๆ ดู

  • เปิด = 142607621
  • ปิด = 143392849
  • ปรับอุณหภูมิเป็น 20°C = 142640397
  • ปรับอุณหภูมิเป็น 25°C = 142641666

 

ให้แทนที่ Wifi SSID และ Password ลงไปในโค้ด เสร็จแล้วก็สั่งอัปโหลดได้เลยครับ อ้อ สำหรับ UI ผมตัดส่วนตกแต่งออกนะครับ เกรงว่าเอาขึ้นออนไลน์แล้วจะถูกท้วงติงเรื่องลิขสิทธิ์อีก แต่ถ้าท่านไหนสนใจหลังไมก์มาพูดคุยกันได้ครับ 🙂

 

ส่วนรหัส bits ของแต่ละยี่ห้อ ผมไปค้นในโค้ด library ออกมาให้ ได้ตามนี้ครับ ในตัวอย่างของผมเป็น LG เลยใช้ คำสั่ง irsend.sendLG(code, 28);

ยี่ห้อ Bit ตัวอย่างคำสั่ง
NEC 32 sendNEC(data, nbits)
SONY 12 sendSony(data, nbits)
JVC 16 sendJVC(data, nbits, 0)
LG 28 sendLG(data, nbits)
SAMSUNG 32 sendSAMSUNG(data, nbits)
WHYNTER 32 sendWhynter(data, nbits)
COOLIX 3 sendCOOLIX(data, nbits)
DAIKIN 99 ***มีท่าเฉพาะตัว ตามนี้เลย

 

ผลการทำงาน

อัปโหลดโค้ดลง WeMos แล้งเปิด Serial Monitor ขึ้นมา (Ctrl + Shift + M) ให้ดูที่บรรทัด IP address นั่นแหละ ให้นำเลขที่เห็นมาใช้งาน ในตัวอย่างของผมคือ 192.168.1.37

 

หยิบมือถือมาแล้วเปิด browser ไปที่ 192.168.1.37

 

หรือจะไปที่คอมแล้วเปิด browser ไปที่ 192.168.1.37 เช่นกัน

 

ผมถ่ายวิดีโอมาให้ดู มือสั่น ๆ หน่อยนะครับ ดึกด้วย จับไม่ถนัดด้วย เดี๋ยวแก้ตัวใหม่บทความหน้าครับ 😛

เปิด CC ด้วยนะครับ ผมพิมพ์บรรยายไว้ให้อ่านด้วย

 


อ้างอิงและขอบคุณ

 


 

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