OTBR は、OpenThread BorderRouter
という名前の _meshcop._udp
サービスを登録します。このサービスは、OTBR CMakeLists.txt ファイルで設定されます。
Thread ネットワークを検出する方法はいくつかあります。
DNS Service Discovery(DNS-SD)
dns-sd
を使用して、raspberrypi.local.:49155
でサービスを参照します。
dns-sd -L "OpenThread BorderRouter" _meshcop._udp local
Lookup OpenThread BorderRouter._meshcop._udp.local DATE: ---Tue 16 Nov 2021--- 13:31:03.197 ...STARTING... 13:31:03.350 OpenThread\032BorderRouter._meshcop._udp.local. can be reached at raspberrypi.local.:49155 (interface 3)
OTBR ドメイン名に関連付けられた IP アドレスを取得します。
dns-sd -G v4/v6 raspberrypi.local
DATE: ---Tue 16 Nov 2021--- 14:21:29.485 ...STARTING... Timestamp A/R Flags if Hostname Address TTL 14:21:29.486 Add 3 3 raspberrypi.local. FDDE:AD11:11DE:0000:74D0:6FC9:6BE6:3582%<0> 120 14:21:29.486 Add 3 3 raspberrypi.local. FD00:0000:0000:0000:74D0:6FC9:6BE6:3582%<0> 120 14:21:29.486 Add 3 3 raspberrypi.local. FE80:0000:0000:0000:74D0:6FC9:6BE6:3582%eth0 120 14:21:29.486 Add 3 3 raspberrypi.local. FE80:0000:0000:0000:287F:87CA:F4B3:498A%eth0 120 14:21:29.486 Add 2 3 raspberrypi.local. 192.168.0.10 120
IP アドレスに ping します。dns-sd
の結果から、ネットワークから到達可能なアドレス(グローバル <0>
アドレス FD00::74D0:6FC9:6BE6:3582
など)を選択します。
ping -6 FD00::74D0:6FC9:6BE6:3582
PING FD00::74D0:6FC9:6BE6:3582(fd00::74d0:6fc9:6be6:3582) 56 data bytes 64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=1 ttl=64 time=27.1 ms 64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=2 ttl=64 time=3.18 ms 64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=3 ttl=64 time=2.76 ms
Avahi ユーティリティ
avahi-daemon
と avahi-utils
をインストールします。
sudo apt-get install -y avahi-daemon avahi-utils
avahi-daemon
を起動します。
sudo service avahi-daemon start
次のように avahi-browse
を使用します。
avahi-browse -r -t _meshcop._udp
+ eth0 IPv6 OpenThread BorderRouter _meshcop._udp local = eth0 IPv6 OpenThread BorderRouter _meshcop._udp local hostname = [raspberrypi.local] address = [192.168.0.10] port = [49155] txt = []
mDNS アプリ
Google Play で mDNS 検出アプリを検索します。次に例を示します。
- Android 用サービス ブラウザ
- 検出 - DNS-SD ブラウザ(iOS)