0229 | ทำบ้าน(เกือบ)ฉลาด

Tuesday, December 12th, 2017 Posted in Misc | No Comments »

มีบ้านเป็นของตัวเองละครับ เลยมีที่ให้ลองเล่นของเล่นโน่นนี่นั่น ที่อยากทำมานานแล้วก็ไอ้เจ้า smart home นี่แหละ แต่ความที่หลายๆ ยี่ห้อมันอันโน้นก็ขาด อันนี้ก็ไม่ครบ ก็เลยต้องทำเพิ่มเองโขเลย กินเวลาไปร่วม 3 เดือนกว่าจะ(เกือบ)เสร็จ

อุปกรณ์ตอนนี้

  • เน็ต ที่มี public ip หรือถ้ามี Server ที่มี Public IP (ใช้ VPS ก็ได้) อยู่แล้วก็ใช้แทนกันได้ ไม่แนะนำให้เช่า vps มาเพื่อทำ (แพงกว่าหา public ip ให้เน็ตบ้านเยอะ)
  • Raspberry Pi 3
  • UPS ของ APC เอาแบบมี USB port จิ้มสถานะเข้าคอมได้
  • Xiaomi Multifunction Gateway
    หรือซื้อครั้งแรกแนะนำให้ซื้อเป็นเซ็ตอันนี้
  • Xiaomi Temperature & Humidity Sensor ตามจุดที่อยากจับอุณหภูมิ (หลักๆ ก็ทุกห้อง)
  • Xiaomi Magnet (Door & Window) Sensor ตามจำนวนประตู/หน้าต่าง
  • Xiaomi Smart Socket (Zigbee) อันนี้จริงๆ หาตัวอื่นก็พอได้ แต่อันนี้มันวัดกระแสไฟที่ใช้ได้ด้วย (รุ่น wifi วัดกระแสไม่ได้นะ) + พอดีจะใช้กับอันต่อไป
  • พัดลมดูดอากาศติดฝ้าเพดาน ไปซื้อมาจากโฮมโปรพันนึง เอามาต่อกะปลั๊กด้านบน
  • Broadlink RM Pro อันนี้หาเอาแถวๆ Shopee ถูก+เร็วกว่าสั่ง Aliexpress อีก
  • Broadlink TC2 switch สวิชไฟไร้สาย เชื่อมกะอันบน เอาแบบมาตรฐาน US นะครับ จะใส่กะเต้ารับในบ้านได้พอดี (พอดีมากๆ)
  • ประตูรั้วรีโมท หาที่ใช้ RF 433MHz นะครับ

ตั้งค่า Xiaomi Multifunction Gateway

  • ก่อนอื่นเลย ติดตั้ง app Mi Home ลงในมือถือก่อน
  • เลือก region เป็น China + สร้าง Account อะไรให้เรียบร้อย (เลือกภาษาอังกฤษได้นะ ถึงแม้ว่าหลายจุดยังเป็นจีนอยู่ก็เถอะ)
  • กดปุ่ม + มุมบนขวาเพิ่ม Device ใหม่
  • เลือก Add Manually > Gateway
  • กรอกรหัส wifi ต้องใช้ wifi 2.4 เท่านั้น อย่าเผลอกรอก wifi 5ghz ไปนะครับ reset เซ็ตใหม่ยากมาก T_T
  • มันจะพูดจีนใส่เรารัวๆ บันเทิงมาก
  • ถ้าเรียบร้อยดี เห็น gateway ในรายการอุปกรณ์แล้วก็แตะเข้ามาหน้าควบคุมอุปกรณ์ (ที่จะมีให้เปิดปิดไฟ) มุมบนขวามีไอคอนรูปจุดสามจุด (…) อยู่ แตะเข้าไปได้เลยครับ
  • มันจะเข้าเมนูเปลี่ยนชื่อ / up firmware อะไรพวกนี้ ให้เข้าเมนู About จะมีเมนู 2-3 อัน + ด้านล่างสุดจะมีเลข version อยู่ ให้แตะเลข version นี้รัวๆ จนมีเมนูลับโผล่มาอีก 2 อัน… local area network communication protocol กับ gateway information ให้แตะเข้า local area network communication protocol แล้วเปิดการทำงาน พร้อมกับจดรหัสผ่านไว้

ตั้งค่า Broadlink RM Pro

  • ติดตั้ง app e-Control กดเครื่องหมาย + แล้วเลือก Add device
  • กรอกข้อมูล Wifi อะไรให้เรียบร้อย เดี๋ยวมันเจอแล้วมันต่ออะไรให้เองหมดเลย
  • ไปติดตั้ง switch สารพัดอะไรให้เรียบร้อย แล้วกด + แล้วเลือก Add remote เข้าไว้ให้ครบ
  • จำประตูรั้วรีโมทได้ใช่มั้ยครับ หยิบรีโมทมาอยู่ใกล้ๆ ตัว RM Pro > กด Add remote แล้วเลือก User defined แล้ว Add action เสร็จแล้วกด Learn แล้วกดปุ่มบนรีโมทให้ประตูรั้วทำงานครับ
  • แล้วติดตั้ง app RM Plugin Lite ไว้อีกตัว
  • สลับไปที่แอพ e-Control กดเมนูขีดสามเส้น แล้วกด Share > Share to other phones in WLAN
  • สลับมาที่ app RM Plugin Lite กดเมนู General Settings แล้วเลือก Force import data from eControl
  • ติ๊กเปิด HTTP Bridge แล้วเข้า http://ip:9876/codes ก๊อป code ของรีโมทแต่ละตัวไว้
  • แปลง code จากเลขฐาน 16 เป็น binary > base64 encode (php ใช้ echo base64_encode(hex2bin(‘XXXXX’)); ได้เลย

ตั้งค่า HomeAssistant Server

  • ติดตั้ง Raspbian ลง Raspberry Pi
  • ติดตั้ง HomeAssistant
  • เพิ่ม device ลงไปใน configuration.yml
  • Xiaomi ประมาณนี้
xiaomi_aqara:
  discovery_retry: 5
  gateways:
  - key: รหัสผ่านที่จดไว้
  • Broadlink ประมาณนี้
switch:
- platform: broadlink
  host: 192.168.1.106
  mac: '34:ea:34:c7:8d:82'
  friendly_name: broadlink
  switches:
    livingroom_light1:
      friendly_name: "livingroom light1"
      command_on: "6RRGAN8JFgkW****************CRYJFgkAAUg="
      command_off: "6RRGAN8JFgkW****************CRYWCQkAAUg="
    front_light:
      friendly_name: "front light"
      command_on: "6RRGAN8JCRYW****************CRYWCRYJFgkJFgkAAUg="
      command_off: "6RRGAN8JFgkW****************CRYJFgkJFgkAAUg="

HomeAssistant จะ discover สารพัด sensor ของ Xiaomi ได้เองหมดเลย (สบายไป) เหลือก็ใส่ชื่อแซ่ให้มัน ซึ่งมาทำในหน้าเว็บก็ได้ หรือจะใส่ใน config file ก็ได้

Tags: , , ,