OTBR 會註冊名為 OpenThread BorderRouter
的 _meshcop._udp
服務。這項服務是在 OTBR CMakeLists.txt 檔案中設定。根據 Thread 規格,Thread 邊界路由器必須為 Thread 邊界代理程式服務發布 _meshcop._udp
服務。Thread 邊界路由器裝置可能會發布其實作的其他服務,但這取決於每個特定裝置和開發人員。
您可以透過多種方式探索 Thread 網路。
DNS 服務探索 (DNS-SD)
使用 dns-sd
瀏覽 _meshcop._udp.
類型的服務執行個體:
dns-sd -B _meshcop._udp local
Browsing for _meshcop._udp.local DATE: ---Tue 16 Nov 2021--- 13:31:03.197 ...STARTING... Timestamp A/R Flags if Domain Service Type Instance Name 13:31:03.198 Add 2 6 local. _meshcop._udp. OpenThread BorderRouter (#3991)
使用 dns-sd
解析服務執行個體:
dns-sd -L "OpenThread BorderRouter (#3991)" _meshcop._udp local
Lookup OpenThread BorderRouter #(3991)._meshcop._udp.local DATE: ---Tue 16 Nov 2021--- 13:33:05.197 ...STARTING... 13:33:05.350 OpenThread\032BorderRouter\032(#3991)._meshcop._udp.local. can be reached at raspberrypi.local.:49155 (interface 3)
使用 dns-sd
解析主機名稱:
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 (#3991) _meshcop._udp local = eth0 IPv6 OpenThread BorderRouter (#3991) _meshcop._udp local hostname = [raspberrypi.local] address = [192.168.0.10] port = [49155] txt = []
mDNS 應用程式
在 Google Play 中搜尋 mDNS 探索應用程式,例如:
- Android 版服務瀏覽器
- iOS 版Discovery - DNS-SD Browser