วิธีเชื่อมต่ออุปกรณ์อัจฉริยะกับ HomeKit (ด้วย Raspberry Pi)

มูลนิธิ Raspberry Pi, Apple
อุปกรณ์อัจฉริยะจำนวนมากข้ามการสนับสนุน Apple HomeKit และทำงานร่วมกับ Alexa, Google และแพลตฟอร์มอื่นๆ เท่านั้น ด้วยแฮ็ค Raspberry Pi นี้ คุณสามารถเพิ่มการรองรับ HomeKit ให้กับอุปกรณ์อัจฉริยะใดๆ ด้วยซอฟต์แวร์ Homebridge โอเพ่นซอร์ส
HomeKit สำหรับอุปกรณ์อัจฉริยะทุกชนิด
หากคุณใช้ HomeKit แบบครบครัน ปัญหาใหญ่อย่างหนึ่งคือมีอุปกรณ์อัจฉริยะเพียงไม่กี่เครื่องที่รองรับ ตัวอย่างเช่น สิ่งเดียวที่รั้งหลอดไฟอัจฉริยะราคาถูกไว้คือการขาดการรองรับ HomeKit ทางเลือกของ Amazon สำหรับหลอดไฟอัจฉริยะคือ a สี่แพ็คจาก TECKIN ซึ่งในการเขียนนี้ มีราคาประมาณ 40 ดอลลาร์ ซึ่งน้อยกว่าหลอดไฟ LIFX ดวงเดียว
แน่นอนว่ามันไม่ได้พรีเมียมเท่า LIFX; สีไม่สดใสเท่าและพวกมันก็ส่งเสียงฮือฮาในห้องน้ำ แต่ราคา 10 เหรียญต่อป๊อปก็เป็นค่าที่ไม่มีใครเทียบได้
ปัญหาหลักคือพวกเขาไม่มีการสนับสนุน HomeKit พวกเขาไม่ได้โง่เขลาอย่างสิ้นเชิง ใช้งานได้กับ Google Home, Alexa, IFTTT และแอปของผู้ผลิต เหมาะสำหรับผู้ที่มีหลอดไฟอัจฉริยะ TECKIN เท่านั้น
อย่างไรก็ตาม เนื่องจากคุณไม่สามารถเข้าถึงได้จาก HomeKit คุณจึงไม่สามารถควบคุมได้จากแอพบ้าน วิดเจ็ตในศูนย์ควบคุม หรือ Siri คุณไม่สามารถรวมไว้ในฉากที่มีหลอดไฟจากยี่ห้ออื่นหรือใช้ในระบบอัตโนมัติได้ หากคุณได้ลงทุนใน HomeKit แล้ว นี่อาจเป็นตัวทำลายข้อตกลง
พบกับโฮมบริดจ์
โชคดีที่มีแฮ็คที่ทำให้หลอดไฟเหล่านี้มีประโยชน์มากขึ้น HomeKit API อนุญาตให้อุปกรณ์ที่เรียกว่าบริดจ์ เช่น อันนี้จาก Philips Hue เพื่อเชื่อมต่ออุปกรณ์ลูกที่ทำงานบนโปรโตคอลอื่น คุณเพียงแค่เพิ่มบริดจ์เป็นอุปกรณ์ใน HomeKit และมันลงทะเบียนไฟแต่ละดวงที่เชื่อมต่อกับบริดจ์ใน HomeKit เมื่อใดก็ตามที่คุณขออัปเดตไฟ โทรศัพท์ของคุณจะพูดกับสะพาน และสะพานจะพูดกับแสง
โฆษณา
ดังนั้น บริดจ์เพียงแค่ถ่ายทอดข้อมูลจาก API หนึ่งไปยังอีก API เนื่องจากคุณควบคุมหลอดไฟ TECKIN ได้ทางอินเทอร์เน็ต คุณจึงสามารถเชื่อมต่อกับ HomeKit ได้ทั้งหมดโดยใช้ซอฟต์แวร์เพียงอย่างเดียว โดยไม่ต้องใช้ฮาร์ดแวร์ที่เป็นเอกสิทธิ์เฉพาะ
หากคุณมี Raspberry Pi วางอยู่รอบ ๆ ( Pi Zero ได้) คุณสามารถตั้งค่าเป็นบริดจ์ด้วยเฟรมเวิร์กที่เรียกว่า โฮมบริดจ์ . แอปพลิเคชั่น NodeJS น้ำหนักเบานี้เลียนแบบ HomeKit API และส่งต่อคำขอไปยังอุปกรณ์อัจฉริยะที่ไม่ใช่ HomeKit ของคุณ
โดยพื้นฐานแล้ว คุณเรียกใช้มันบน Pi และเพิ่มอุปกรณ์ 'ใบ้' แต่ละเครื่องลงในแอปโฮม เมื่อคุณพยายามควบคุมหลอดไฟผ่านแอพ Home หรือ Siri Homebridge จะคุยกับอุปกรณ์ต่างๆ ให้คุณ หลังจากที่คุณตั้งค่า มันจะเหมือนกับว่าอุปกรณ์รองรับ HomeKit ตั้งแต่แรก
สิ่งนี้ต้องการให้อุปกรณ์ทำงาน Homebridge ตลอดเวลา ดังนั้นนี่ไม่ใช่สิ่งที่คุณจะติดตั้งบนแล็ปท็อปของคุณ Raspberry Pi นั้นเหมาะสมที่สุด แต่หากคุณมีอุปกรณ์เครื่องเก่า คุณสามารถเปลี่ยนการใช้งานเป็นเซิร์ฟเวอร์หรือเดสก์ท็อปที่ทำงานตลอดเวลาได้ คุณสามารถติดตั้งอุปกรณ์นั้นที่นั่นได้
Homebridge เป็นเฟรมเวิร์ก และคุณสามารถขยายได้ด้วยปลั๊กอิน มีการสนับสนุนชุมชนที่ค่อนข้างใหญ่ ดังนั้นจึงมีโอกาสที่ดีที่อุปกรณ์สมาร์ทใด ๆ อาจมีปลั๊กอิน Homebridge เพื่อเพิ่มการสนับสนุน หากอุปกรณ์ของคุณไม่มีปลั๊กอิน แต่อุปกรณ์อัจฉริยะของคุณมี API และคุณเชี่ยวชาญด้านเทคโนโลยี คุณก็เขียนด้วยตัวเองได้
โฆษณาสำหรับคนส่วนใหญ่ การตั้งค่าเป็นเพียงการติดตั้ง Homebridge และปลั๊กอินของแบรนด์สำหรับอุปกรณ์ พร้อมกับการกำหนดค่าเล็กน้อย ถ้าคุณสามารถ ใช้บรรทัดคำสั่ง และมีเวลาสักหน่อย มันค่อนข้างง่าย
การติดตั้งและกำหนดค่าโฮมบริดจ์
Homebridge เป็นแอป NodeJS ดังนั้นคุณต้องติดตั้ง |_+_| และ |_+_| ที่จะใช้มัน หากเครื่องของคุณใช้ Linux คุณอาจได้รับจากตัวจัดการแพ็คเกจ
บน Ubuntu คุณต้องพิมพ์ข้อความต่อไปนี้เพื่อตั้งค่า Node repo ด้วยตนเอง จากนั้นติดตั้ง |_+_|:
node
หรือปรึกษาได้ หน้าดาวน์โหลดโหนด สำหรับข้อมูลเกี่ยวกับวิธีการติดตั้งสำหรับระบบปฏิบัติการเฉพาะของคุณ
หากคุณใช้ Linux คุณต้องติดตั้งการพึ่งพาบางรายการดังที่แสดงด้านล่าง:
npm
หลังจากนั้น คุณสามารถติดตั้ง Homebridge ได้ทั่วโลกผ่าน |_+_| ดังที่แสดงด้านล่าง:
nodejs
โฆษณา คุณต้องการติดตั้งปลั๊กอินของแบรนด์ที่คุณต้องการด้วย เนื่องจาก Homebridge เป็นเพียงเฟรมเวิร์ก ตัวอย่างเช่น สำหรับหลอดไฟ TECKIN ปลั๊กอินคือ |_+_| ซึ่งติดตั้งทั่วโลกเช่นกัน
คุณจะพิมพ์ต่อไปนี้:
npm
หลังจากติดตั้งทุกอย่างเรียบร้อย คุณก็ใช้งานได้จริง! พิมพ์ข้อมูลต่อไปนี้เพื่อเรียกใช้ Homebridge หนึ่งครั้งและเริ่มต้นทุกอย่าง:
homebridge-tuya-web
มันจะบ่นเกี่ยวกับการขาดการกำหนดค่าซึ่งคุณต้องสร้าง ไดเร็กทอรีเริ่มต้นคือ |_+_| แต่คุณสามารถใช้ |_+_| พารามิเตอร์หากคุณต้องการย้าย
พิมพ์ข้อมูลต่อไปนี้เพื่อสร้างไฟล์การกำหนดค่า JSON ใหม่ในโฟลเดอร์นี้:
~/.homebridge/
ไม่ว่าคุณจะใช้ปลั๊กอินใดก็ตาม คุณต้องมีการกำหนดค่าพื้นฐานต่อไปนี้:
-U
สิ่งนี้กำหนดค่า Homebridge ด้วยพอร์ตเริ่มต้น ชื่อ PIN และช่วงพอร์ตที่พร้อมใช้งานเพื่อจัดสรรให้กับอุปกรณ์อื่น
โฆษณาข้างในว่างเปล่า |_+_| อาร์เรย์ คุณวางการกำหนดค่าสำหรับปลั๊กอินแต่ละตัว คุณควรจะสามารถค้นหาคำแนะนำและตัวอย่างสิ่งนี้ได้ในหน้า GitHub ของปลั๊กอินแต่ละหน้า
ในตัวอย่างด้านล่าง |_+_| ปลั๊กอินสำหรับหลอดไฟ TECKIN ต้องการทราบชื่อผู้ใช้และรหัสผ่านของฉันเพื่อเชื่อมต่อกับ API สำหรับแอปของ bulb และอีกสองสามสิ่ง:
platforms
เมื่อกำหนดค่าทั้งหมดแล้ว Homebridge ก็ควรพร้อมใช้งาน เรียกใช้อีกครั้ง และเทอร์มินัลของคุณควรแสดงรหัส QR ขนาดยักษ์ที่อาจบังคับให้คุณย่อ สแกนสิ่งนี้ด้วยแอพ Home เพื่อเพิ่มและอุปกรณ์ที่เชื่อมต่อทั้งหมดไปยัง HomeKit
Homebridge โหลดปลั๊กอินของคุณและควรบันทึกข้อความไปยังหน้าจอสำหรับอุปกรณ์แต่ละเครื่องที่พบ คุณควรเห็นพวกเขาทั้งหมดใน HomeKit หลังจากที่เพิ่มเข้าไปแล้ว และควรใช้งานได้อย่างสมบูรณ์
ฉันสังเกตเห็นความล่าช้าเล็กน้อยเมื่อเทียบกับหลอดไฟ LIFX ของฉัน อาจเป็นเพราะหลอดไฟถูกควบคุมผ่าน API มากกว่าการควบคุมโดยตรง ในตอนแรก หลอดไฟก็ไม่แสดงสีขาวและสีขาวนวลอย่างถูกต้อง แต่หลังจากปรับแต่งเล็กน้อย ฉันก็จัดฉากที่เหมาะสมได้
คุณสามารถกำหนดค่าอุปกรณ์ในแอปของตนเองได้ตลอดเวลา รอให้แอป Home อัปเดต จากนั้นตั้งค่าฉากใน HomeKit ด้วยการกำหนดค่าที่กำหนดไว้ล่วงหน้า
โฆษณาหากคุณต้องการเพิ่ม Homebridge อีกครั้ง คุณจะต้องลบ |_+_| ในไดเร็กทอรี config จากนั้นลบบริดจ์จาก HomeKit ออกจากการตั้งค่าของ bulb ที่เชื่อมต่อใต้แท็บ Bridge
การเพิ่ม Homebridge เป็นบริการ
หากคุณต้องการให้ Homebridge ทำงานตลอดเวลา คุณอาจต้องการกำหนดค่าให้รีสตาร์ทหากเกิดปัญหาหรือหาก Raspberry Pi รีสตาร์ท คุณสามารถทำได้ผ่านบริการ Unix ตั้งค่านี้หลังจากที่คุณได้ตรวจสอบแล้วว่า Homebridge ทำงานตามที่ตั้งใจไว้
ขั้นแรก เพิ่มผู้ใช้บริการใหม่ ชื่อ |_+_|:
homebridge-tuya-web
ตั้งรหัสผ่าน:
persist/
ถัดไป คุณจะต้องย้าย |_+_|การกำหนดค่านอกไดเรกทอรีหลักส่วนบุคคลของคุณ |_+_| ควรจะดี:
homebridge
ตรวจสอบให้แน่ใจว่าคนที่ใช้ |_+_| มีความเป็นเจ้าของไดเร็กทอรีนั้นและโฟลเดอร์ย่อยทั้งหมด:
homebridge
เมื่อเสร็จแล้ว คุณสามารถสร้างบริการได้ โดยสร้างไฟล์ใหม่ชื่อ |_+_| ใน |_+_|:
/var/lib/homebridge/
แล้ววางการกำหนดค่าต่อไปนี้:
homebridge
โหลด services daemon ใหม่เพื่ออัปเดตด้วยการเปลี่ยนแปลงของคุณ:
homebridge.service
โฆษณา ตอนนี้ คุณควรจะสามารถเปิดใช้งานบริการของคุณได้ (ตั้งค่าให้ทำงานเมื่อบู๊ต):
/etc/systemd/system/
และเริ่มต้น:
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs
หากคุณต้องการแก้ไขข้อผิดพลาดที่เกิดจากการกำหนดค่าบริการ คุณสามารถดูบันทึกของบริการได้โดยพิมพ์:
sudo apt-get install libavahi-compat-libdnssd-devอ่านต่อไป
- & rsaquo; 8 สุดยอดไอเดียทางลัด AirTag NFC สำหรับ iPhone และ Apple Watch
- › ฟังก์ชันกับสูตรใน Microsoft Excel: อะไรคือความแตกต่าง?
- › โฟลเดอร์คอมพิวเตอร์คือ 40: วิธีที่ Xerox Star สร้างเดสก์ท็อป
- › 5 เว็บไซต์ที่ผู้ใช้ Linux ทุกคนควรคั่นหน้า
- & rsaquo; Cyber Monday 2021: ข้อเสนอที่ดีที่สุดของ Apple
- › วิธีค้นหา Spotify ที่ห่อหุ้มไว้ในปี 2021
- & rsaquo; Cyber Monday 2021: ข้อเสนอด้านเทคนิคที่ดีที่สุด

Anthony Heddings เป็นวิศวกรระบบคลาวด์ประจำของ LifeSavvy Media นักเขียนด้านเทคนิค โปรแกรมเมอร์ และผู้เชี่ยวชาญที่แพลตฟอร์ม AWS ของ Amazon เขาเขียนบทความหลายร้อยบทความสำหรับ How-To Geek และ CloudSavvy IT ที่มีคนอ่านหลายล้านครั้ง
อ่านชีวประวัติฉบับเต็ม