สวัสดีครับ หลังจากที่ผมได้รีวีว Eufy Genie ลำโพงอัจฉริยะที่มี Alexa อยู่ สามารถดูรีวีวได้ที่นี่ แต่ Alexa ก็ไม่ค่อยตอบโจทย์ผมเท่าไหร่เพราะว่าผมเป็นคนใช้ iPhone ซึ่งสำหรับ iPhone การควบคุม Smart Home โดยใช้ HomeKit มันทำง่ายมาก แค่เลื่อน Control center ขึ้นมาก็ใช้ได้เลย ไม่จำเป็นต้องปลดล๊อคเครื่องหรือเข้าแอปอะไรทั้งนั้น ซึี่งทำให้มันสะดวกมากๆ แต่อย่างที่บอก อุปกรณ์ HomeKit มันค่อนข้างแพงและหายาก วันนี้เลยจะมาทำขึ้นเองโดยใช้ Raspberry Pi แต่เท่านั้นยังไม่พอ ผมจะทำให้มันใช้งานร่วมกับ Alexa ได้ด้วย! (ไหนๆ ก็ซื้อมาแล้วก็ต้องเอามาใช้ด้วยสิ 555)
อุปกรณ์
- Raspberry Pi 3 – คอมพิวเตอร์แบบ Single board
- Micro SD Card
- Mouse/Keyboard/หน้าจอ HDMI – สำหรับการเซทอัพ Raspberry Pi
- Relay board
- สายไฟ jumper
ตั้งค่า Raspberry Pi
Raspberry pi มันก็เหมือน Computer เครื่องนึงแหละ ต้องลง OS ก่อน ในที่นี้ผมจะลง Raspbian
- Download Raspbian OS ได้จากที่นี่ และทำการแตกไฟล์ zip
- ใช้โปรแกรม Win32 Disk Imager ในการแฟลช OS ลง SD การ์ด
- นำ Micro SD Card กลับไปเสียบที่ Pi หลังจากนั้น เสียบ Mouse,Keyboard,หน้าจอ และแหล่งจ่ายไฟ
- เปิดเครื่องมา ต่อ Wifi ของเรา(ดูวิธีได้ในวิดีโอ) หลังจากนั้นเปิดหน้า Terminal ขึ้นมา โดยคลิ๊กไอคอนในวงกลม
- พิมพ์คำสั่ง
sudo raspi-config
ลงไป จะเห็นหน้าแบบนี้ ใช้ลูกครเลื่อนเพื่อเปลี่ยน- เข้าไปที่
Interfacing Option
เข้าไปที่ interfacing option แล้ว Enable SSH - เข้าไปที่
Change user password
และเปลี่ยนรหัสเป็นอะไรก็ได้ที่เราจำได้ - เข้าไปที่
Localisation option
แล้วกดChange Timezone
เลือก Asia > Bangkok - เข้าไปที่
Advance options
แล้วกดExpand filesystem
รอสักพัก เครื่องจะ Reboot
- เข้าไปที่
- เนื่องจากการที่เราต้องต่อ Mouse, Keyboard และจอ มันค่อนข้างจะวุ่นวาย หลังจากนี้ผมจะ Remote เข้าไปแทน
- การที่เราจะ Remote ไปได้ เราต้องรู้ IP ของ Raspberry Pi ก่อน สามารถดูได้ง่ายๆ โดยการเอาเมาส์ไปจ่อที่สัญลักษณ์ Wifi ด้านบนขวา (ip นี้อาจจะเปลี่ยนได้ หากไม่ต้องการให้ IP เปลี่ยน ลองไปหาวิธีการตั้ง Static IP ดูครับ )
- Download โปรแกรม Putty
- เปิดโปรแกรม Putty ขึ้นมา ใส่ ip ของ Raspberry pi และใส่ port เป็น 22 ลงไปแล้วกด Open
- เมื่อการเชื่อมต่อสำเร็จ จะมีถาม username : ให้กรอกว่า pi แล้วกด enter หลังจากนั้นจะถาม password ให้ใส่รหัสที่ตั้งไว้ตอนแรก
- เมื่อ login สำเร็จ คุณจะเห็นหน้าต่างแบบนี้ ยินดีด้วย ตอนนี้คุณ Remote เข้า Raspberry pi ได้แล้ว
ลง HomeBridge
HomeBridge เป็น Server ที่เขียนด้วย NodeJS ซึ่งทำหน้าที่จำลองเป็น HomeKit API ให้คุณสามารถสร้างเครื่องใช้ไฟฟ้าที่รองรับ HomeKit ได้ โดย HomeBridge มี Plugin ให้เราใช้เชื่อมต่อเครื่องใช้ไฟฟ้าหลายแบบ ไม่ว่าจะทำเองเช่นการต่อ Relay หรือ เชื่อมต่อกับ ESP8266 นอกจากนั้นยังทำให้อุปกรณ์ iOT ที่ไม่รองรับ HomeKit สามารถใช้งานผ่าน HomeKit ได้ เช่น Sonoff
ในวันนี้เราจะมาทำเองโดยการต่อ Relay เข้ากับ Raspberry Pi แต่ก่อนอื่นต้องลง HomeBridge ก่อน
- ทำการลง NodeJS โดยการพิมพ์คำสั่งด้านล่างลงไปใน Command line (ทีละบรรทัด)
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs - ลง Avahi และ Dependencies อื่นๆ
sudo apt-get install libavahi-compat-libdnssd-dev
- ลง HomeBridge
sudo npm install -g --unsafe-perm homebridge
เมืิ่อพิมพ์คำสั่งด้านบนเสร็จ สามารถทดลองรัน HomeBridge ได้โดยการพิมพ์ homebridge ลงใน Command Line หลังจากนั้นให้เปิดแอป Home บน iPhone ขึ้นมาแล้วกด + จะเจอ HomeBridge อยู่ รหัสดั้งเดิมคือ 031-45-154

เมื่อเพิ่ม HomeBridge ลงไปใน iPhone ได้แล้ว ยินดีด้วย คุณได้ Setup และลง HomeBridge ใน Raspberry Pi สำเร็จแล้ว แต่ตอนนี้ยังไม่มีเครื่องใช้ไฟฟ้าอะไรเลย สามารถเพิ่มเครื่องใช้ไฟฟ้าไฟยัง HomeBridge ได้โดยการลง Plugin สามารถทำตามได้จากบทความนี้
ตอนที่ 2 กดที่นี่
ปล. การเปิด HomeBridge ทิ้งไว้โดยที่หน้า Command Line ไปแล้ว(โดยปรกติเมื่อปิด Command Line โปรแกรมจะถูกปิดด้วย) สามารถทำได้โดยการเปิด HomeBridge ด้วยคำสั่งนี้
nohup homebridge&
เมื่อต้องการปิด Command Line ห้ามกด × เพื่อปิด Command Line แต่ให้ใช้คำสั่ง exit
แทน