SmartThings + Raspberry Pi & Homebridge = Siri HomeKit ควบคุม Smart Home


นี่คือทุกสิ่งที่คุณต้องการเพื่อให้ 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

Leave a Reply

Your email address will not be published. Required fields are marked *