นี่คือทุกสิ่งที่คุณต้องการเพื่อให้ Siri ควบคุม Samsung SmartThings ของคุณแสงสีฟิลิปส์และ Sonos โดยใช้ Raspberry Pi Running Homebridge ผู้อ่านบ้านอัตโนมัติ (และผู้ผลิตสื่อ) Paul Gale พาเราผ่านคู่มือทีละขั้นตอนของเขาจบด้วยวิดีโอสมาร์ทโฮมที่ค่อนข้างยอดเยี่ยม
“ เฮ้ Siri ทำคริสต์มาส!” หรือวิธีรับ Siri เพื่อควบคุมอุปกรณ์ HomeKit และ Non-Homekit โดยใช้ Samsung Smartthings และ Raspberry Pi เพื่อตั้งฉากแสงคริสต์มาสบนหลอดไฟและของตกแต่งและเริ่มเล่นเพลย์ลิสต์ในอุดมคติ (คำแนะนำบางอย่างของสหราชอาณาจักร)
ตอนนี้ฉันใช้งานบ้านโดยอัตโนมัติมานานกว่า 15 ปีแล้วด้วยระบบเช่นแสง CBUS, แผงควบคุมติดผนัง, ระบบเตือนภัยที่สะดวกสบาย, ฮาร์ดแวร์ HOMEVISION HARE HA, เสียงทั้งหมด, ผ้าม่านไฟฟ้าและไฟหลังคาเป็นต้น รายการยาว โอ้และประมาณ 8 กม. ของการเดินสาย Cat5e!
เมื่อเร็ว ๆ นี้เราได้ตัดสินใจที่จะก้าวลงเล็กน้อย แต่ผลที่ตามมาก็คือฉันต้องบอกลาชุดอัตโนมัติที่มีเสน่ห์ของฉันมากมาย เป็นผลมาจากการวิจัยการติดตั้งและการเขียนโปรแกรมและการสนทนากับผู้คนมากมายในฟอรัมบ้านอัตโนมัติและรายชื่อผู้รับจดหมาย ตอนนี้เราอยู่ในบ้านเช่ารอให้สร้างบ้านใหม่ของเรา
ฉันไม่สามารถต้านทานการล่อลวงของระบบอัตโนมัติในบ้านได้อีกครั้งเนื่องจากไฟบ้านเริ่มต้นเป็นเพียงแค่ปี 1990 และน่าเบื่อ ไม่ต้องสงสัยเลยว่าฉันค่อนข้าง จำกัด สิ่งที่ฉันสามารถติดตั้งในสถานที่ให้เช่าดังนั้นฉันจึงลงทุนในโคมไฟสีฟิลิปส์ไร้สายบางชนิดทั้งแบบปลั๊กสีประเภทการล้างผนังไอริสใหม่บางส่วนและโคมไฟที่ค่อนข้างดี ฉันมีโคมไฟไอริสสีฟิลิปส์ดั้งเดิมมาหลายปีแล้ว แต่รุ่นใหม่เชื่อมโยงเข้าด้วยกันและกับหลอดไฟอื่น ๆ ในระบบสีโดยใช้ฮับซึ่งสามารถควบคุมได้ทั้งหมดด้วยแอพสี iOS สวยมากใช่มั้ย?
เมื่อไม่นานมานี้ฟิลิปส์ได้อัพเดท Hub Color เป็น V2 และด้วยการสนับสนุน Apple HomeKit และความสามารถในการควบคุมหลอดไฟโดยใช้คำสั่งพูดกับ Siri ว้าวมันสนุกและมีประโยชน์อย่างน่าประหลาดใจโดยพบว่าตอนนี้เราควบคุมไฟสีจำนวนมากด้วยวิธีนี้เพราะมันเร็วกว่าการปลดล็อค iPhone มากเปิดแอพและแทงที่ปุ่มต่างๆ
จากนั้นระบบ Samsung SmartThings ก็มาพร้อมกับคำมั่นสัญญาของการรวมและการควบคุมของเซ็นเซอร์และอุปกรณ์ไร้สายที่สร้างสรรค์จำนวนมาก โดยธรรมชาติแล้วฮับ SmartThings ยังสามารถเชื่อมโยงไปยังระบบสีและบิตอื่น ๆ ‘N’ Bobs ที่ฉันมีอยู่แล้วเหมือนรีโมท Logitech Harmony และ Sonos Play: 1 ลำโพง ในไม่ช้าฉันก็อยากจะควบคุมอุปกรณ์ใหม่ของอุปกรณ์ใหม่เหล่านี้เนื่องจากระบบ SmartThings ไม่สามารถเข้ากันได้กับ HomeKit ปรากฎว่าเป็นไปได้อย่างไม่ต้องสงสัยโดยใช้โครงการและรหัสชุมชนที่สร้างสรรค์มาก
คู่มือต่อไปนี้ได้รับการจัดตั้งขึ้นเพื่อช่วยให้ผู้อื่นบรรลุ Homekit Nirvana ด้วยชุดจำนวนเล็กน้อยและแอพสองสามตัว ฉันต้องกังวลว่าส่วนใหญ่จะขึ้นอยู่กับงานของคนอื่นและไกด์ที่แพร่กระจายไปทั่วไซต์และหน้าเว็บมากมาย คะแนนเครดิตจำนวนมากสำหรับทุกคนในโครงการและฟอรัมต่าง ๆ สำหรับงานที่ยอดเยี่ยมในการทำงานเพื่อให้ผู้อื่น (ฟรี) เพื่อให้ได้สิ่งที่พิเศษ โปรดพิจารณาบริจาคที่มีตัวเลือก ฉันยังมีการปรับเปลี่ยนที่จำเป็นในการดำเนินการนี้ภายในสหราชอาณาจักร (และอาจเป็นยุโรป)
สิ่งนี้ต้องใช้ความพยายามในราคาไม่แพงและความรู้เกี่ยวกับ Windows, Linux และ iOS แต่ต้องทำได้โดยเฉลี่ยสำหรับผู้ใช้ขั้นสูง
#
แสดงตัวอย่าง
ผลิตภัณฑ์
การให้คะแนน
ราคา
1
Samsung GP-WOU019BBDWG SmartThings Smart Plug 2019 เข้ากันได้กับ Amazon Alexa และ Google Home, …
972 บทวิจารณ์
£ 19.50
รับ Amazon
2SmartThings AEOTEC ZIGBEE SENSOR – การควบคุมอัตโนมัติของเซ็นเซอร์อุณหภูมิแบบรวมแสง …
34 บทวิจารณ์
£ 34.99
รับ Amazon
3
SmartThings AEOTEC ZIGBEE เซ็นเซอร์อเนกประสงค์ – เซ็นเซอร์ประตูหน้าต่างเพื่อความปลอดภัยการเตือนภัย Burglary …
16 บทวิจารณ์
£ 29.99
รับ Amazon
ฮาร์ดแวร์
ที่จำเป็น:
SmartThings Hub (ฉันมีชุดเริ่มต้น SmartThings พร้อมซ็อกเก็ตปลั๊กพิเศษ)
Raspberry Pi (ฉันใช้เดสก์ท็อป Raspi 2 รุ่น B) พร้อมการ์ด SD, PSU และสายไฟเครือข่าย – หรือเพียงแค่รับชุดสตาร์ท Raspberry Pi Pi (รวมถึงเมาส์, แป้นพิมพ์, จอภาพและสาย HDMI สำหรับการตั้งค่าเริ่มต้น)
iphone ที่ใช้งาน siri
คุณสามารถเรียกใช้สิ่งนี้บนอุปกรณ์ Linux อื่นแทน แต่คุณอาจต้องแก้ไขคำแนะนำเล็กน้อย
ไม่จำเป็น:
Philips Color Hub V2 (สี่เหลี่ยมแทนที่จะเป็นรอบเก่า)
หลอดไฟหรือหลอดไฟของฟิลิปส์เช่นหลอดสีขาวและสี, หลอดไฟ lux, ไอริสสี, สีนอกเหนือจากหลอด ฯลฯ
เซ็นเซอร์ SmartThings อื่น ๆ และอุปกรณ์เช่นเต้าเสียบพลังงาน
อุปกรณ์ Zigbee หรือ Z-Wave อื่น ๆ ตัวอย่างเช่นฉันมีซ็อกเก็ตปลั๊กอิน TKB Home หลายตัวที่ทำงานได้ดีกับ SmartThings เช่นเดียวกับ Aeon Labs Multisensor 6
ต้นคริสต์มาสสีชมพูขนาดใหญ่สีชมพูหนึ่งต้นพร้อมไฟให้เป็นไปโดยอัตโนมัติและทำให้เพื่อนของคุณอิจฉา!
ซอฟต์แวร์
ระบบปฏิบัติการ Raspbian
บ้านสะพาน
1. ติดตั้ง noobs & raspbian บน Raspberry pi ของคุณ
ติดตั้ง PI ของคุณโดยทำตามคำแนะนำเหล่านี้:
เมื่อเสร็จแล้วตรวจสอบให้แน่ใจว่าคุณสามารถเข้าสู่ระบบเทอร์มินัลบน Raspi ไม่ว่าจะโดยใช้เทอร์มินัลใน Raspi GUI หรือโดยใช้แอพเทอร์มินัลบน Windows/Mac เช่น Putty ที่ยอดเยี่ยม
คุณสามารถเข้าสู่ระบบและออกคำสั่งทั้งหมดที่แสดงที่นี่ภายใต้บัญชี ‘PI’ เริ่มต้นบน RASPI หากการเชื่อมต่อจากระยะไกลโดยวิธีการของ Putty ชื่อผู้ใช้เริ่มต้นคือ ‘Pi’ และรหัสผ่าน ‘Raspberry’ แม้ว่าในการติดตั้งของฉันรหัสผ่านไม่ได้รับการยอมรับดังนั้นฉันต้องเปลี่ยนจากแอพเทอร์มินัลใน Raspi GUI โดยใช้:
passwd
จากนั้นป้อนรหัสผ่านใหม่สองครั้งตามคำแนะนำ ข้อมูลเพิ่มเติมที่นี่:
2. ติดตั้ง node.js บน Raspberry pi
ขณะนี้มี node.js เวอร์ชันในภายหลังมากกว่าคำแนะนำที่นี่:
นี่คือสิ่งที่ฉันทำ ผ่านหน้าต่างเทอร์มินัลเช่น Putty บน Windows:
นี่คือ Raspberry Pi 2 Model B – ตรวจสอบ URL ก่อนหน้าหากคุณมีรุ่นเก่าเนื่องจากแพ็คเกจแตกต่างกัน
wget
tar -xvf node-v5.2.0-linux-armv7l.tar.gz
cd node-v5.2.0-linux-armv7l
sudo cp -r */usr/local/
หากต้องการตรวจสอบ Node.js ติดตั้งอย่างเหมาะสมและคุณมีเวอร์ชันที่เหมาะสมให้เรียกใช้คำสั่ง:
โหนด –V
คุณอาจต้องการตรวจสอบว่า NPM เป็นเวอร์ชันปัจจุบันเช่นเดียวกับ Raspi ของฉันมันค่อนข้างเก่าและฉันพบปัญหาบางอย่างที่พยายามติดตั้ง Homebridge สิ่งนี้จะติดตั้ง/อัปเกรดเป็นเวอร์ชันปัจจุบัน:
sudo npm ติดตั้ง npm -g
3. ติดตั้ง Homebridge บน PI
sudo npm ติดตั้ง -g homebridge
sudo npm ติดตั้ง -g homebridge-legacy-plugins
ตอนนี้เราต้องทำการเปลี่ยนแปลงไฟล์ smartthings.js สำหรับเซิร์ฟเวอร์สหราชอาณาจักร/สหภาพยุโรป:
CD/USR/local/lib/node_modules/homebridge-legacy-plugins/platforms
nano smartthings.js
ค้นหา URL ต่อไปนี้ในไฟล์:
และแทนที่ด้วย:
ในเวอร์ชันของไฟล์ของฉันมีเพียงหนึ่งอินสแตนซ์ของสิ่งนี้ Ctrl-O และป้อนเพื่อบันทึกไฟล์จากนั้น ctrl-x การตั้งค่านี้ยังไม่สมบูรณ์คุณจะต้องทำสิ่งต่อไปนี้ให้เสร็จก่อนที่ Homebridge จะทำงาน
4. ติดตั้งแอพ SmartThings บน iPhone ของคุณ
คุณต้องมีแอพ SmartThings บนโทรศัพท์ของคุณแล้ว ถ้าไม่ติดตั้งและตั้งค่าตอนนี้โดยทำตามคำแนะนำที่มาพร้อมกับชุด SmartThings (หรือ Hub)
5. เข้าสู่ระบบ SmartThings IDE และสร้าง JSON API SmartApp
SmartThings IDE (สภาพแวดล้อมการพัฒนาแบบบูรณาการ) จัดหาชุดเครื่องมือในการจัดการบัญชี SmartThings และฮับอุปกรณ์ ฯลฯ จริง ๆ แล้วมันค่อนข้างเป็นประโยชน์ด้วยเหตุผลหลายประการ แต่เราจะใช้ที่นี่ นั่นเป็นสิ่งสำคัญที่สำคัญT ของกระบวนการในการรับ Siri เพื่อควบคุมอุปกรณ์ที่ไม่ใช่ Homekit ของเรา
เข้าสู่ระบบโดยใช้บัญชี SmartThings ของคุณที่คุณสร้างขึ้นเป็นส่วนหนึ่งของการติดตั้ง SmartThings Kit/Hub
goto แท็บ ‘my smartapps’
คลิกปุ่ม ‘+ ใหม่ SmartApp’ ด้านบนขวา
คลิก ‘จากรหัส’
ในหน้าต่างเบราว์เซอร์อื่นไปที่นี่:
คลิกปุ่ม ‘ดิบ’
เลือกรหัสทั้งหมด (CTRL-A) และคัดลอก (CTRL-C)
กลับไปที่หน้าต่าง SmartThings IDE และวางรหัสที่คุณเพิ่งคัดลอกลงในหน้าต่างรหัส
ค้นหากรณีทั้งหมดของ
และแทนที่ด้วย
จะต้องมีสามกรณีในบรรทัด 59, 63 และ 87 – นี่คือเวลาที่เขียน (11/12/15) แน่นอนรหัสนี้อาจเปลี่ยนแปลงในอนาคต หากคุณมีบัญชีสหรัฐอเมริกาคุณไม่จำเป็นต้องทำเช่นนี้เนื่องจาก URL เซิร์ฟเวอร์จะเหมาะกับคุณ
คลิก ‘สร้าง’
คลิก ‘การตั้งค่าแอพ’
คลิก ‘oauth’
คลิก ‘เปิดใช้งาน OAUTH ใน Smart App’ ปล่อยให้การตั้งค่าทั้งหมดเป็นค่าเริ่มต้น
คลิก ‘อัปเดต’
SmartThings IDE ดูเหมือนจะสูญเสียปุ่มเมนู ณ จุดนี้ดังนั้นคุณอาจต้องคลิกแท็บ ‘My SmartApps’ อีกครั้งคลิกรายการ ‘JNewland: JSON API’ เพื่อกลับไปยังจุดที่คุณสามารถทำได้ตอนนี้:
คลิก ‘เผยแพร่’ และ ‘for me’
6. ติดตั้ง JSON API SmartApp ใหม่ใน SmartThings
โหลดแอพ SmartThings บน iPhone ของคุณ
ไปที่ ‘ตลาด’ โดยแตะไอคอนในอุดมคติด้านล่าง (ไอคอนสีน้ำเงินสีเขียวและสีเหลืองที่ดูเหมือนดาว)
แตะ ‘แอพของฉัน’
แตะ ‘json api’
ตอนนี้คุณสามารถเลือกสวิตช์และโคมไฟสีของ Philips ที่คุณต้องการควบคุมโดยใช้ Homebridge/Homekit/Siri (โปรดทราบว่า Philips Color V2 Hub ตอนนี้รองรับ HomeKit โดยธรรมชาติดังนั้นคุณอาจไม่ต้องการเลือกอุปกรณ์สีที่นี่ อยู่ในฐานข้อมูล HomeKit และควบคุมได้) คุณสามารถกลับมาที่หน้าจอนี้ในอนาคตและเปลี่ยนการเลือกของคุณดังนั้นคุณอาจต้องการลองใช้อุปกรณ์เดียวสำหรับการทดสอบ หากคุณเปลี่ยนอุปกรณ์เหล่านี้ในภายหลังคุณอาจต้องหยุดและรีสตาร์ทเซิร์ฟเวอร์ Homebridge สำหรับอุปกรณ์ใหม่หรืออุปกรณ์ที่เปลี่ยนแปลงที่จะค้นพบและป้อนลงในฐานข้อมูล HomeKit
แตะ ‘config’
หน้าจอถัดไปจะต้องแสดงการกำหนดค่าที่เราต้องใช้ในเซิร์ฟเวอร์ Homebridge มันต้องมีลักษณะเช่นนี้ (ฉันได้แทนที่ปุ่มจริงด้วย xxx):
{
“คำอธิบาย”: “JSON API”,
“แพลตฟอร์ม”: [
{
“แพลตฟอร์ม”: “SmartThings”,
“ชื่อ”: “SmartThings”,
“app_id”: “xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
“access_token”: “xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
]
}
คัดลอกสิ่งนี้หรือส่งทางอีเมล pushbullet หรือวิธีอื่น ๆ ที่คุณอาจมีสำหรับการส่งข้อความจาก iPhone ไปยังเครื่องเดสก์ท็อปของคุณ ฉันใช้แอพ Pushbullet และปลั๊กอิน Firefox ซึ่งทำงานได้ค่อนข้างดี น่าเสียดายที่ขั้นตอนนี้ค่อนข้างยุ่งยากเล็กน้อยเนื่องจาก SmartThings ไม่มีแอพสำหรับอะไรเลยนอกจากอุปกรณ์มือถือ (ไม่ใช่เวอร์ชั่น iPad ที่ฉันเชื่อ)
แตะ ‘เสร็จสิ้น’ และ ‘เสร็จสิ้น’ อีกครั้งเพื่อออกจาก SmartApp SmartThings จะต้องแสดงแบนเนอร์ที่บอกว่า“ JSON API ได้รับการติดตั้งและทำอัตโนมัติแล้ว”
7. ตั้งค่าไฟล์ config.json สำหรับ homebridge
ตอนนี้เราจะใช้ข้อความการกำหนดค่าจากขั้นตอนก่อนหน้าและสร้างไฟล์ config.json สำหรับเซิร์ฟเวอร์ Homebridge
ย้อนกลับไปในหน้าต่างเทอร์มินัลของคุณที่เชื่อมต่อกับ Raspberry Pi ของคุณ:
cd /home/pi/.homebridge
nano config.json
ตอนนี้วางในข้อความการกำหนดค่า หากคุณกำลังใช้ Putty คุณสามารถคัดลอกข้อความการกำหนดค่าและให้คลิกที่หน้าต่าง Putty เพื่อวางไว้ใน
Ctrl-O เพื่อเขียนไฟล์ ตรวจสอบให้แน่ใจว่าชื่อไฟล์คือ ‘config.json’ แล้วกด Enter CTRL-X เพื่อออกจากบรรณาธิการนาโน
ตรวจสอบไฟล์ตอนนี้:
LS
คุณต้องดู ‘config.json’ ที่ระบุไว้
ตอนนี้เราสามารถเริ่มต้นเซิร์ฟเวอร์ Homebridge:
บ้านสะพาน
หากทุกอย่างสำเร็จคุณต้องเห็นอะไรเช่นเอาต์พุตนี้ (ข้อความการแจ้งเตือนดูเหมือนจะไม่ส่งผลกระทบต่อการทำงานของเซิร์ฟเวอร์):
pi@raspha: ~/.homebridge $ homebridge
*** การแจ้งเตือน *** โปรแกรม ‘โหนด’ ใช้เลเยอร์ความเข้ากันได้ของ Apple Bonjour ของ Avahi
*** การแจ้งเตือน *** โปรดแก้ไขแอปพลิเคชันของคุณเพื่อใช้ API ดั้งเดิมของ Avahi!
*** การแจ้งเตือน *** สำหรับข้อมูลเพิ่มเติมมากมายดู <>
*** การแจ้งเตือน *** โปรแกรม ‘โหนด’ เรียกว่า ‘dnsse