- 【IFTTT】Google home で IoT Part.2【Hue】
166 :名無し に一致する情報は見つかりませんでした。[sage]:2018/01/20(土) 00:19:26.68 ID:YggWRyXg - >>156
termuxがlibnss-mdnsパッケージを持っていないから無理だな。 google-home-notifierはHomeをCastデバイスとして扱うことで実現していて、 Castデバイスとして扱うにはmDNSによるディスカバリーが必須。 一方、termuxはAndroidのLinux部分に特殊なシェルと専用リポジトリを 被せる形で実装しているみたいだから、外部リポジトリは使えない。 (その特殊なシェルに対応していないパッケージは使えない。) 必須パッケージが供給されてないし外部から追加もできないから無理、ということ。 >>164 691氏の環境ではbroadlinkjs-rmっていうlprhodesという方が書いたモジュールを 使って黒豆を操作しているんだけど、このモジュールは最初にDiscoverが行われる仕組みで、 それに黒豆から応答がないと認識してくれない。 で、この通信がブロードキャストになっているので、同セグでないと繋がらない。 この実装はbroadlinkjs-rmのBroadlink.prototype.discoverファンクションで行われているので、 ここで設定されているブロードキャスト設定を全てユニキャスト設定にすれば動作すると思われる。 インターネット側に環境持ってないから完全な確認はできてないんだけど、 ローカルでユニキャスト設定してもDiscover出来たので多分これでいける。 通信は平文でインターネット上を通るので、設定および環境構築は自己責任で。 (自己責任扱いを明確にするため、具体的なソースコードの編集位置までは明示しない。) 尚、691氏環境のhubotにIPアドレスを入れるアレは「すでに認識済の」黒豆に 別名を付けて複数の黒豆がある場合にコマンドの送信切り替えをするもので、 あれでIPアドレスを入れたところでbroadlinkjs-rmが認識しないと何も起きないよ。
|
- 【IFTTT】Google home で IoT Part.2【Hue】
167 :名無し に一致する情報は見つかりませんでした。[sage]:2018/01/20(土) 00:29:03.97 ID:YggWRyXg - >>166
ごめん、ちょっと認識間違い。 691氏環境ではhomebridge-broadlink-rmが提供するgetDevice.jsが使われていて、 このgetDevice.jsでDiscover出来た黒豆に対して命令をする実装になっている。 この中でファンクションとして呼び出されているのがbroadlinkjs-rmの Broadlink.prototype.discoverファンクションで、これが命令の実体。 で、このファンクションはブロードキャストで探す仕組みなので、同セグでしか動作しない。 だった。ブロードキャストをユニキャストの下りからは書いた通り。 最初うまくDiscoverが動作しなくてあれこれ実装調べてたのが暫く経って脳内で変化してしまった。
|
- 【IFTTT】Google home で IoT Part.2【Hue】
186 :名無し に一致する情報は見つかりませんでした。[sage]:2018/01/20(土) 15:23:42.70 ID:YggWRyXg - >>184
ちょっと前のレスくらい読んでくれよ。 あのコマンドはデバイス登録コマンドじゃない。 まずは本当に黒豆がwifiに繋がってるか確認してみ。
|