SiriずXiaomiを友達にする方法

この蚘事では、Homebridgeを䜿甚しおSiriずWi-FiおよびBluetooth経由で動䜜するXiaomiフィクスチャのコラボレヌションをセットアップするためのガむドを玹介したす。 たた、私が足を螏み入れたレヌキに぀いおも説明したした。



冬 寒い。 闇 朝起きるのは倧倉です。


圌らは、ダミヌ照明が目を芚たすのを助けるこずができるず蚀いたした。


それでは䜕 Xiaomi、たたはYeelightから垞倜灯を撮りたした 。 圌は少し遊んで、曲がっお動䜜しおいる゜フトりェアに怒っおいたした。 しかし、明るくカラフルな照明がプラスになり、職堎は䞀倉し、より快適になりたした。


カタログを調べたずころ、Wi-Fi接続のあるLEDストリップが芋぀かりたした。 アナログず比范しお、明るくお安䟡であるこずがわかりたした。 私はそれを取る


そしお再び、゜フトりェアの問題。 デバむスが萜ちるので、プログラムに入るずきに再接続する必芁がありたす。 たた、グルヌプ化は必ずしも正しく機胜しなかったため、電話で蚭定しおオンにするこずはありがたいこずではありたせん。 远加のハブを怜玢しお賌入し始めたのではなく、より良い時期たですべおを延期したした。


同僚は、誕生日に「ラズベリヌ」を口語で発衚したした-Raspberry Pi 3 ModelB。デバむスにWi-FiずBluetoothモゞュヌルの䞡方があるこずが重芁です。 HomeKitデバむスを操䜜するための倚くの資料をすでに䜜成および研究しおいるため、HomeKit APIを゚ミュレヌトするNodeJSで蚘述されたhomebridgeサヌバヌを通じお、サポヌトされおいないデバむスをこのむンフラストラクチャに含めるこずができたす。


ステップ1. OSのむンストヌル


たず、OSをむンストヌルしたす。 ディストリビュヌションずしおRaspbianを遞択したした。



この段階で、最初の問題が発生したした。 䜕らかの理由で、ファむルはカヌドに正しくコピヌされたせんでしたが、独自のSD Memory Card Formatterナヌティリティを䜿甚したフォヌマットは成功したした。 私はカヌドを店に持っお行っお別のものを取りに行く぀もりでしたが、この前に倖郚のカヌドリヌダヌを詊すこずにしたした。 そしお、芋よ、それはすべおうたくいった


問題は、SDHC圢匏のカヌドをサポヌトしおいないMac miniにあるこずが刀明したした。



むンストヌラヌは非垞にシンプルで、ダりンロヌドは十分に高速です。 問題がある堎合は、 公匏ドキュメントを確認しおください。


ステップ2.初期OSセットアップ



Rasperry Piでのリモヌト䜜業甚




圓初、「Malinka」はUSBポヌトから絊電されおいたしたが、同時に電力が絶察に足りないずいう衚瀺が画面に衚瀺されたす。 iPhone + micro USBコヌドの充電噚がこの問題を解決したした。


すべおの操䜜は、家の初期セットアップ甚のモニタヌがないため、オフィスで行われたした。


週末たでに、「Malinka」はアパヌトに到着し、圌女の手はすでにスマヌト電球を接続するためにできるだけ早く手を掻いおいたした。


Raspberryの起動...


VN経由で接続しようずしおいたす... 黒い画面 。


SSH経由で接続しようずしおいたす... 反応はありたせん 。


月曜日を埅っお仕事に戻る。 キヌボヌド、マりス、モニタヌを接続したす。
システムは停止したせん。 おそらく、SDカヌドの損傷たたは神の介入が原因で問題が発生したした。


システムを再むンストヌルしたした。 私は叀い匕甚を思い出したした 「人々は2぀のカテゎリヌに分けられたす
ただバックアップを䜜成しおいない人、すでにバックアップを䜜成しおいる人」 、そしお匷い意志のある決定を䞋したした。


ステップ0.バックアップを䜜成したす


倚くの方法がありたす。 私の意芋では、最もシンプルなものを遞びたした。 SDカヌドむメヌゞのUSBフラッシュドラむブぞの完党なコピヌ 。


画像を䜜成する





むメヌゞを埩元する



欠点は、むメヌゞを埩元する時間が長いこずです。 カヌドの容量、速床、およびカヌドリヌダヌの特性によっお異なりたす。 このプロセスには玄4時間かかりたした。
利点は、シンプルさず信頌性です。


ちなみに、このプロセスをスピヌドアップしおみおください。 詳现な手順
Stackexchange


数日埌、バックアップからの回埩を再床実行する必芁がありたした。 操䜜の実行䞭に、「セグメンテヌション゚ラヌ」゚ラヌが発生したした。 ほずんどの堎合、問題の原因はメモリカヌドの䞍良です。 今回はトランセンドから新しいものを賌入したしたが、これたでのずころフラむトは正垞です。


ステップ3.コンポヌネントのむンストヌル


サヌバヌの起動に必芁なコンポヌネントから始めたす。


い぀ものように、システムを曎新するこずから始めたす。


 sudo apt-get update sudo apt-get upgrade 

アップグレヌド埌、g ++バヌゞョンを確認したす。


 g++ -v 

homebridgeバヌゞョン4.9+をむンストヌルするにはgccバヌゞョン 6.3.0が必芁でした。


次に、NodeJSをむンストヌルしたす。 バヌゞョン9をむンストヌルしたした


 curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - sudo apt-get install -y nodejs 

次のステップでは、Apple Bonjourサヌビスを操䜜するためのラむブラリであるAvahiをむンストヌルしたす。


 sudo apt-get install libavahi-compat-libdnssd-dev 

この段階で、準備は完了です。


ステップ4. homebridgeのむンストヌル


これで、プロゞェクトリポゞトリの基本的な指瀺に埓うこずができたす 。
npm install -g homebridgeコマンドを䜿甚するず、むンストヌルが倱敗したため、プロゞェクトの䜜成者の指瀺に埓い、 sudoおよび-g --unsafe-perm homebridgeフラグを指定しおむンストヌラヌを実行したす。


 sudo npm install -g --unsafe-perm homebridge 

Homebridgeがむンストヌルされたした。 問題がある堎合は、読むこずができたす
wiki


デバむスの構成ず接続に進みたす。



ステップ5. Yeelight Smart Light Strip



Light StripはWiFi経由で接続され、セットアップが簡単です。 プラグむンをむンストヌルするこずから始めたす 。


 sudo npm install -g homebridge-re-yeelight sudo npm install -g miio@0.14.1 

miioバヌゞョン0.14.1を制限したす。新しいプラグむンでは、珟時点では機胜したせん。


次に、ロヌカルネットワヌク䞊のデバむスを怜玢したす。 その前に、もちろん、 Yeelight Smart Light StripをWiFi経由で接続する必芁がありたす。


 miio --discover 

およそ次の出力がコン゜ヌルに衚瀺されたす。


 INFO Discovering devices. Press Ctrl+C to stop. Device ID: xxxxxxxx Model info: yeelink.light.strip1 Address: 192.168.1.xxx Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx via auto-token Support: At least basic 

それを玙に曞き留めお、構成ファむルのセットアップに進みたす。


ステップ6. config.jsonを䜜成する


構成ファむルを䜜成したす。 〜/ .homebridgeディレクトリに移動したす。


 touch config.json nano config.json 

構成ファむルに制埡するハブずデバむスを远加したす。 通垞、デバむス固有の構成は、プラグむンプロゞェクトペヌゞのconfig.jsonファむルにリストされおいたす。


構成で、前の手順で受け取ったhomebridgeおよびデバむスに関する次の情報を远加したす。


 { "bridge": { "name": "Yeebridge", "username": "18:00:27:40:BC:1B", "port": 51825, "pin": "031-45-154" }, "platforms": [ { "platform": "ReYeelightPlatform", "deviceCfgs": [{ "type": "ColorLEDStrip", "ip": "192.168.1.253", "token": "5d0b94f872b4372164b6e61d472d424b", "Name": "LED Strip", "updatetimer": true, "interval": 5 }] } ] } 


このプラットフォヌムのデバむス構成



手順7. Xiaomi Yeelightベッドサむドランプの接続



デバむスはBLE経由で接続されたす。 ぀たり、BLEサポヌト付きのむンストヌル枈みBluetoothモゞュヌルが必芁です。 このようなデバむスを䜿甚するには、別のプラットフォヌム-ReYeelightBLEPlatformが必芁です


Bluetoothスタックを操䜜するためのラむブラリをむンストヌルしたす。


 sudo apt-get install libbluetooth-dev libudev-dev 

ノヌドモゞュヌルがむンストヌルされおいるフォルダヌを芋぀けたす。


 npm -g root 

/ usr / lib / node_modulesで入手したした 。 必芁な暩限をむンストヌルし、むンストヌルを実行したす。


暩限をむンストヌルせずにsudoでむンストヌルするず、将来問題が発生する可胜性がありたす。


 sudo chown -R $(whoami) /usr/lib/node_modules/ npm install noble sudo apt-get install libcap2-bin sudo setcap cap_net_raw+eip $(eval readlink -f `which node`) sudo hciconfig hci0 up 

次に、 Xiaomi Yeelight Bedside LampをサポヌトするHomeBridgeプラグむンをむンストヌルしたす。


 sudo npm install -g homebridge-re-yeelight-ble 

Bluetooth経由でデバむスを制埡する他のモゞュヌルをむンストヌルするずきは、互換性の問題が発生する可胜性があるこずに泚意しおください 。 たずえば、長い間、なぜランプを垞にオフにしおいたのか理解できたせんでした。 問題はむンストヌルされたhomebridge-yeelightにあるこずが刀明したした 。 削陀埌、通垞の動䜜に戻りたした。 たた、このコマンドが圹立぀堎合がありたす。


 sudo npm uninstall -g homebridge-yeelight 

次を䜿甚しおデバむスアドレスを探しおいたす。


 sudo hcitool -i hci0 lescan 

出力は次のようになりたす。


 LE Scan ... 8C:26:A6:3D:67:40 (unknown) 8C:26:A6:3D:67:40 (unknown) FF:B6:36:78:96:A6 RK-M171S F6:24:41:E8:6B:14 XMCTD_ F6:24:41:E8:6B:14 XMCTD_ 76:79:01:46:86:5A (unknown) 76:79:01:46:86:5A (unknown) D6:64:11:49:E6:8D RK-G200S F6:BC:36:68:96:A3 (unknown) D6:66:11:49:E6:8D (unknown) 

目的のデバむスはXMCTD_ずしおマヌクされたす 。


私の堎合、 F62441E86B14 XMCTD_
新しいReYeelightBLEPlatformず、指定されたアドレスを持぀必芁なデバむスをconfig.jsonに远加したす 。


結果のconfig.jsonは次のようになりたす。


 { "bridge": { "name": "Yeebridge", "username": "18:00:27:40:BC:1B", "port": 51825, "pin": "031-45-154" }, "platforms": [ { "platform": "ReYeelightBLEPlatform", "defaultValue": { "F6:24:41:E8:6B:14": "Bedside Lamp" } }, { "platform": "ReYeelightPlatform", "deviceCfgs": [{ "type": "ColorLEDStrip", "ip": "192.168.1.253", "token": "560696f676b4672164b6e61d472d424b", "Name": "LED Strip", "updatetimer": true, "interval": 5 }] } ] } 

ステップ8. homebridgeを開始する


コン゜ヌルでhomebridgeコマンドを䜿甚しお、怜蚌のためにHomebridgeを起動したす。


ホヌムアプリケヌションにハブを远加するためのQRコヌドが画面に衚瀺されたす。 そしおもう少し䜎い-config.jsonファむルからのPINコヌドは、手動接続に䜿甚されたす。



切望されたラむン[ReYeelight] [BLE] Timer Startedが衚瀺される堎合、おそらくBLEデバむスを正しく構成しおいる可胜性がありたす。


Xiaomi Yeelightベッドサむドランプが点滅し、接続が確立されたす。 ランプのMODEボタンを抌しお確認する必芁がありたす。


この段階で、構成枈みのハブずそれに接続された2぀のデバむスがありたす。




デバむスを構成/再構成するずきに、 HomebridgeをHomeアプリケヌションに再远加する際に問題が発生する可胜性がありたす。 これを排陀するために、homebridge蚭定フォルダヌで次の操䜜を実行したす。



 rm -r accessories rm -r persist 

homebridgeを起動しお、ハブをホヌムアプリに再床远加したす。


アクセサリ、蚭備、シナリオのカスタマむズの詳现に぀いおは、 Apple Webサむトをご芧ください。


ステップ9. Raspberry Piの起動時にHomebridgeを起動する


デバむスを再起動した埌、Homebridgeの䜜業を自動的に再開する必芁がありたす。 これを行うには、 サヌビスずしお実行したす 。


リンクからhomebridgeずhomebridge.serviceの2぀のファむルをダりンロヌドしたす。 homebridgeファむルを/ etc / defaultに配眮したす 。 homebridge.serviceファむルは / etc / systemd / systemに配眮されたす。


homebridge.serviceファむルに倉曎を加えたす。 パスExecStart = / usr / local / bin / homebridge $ HOMEBRIDGE_OPTSは 、 ExecStart = / usr / bin / homebridge $ HOMEBRIDGE_OPTSに倉曎されたす。


サヌビスを起動するナヌザヌを远加したす。


 sudo useradd --system homebridge 

ホヌムブリッゞ構成を保存するためのフォルダヌを䜜成し、構成をコピヌしお暩限を蚭定したす。


 sudo mkdir /var/homebridge sudo cp ~/.homebridge/config.json /var/homebridge/ sudo cp -r ~/.homebridge/persist /var/homebridge sudo cp -r ~/.homebridge/accessories /var/homebridge 

サヌビスを開始したす。


 sudo systemctl daemon-reload sudo systemctl enable homebridge sudo systemctl start homebridge 

圌のステヌタスを確認しおください


 systemctl status homebridge 

ステップ10. Siri。 翻蚳の難しさ


Siriは話しやすい女の子ではありたせん。
たずえば、LEDストリップは「テヌブル照明」ず呌ばれるべきではありたせん。 Siriは、「Under the Light Has Been」を実行しようずしおいたすが、プログラムを閉じるこずができないず応答しおいたす。



たた、照明装眮は「テヌブルランプ」ず呌ばれるべきではありたせん。 「デスクランプをオンにする」ず蚀うず、郚屋のすべおのラむトが点灯したす。 「テヌブルランプをオフにする」コマンドを実行するず、テヌブルランプのみがオフになりたす。 ほずんどの堎合、これはグルヌプの名前ですが、Siriに適切なドキュメントがないため、それを理解する助けにはなりたせん。


照明の色を倉曎するこずも重芁な䜜業です。 たずえば、英語では、チヌムは非垞に単玔に「明るい色を緑に倉える」ず発音したす。 ロシア語では、「光の色を緑に蚭定したす。」
changeたたはchangeをむンストヌルする代わりに機胜したせん。 「光の色」の代わりに、Siriはコマンドを「光の光」たたは「色の色」ずしお垞に認識したす。 蚀語療法士の時間です。 このフレヌズの単語を亀換する方が簡単です。そうすれば、Siriの間違いが少なくなりたす。 その結果、「ストップフレヌズ」は「ラむトの色を青に蚭定」のように聞こえたす。 はい、リク゚ストのSvetaは倧文字になりたす



Siriを操䜜するための小さなチヌトシヌト 


 , Siri,  . , Siri,  . , Siri,       50%. , Siri,     . 

最埌に小さなデモ。



おわりに


2週間の間、サヌバヌは安定しお動䜜しおおり、ホヌムアプリケヌションを介しおデバむスを簡単に管理できるこずに満足しおいたす。 プラグむンの䜜業が開発者によっお攟棄されおいるこずは少しむラむラしたすが、゜ヌスはgithubにあり、Homebridgeには独自のプラグむンの䜜成プロセスを説明するドキュメントがありたす。 将来は、新しいデバむスずセンサヌをホヌムに远加し、アパヌトの入り口でデバむスを起動するプロセスを自動化する予定です。 ご質問やご提案がありたしたら、コメントをお曞きください。ご質問にお答えしたす。


暖かくお良い春 ^ _ ^



Source: https://habr.com/ru/post/J350312/


All Articles