Google Homeの名前とIPアドレスを検出する方法

Google Homeの名前とIPアドレスを検出する方法です。

[Signagify 3] Node.js で Sender アプリ作って mDNS + CastV2 で Chromecast とお話 – Qiita」を参考にしました。

ちなみに、Google HomeアプリでIPアドレスを確認できます。

  1. Google Homeアプリを起動します。
  2. アプリのホーム画面の左上にあるメニューをタップします。
  3. 「デバイス」→「設定」→「情報」にIPアドレスが表示されています。

Google-Homeの検出

multicast-dnsを使ってGoogle-Homeを検出します。

multicast-dnsのインストール

次のコマンドを実行して、multicast-dnsをインストールします。

npm install multicast-dns

Google-Homeの名前とIPアドレスを出力します。

var mdns = require('multicast-dns')();

mdns.on('response', function (response) {
    let name = '';
    let ip = '';
    for (const additional of response.additionals) {
        if (additional.type == 'TXT') name = additional.name;
        if (additional.type == 'A') ip = additional.data;
    }
    if (name != '') console.log(`${name}(${ip})`);
});

mdns.query({
    questions: [{
        name: '_googlecast._tcp.local',
        type: 'PTR'
    }]
});

次のコマンドでプログラムを実行します。

nodejs detect.js

実行すると、次のように出力されます。

Google-Home-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX._googlecast._tcp.local(192.168.XX.X)

コメント

  1. Pingback: ラズパイ3にgoogle-home-notifierを入れるメモ – plog

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください