Google Home miniだが、Androidアプリは自動で探すことができている。
何か名前解決するしくみがあるに違いない。
avahi-discoverというツールで接続されているかどうかは確認出来るらしい。
Discovery Troubleshooting | Cast | Google Developers
apt installしただけではavahi-daemonの立ち上げができなかった。
何も考えずに、こちらのssh.serviceをそのまま設定ファイルにすると、うまくいった。
avahi-daemonを設定してDNSサーバ運用をやめた - Qiita
おお、見えている。
AvahiはAppleのBonjourと同じようなプロトコルなのか、ツール名なのかわからんが、そんな感じのものらしい。
googleのものが2つ出てくるが、_googlecast._tcpの方がそれなのかな。
avahi-resolveでIPアドレスから名前を引けるらしい。
どーでもいい日々: mDNS、Avahi、Bonjour
やってみたのだが、これはavahi-resolveが失敗した。
困ったことに、ごにょごにょやっているうちに、pingが通るようになってしまった・・・。
$ ping xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.local
このxxx...のところは、UUIDっぽい。
Avahi Discoveryで見えるところの、_googlezone._tcpの下に出てくる名前の方でもあるし、_googlecast._tcpの項目にある"Address"でもある。
だから、jsファイルのip()も、その名前を書けばよいことになる。
ただ、デバイス名からアドレスを引っ張ってくる方はダメなようだ。
これはmdns.createBrowser()したインスタンスの中で起きているようだから、うちがnodejsをv8とかにしたせいかもしれん。
まあ、深くは考えまい。
AvahiというかmDNSというか、とにかく機器名からIPアドレスを探すという処理を使わないのであれば、google-home-notifier.jsからmdnsとbrowserは削除することができる。
それ以外で使っているのは、castv2-clientというやつと、google-tts-apiというやつか。
ttsは、Text to Speechの略らしく、文字をしゃべるということになるか。
うーん、これはわからん。。。
ただ、引数でしゃべる速度を変えるくらいだったらできそうだ。
speed()を追加してみた。example2.jsにサンプルを追加した。
デフォルトは1で、0に近づくとゆっくりになるようだ。
引数の説明で"0.24"という数字が出てきたので、それがゆっくりの下限なのかな?
https://github.com/hirokuma/google-home-notifier-test/tree/d75f4f314aa5bdcbd6da2e78d6be776d5d6e6acf
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。