Explorar o código

openthread: add README for discovery delegate.

zhangwenxu %!s(int64=3) %!d(string=hai) anos
pai
achega
a1e0273db2
Modificáronse 1 ficheiros con 56 adicións e 100 borrados
  1. 56 100
      examples/openthread/ot_br/README.md

+ 56 - 100
examples/openthread/ot_br/README.md

@@ -117,105 +117,6 @@ I(8139) OPENTHREAD:[NOTE]-MLE-----: Allocate router id 50
 I(8139) OPENTHREAD:[NOTE]-MLE-----: RLOC16 fffe -> c800
 I(8159) OPENTHREAD:[NOTE]-MLE-----: Role Detached -> Leader
 ```
-## Using the border agent feature
-
-You need to build ot-commissioner on the host machine and another Thread end device running OpenThread cli.
-
-You can find the guide to build and run ot-commissioner [here](https://openthread.io/guides/commissioner/build).
-
-Make sure to configure the same PSKc as the one in sdkconfig in ot-commisioner's config file `non-ccm-config.json`
-
-### Connect the commissioner to the border router
-
-Note that the target address `192.168.1.100` shall match the actual Wi-Fi IP address of the device. `49154` is a port number used by the OT commissioner.
-
-``` bash
-$ commissioner-cli /usr/local/etc/commissioner/non-ccm-config.json
-> start 192.168.1.100 49154
-[done]
-> active
-true
-[done]
-```
-
-You can also verify the commissioner connection from the border router's log:
-
-```
-I(59709) OPENTHREAD:[INFO]-MESH-CP-: DTLS started
-I(65469) OPENTHREAD:[INFO]-MESH-CP-: Commissioner connected
-I(65479) OPENTHREAD:[INFO]-MESH-CP-: Forwarded request to leader on c/lp
-I(65489) OPENTHREAD:[INFO]-MESH-CP-: received petition
-I(65489) OPENTHREAD:[INFO]-MESH-CP-: sent petition response
-I(65489) OPENTHREAD:[INFO]-MESH-CP-: commissioner accepted: session ID=3077, ALOC=fd04:b642:9ba9:fcdc:0:ff:fe00:fc35
-I(65499) OPENTHREAD:[INFO]-MESH-CP-: Sent to commissioner
-I(65509) OPENTHREAD:[INFO]-CORE----: Notifier: StateChanged (0x00000201) [Ip6+ NetData]
-I(65529) OPENTHREAD:[INFO]-BBR-----: PBBR state: None
-I(65539) OPENTHREAD:[INFO]-BBR-----: Domain Prefix: ::/0, state: None
-I(65559) OPENTHREAD:[INFO]-MESH-CP-: Forwarded request to leader on c/ag
-W(65559) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65579) OPENTHREAD:[INFO]-MESH-CP-: sent active dataset get response to fd04:b642:9ba9:fcdc:0:ff:fe00:c800
-W(65579) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65589) OPENTHREAD:[INFO]-MESH-CP-: Sent to commissioner
-I(65629) OPENTHREAD:[INFO]-MESH-CP-: Forwarded request to leader on c/ag
-W(65629) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65649) OPENTHREAD:[INFO]-MESH-CP-: sent active dataset get response to fd04:b642:9ba9:fcdc:0:ff:fe00:c800
-W(65649) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65659) OPENTHREAD:[INFO]-MESH-CP-: Sent to commissioner
-I(65689) OPENTHREAD:[INFO]-MESH-CP-: Proxy transmit sent to fd04:b642:9ba9:fcdc:0:ff:fe00:fc00
-W(65689) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65699) OPENTHREAD:[INFO]-MESH-CP-: sent pending dataset get response to fd04:b642:9ba9:fcdc:0:ff:fe00:fc35
-I(65709) OPENTHREAD:[INFO]-MESH-CP-: Sent to commissioner on c/ur
-I(65749) OPENTHREAD:[INFO]-MESH-CP-: Proxy transmit sent to fd04:b642:9ba9:fcdc:0:ff:fe00:fc00
-W(65749) OPENTHREAD:[WARN]-MESH-CP-: Failed to notify commissioner on ProxyRx (c/ur): DestinationAddressFiltered
-I(65759) OPENTHREAD:[INFO]-MESH-CP-: sent commissioning dataset set response
-I(65769) OPENTHREAD:[INFO]-MESH-CP-: Sent to commissioner on c/ur
-I(65769) OPENTHREAD:[INFO]-CORE----: Notifier: StateChanged (0x00000200) [NetData]
-I(65789) OPENTHREAD:[INFO]-BBR-----: PBBR state: None
-
-```
-
-### Commission the joiner
-
-In the OT commissioner cli, run:
-``` bash
-> joiner enableall meshcop J01NU5
-[done]
->
-```
-
-In the joining device's cli, run:
-
-```bash
-> ifconfig up
-Done
-> joiner start J01NU5
-Done
-> Join success!
-> thread start
-Done
-```
-
-You can also find these log lines in the border router:
-
-```
-I(531219) OPENTHREAD:[INFO]-MESH-CP-: Received relay transmit
-I(531229) OPENTHREAD:[INFO]-MESH-CP-: Received kek
-I(531279) OPENTHREAD:[INFO]-MAC-----: Sent IPv6 UDP msg, len:85, chksum:14a0, to:92335c4b320830fb, sec:no, prio:net
-I(531279) OPENTHREAD:[INFO]-MAC-----:     src:[fe80:0:0:0:ac2f:720a:6fe4:c837]:1000
-I(531289) OPENTHREAD:[INFO]-MAC-----:     dst:[fe80:0:0:0:9033:5c4b:3208:30fb]:1000
-I(531299) OPENTHREAD:[INFO]-MESH-CP-: Sending JOIN_ENT.ntf
-I(531299) OPENTHREAD:[INFO]-MESH-CP-: Sent joiner entrust length = 161
-
-......
-
-I(552699) OPENTHREAD:[INFO]-MLE-----: Receive Child ID Request (fe80:0:0:0:8434:c5ec:fe9f:c088)
-I(552729) OPENTHREAD:[INFO]-CORE----: [settings] Added ChildInfo {rloc:0xc801, extaddr:8634c5ecfe9fc088, timeout:240, mode:0x0f, version:3}
-I(552729) OPENTHREAD:[INFO]-MLE-----: Send Child ID Response (fe80:0:0:0:8434:c5ec:fe9f:c088,0xc801)
-I(552739) OPENTHREAD:[INFO]-CORE----: Notifier: StateChanged (0x00000400) [Child+]
-I(552749) OPENTHREAD:[INFO]-UTIL----: Starting Child Supervision
-```
-
-The device has now joined the same Thread network based on the key set by the commissioner.
 
 ## Bidirectional IPv6 connectivity
 
@@ -236,7 +137,7 @@ For mobile devices, the route table rules will be automatically configured after
 
 ### Testing IPv6 connectivity
 
-Now in the joining device, check the IP addresses:
+Now in the Thread end device, check the IP addresses:
 
 ```
 > ipaddr
@@ -262,6 +163,7 @@ PING fde6:75ff:def4:3bc3:9e9e:3ef:4245:28b5(fde6:75ff:def4:3bc3:9e9e:3ef:4245:28
 
 The newly introduced service registration protocol([SRP](https://datatracker.ietf.org/doc/html/draft-ietf-dnssd-srp-10)) allows devices in the Thread network to register a service. The border router will forward the service to the Wi-Fi network via mDNS.
 
+### Publish the service using SRP
 Now we'll publish the service `my-service._test._udp` with hostname `test0` and port 12345
 
 ```
@@ -293,3 +195,57 @@ $ avahi-browse -r _test._udp -t
    port = [12345]
    txt = []
 ```
+
+### Discovery delegate
+
+First, the service `testhost._test._udp` need to be published using `avahi-publish-service` on the Wi-Fi network(for example Host).
+
+```bash
+$ avahi-publish-service testhost _test._udp 12345 test=1 dn="aabbbb"
+```
+
+Then get the border router's OMR prefix global unicast address(or ML-EID), and configure it on the Thread end device.
+
+On the border router:
+```
+> ipaddr
+fdde:ad00:beef:0:0:ff:fe00:fc10
+fd9b:347f:93f7:1:1003:8f00:bcc1:3038
+fdde:ad00:beef:0:0:ff:fe00:fc00
+fdde:ad00:beef:0:0:ff:fe00:b800
+fdde:ad00:beef:0:f891:287:866:776
+fe80:0:0:0:77:bca6:6079:785b
+Done
+```
+
+On the Thread end device:
+```
+> dns config fd9b:347f:93f7:1:1003:8f00:bcc1:3038
+(or
+> dns config fdde:ad00:beef:0:f891:287:866:776)
+Done
+```
+
+Now the service published on the Host can be discovered on the Thread end device.
+```
+> dns resolve FA001208.default.service.arpa.
+DNS response for FA001208.default.service.arpa. - fdde:ad00:beef:cafe:b939:26be:7516:b87e TTL:120
+Done
+
+> dns browse _test._udp.default.service.arpa.
+DNS browse response for _test._udp.default.service.arpa.
+testhost
+    Port:5683, Priority:0, Weight:0, TTL:120
+    Host:FA001208.default.service.arpa.
+    HostAddress:fdde:ad00:beef:cafe:b939:26be:7516:b87e TTL:120
+    TXT:[test=31, dn=616162626262] TTL:120
+Done
+
+> dns service testhost _test._udp.default.service.arpa.
+DNS service resolution response for testhost for service _test._udp.default.service.arpa.
+Port:5683, Priority:0, Weight:0, TTL:120
+Host:FA001208.default.service.arpa.
+HostAddress:fdde:ad00:beef:cafe:b939:26be:7516:b87e TTL:120
+TXT:[test=31, dn=616162626262] TTL:120
+Done
+```