Lines Matching full:mesh

3 Bluetooth Mesh Shell
6 The Bluetooth Mesh shell subsystem provides a set of Bluetooth Mesh shell commands for the
7 :ref:`shell_api` module. It allows for testing and exploring the Bluetooth Mesh API through an
10 The Bluetooth Mesh shell interface provides access to most Bluetooth Mesh features, including
16 The Bluetooth Mesh shell subsystem depends on the application to create the composition data and do
17 the mesh initialization.
22 The Bluetooth Mesh shell subsystem is most easily used through the Bluetooth Mesh shell application
24 interact with the Bluetooth Mesh shell application.
29 The Bluetooth Mesh shell subsystem adds a single ``mesh`` command, which holds a set of
30 sub-commands. Every time the device boots up, make sure to call ``mesh init`` before any of the
31 other Bluetooth Mesh shell commands can be called::
33 uart:~$ mesh init
40 The mesh node must be provisioned to become part of the network. This is only necessary the first
46 uart:~$ mesh prov local 0 0x0001
48 Since all mesh nodes use the same values for the default network key, this can be done on multiple
51 ``mesh prov pb-adv on`` or ``mesh prov pb-gatt on``. The beacons can be picked up by an external
54 Once the mesh node is part of a network, its transmission parameters can be controlled by the
57 * To set the destination address, call ``mesh target dst <Addr>``.
58 * To set the network key index, call ``mesh target net <NetKeyIdx>``.
59 * To set the application key index, call ``mesh target app <AppKeyIdx>``.
68 ``mesh prov local`` command above), we can perform self-configuration through any of the
73 uart:~$ mesh models cfg get-comp
79 uart:~$ mesh models cfg appkey add 0 0
84 With an application key added (see above), the mesh node's transition parameters are all valid, and
85 the Bluetooth Mesh shell can send raw mesh messages through the network.
89 uart:~$ mesh test net-send 82020100
99 uart:~$ mesh target dst 0xffff
101 With the destination address set to ``0xffff``, any other mesh nodes in the network with the
108 Sending raw mesh packets is a good way to test model message handler implementations during
110 reception of the model messages can be tested this way, as the Bluetooth Mesh shell only includes
111 the foundation models. To receive a packet in the mesh node, you have to add a model with a valid
112 opcode handler list to the composition data in ``subsys/bluetooth/mesh/shell.c``, and print the
118 The Bluetooth Mesh shell commands are parsed with a variety of formats:
142 The Bluetooth Mesh shell implements a large set of commands. Some of the commands accept parameters,
144 ``mesh lpn set <value: off, on>``. Mandatory parameters are marked with angle brackets (e.g.
147 The Bluetooth Mesh shell commands are divided into the following groups:
156 mesh shell commands can be shown in the shell by calling ``mesh`` without any arguments.
161 ``mesh init``
164 Initialize the mesh shell. This command must be run before any other mesh command.
166 ``mesh reset-local``
169 Reset the local mesh node to its initial unprovisioned state. This command will also clear
179 ``mesh target dst [DstAddr]``
182 Get or set the message destination address. The destination address determines where mesh
185 …* ``DstAddr``: If present, sets the new 16-bit mesh destination address. If omitted, the current d…
188 ``mesh target net [NetKeyIdx]``
192 to encrypt mesh packets that are sent with the shell, but has no effect on modules outside
199 ``mesh target app [AppKeyIdx]``
203 key is used to encrypt mesh packets that are sent with the shell, but has no effect on
213 ``mesh lpn set <Val(off, on)>``
221 ``mesh lpn poll``
230 ``mesh test net-send <HexString>``
233 Send a raw mesh message with the current destination address, network and application index.
238 ``mesh test iv-update``
244 ``mesh test iv-update-test <Val(off, on)>``
252 ``mesh test rpl-clear``
259 Clearing the replay protection list breaks the security mechanisms of the mesh node, making
266 ``mesh test health-srv add-fault <FaultID>``
274 ``mesh test health-srv del-fault [FaultID]``
288 ``mesh prov pb-gatt <Val(off, on)>``
292 beacon allows the mesh node to be discovered by nearby GATT based provisioners, and
301 ``mesh prov pb-adv <Val(off, on)>``
304 Start or stop advertising the unprovisioned beacon. The unprovisioned beacon allows the mesh
313 ``mesh prov remote-adv <UUID(1-16 hex)> <NetKeyIdx> <Addr> <AttDur(s)>``
316 Provision a nearby device into the mesh. The mesh node starts scanning for unprovisioned
317 beacons with the given UUID. Once found, the unprovisioned device will be added to the mesh
329 ``mesh prov remote-gatt <UUID(1-16 hex)> <NetKeyIdx> <Addr> <AttDur(s)>``
332 Provision a nearby device into the mesh. The mesh node starts scanning for connectable
334 added to the mesh network with the given unicast address, and given the network key
342 ``mesh prov uuid [UUID(1-16 hex)]``
345 Get or set the mesh node's UUID, used in the unprovisioned beacons.
350 ``mesh prov input-num <Number>``
360 ``mesh prov input-str <String>``
370 ``mesh prov static-oob [Val(1-32 hex)]``
381 ``mesh prov local <NetKeyIdx> <Addr> [IVI]``
384 Provision the mesh node itself. If the Configuration database is enabled, the network key
392 ``mesh prov beacon-listen <Val(off, on)>``
401 ``mesh prov remote-pub-key <PubKey>``
407 ``mesh prov auth-method input <Action> <Size>``
421 ``mesh prov auth-method output <Action> <Size>``
435 ``mesh prov auth-method static <Val(1-16 hex)>``
442 ``mesh prov auth-method none``
450 The Proxy Server module is an optional mesh subsystem that can be enabled through the
453 ``mesh proxy identity-enable``
459 The Proxy Client module is an optional mesh subsystem that can be enabled through the
462 ``mesh proxy connect <NetKeyIdx>``
465 Auto-Connect a nearby proxy server into the mesh.
470 ``mesh proxy disconnect <NetKeyIdx>``
478 ``mesh proxy solicit <NetKeyIdx>``
494 The Configuration Client model is an optional mesh subsystem that can be enabled through the
496 module (``mesh models cfg``) inside the ``mesh models`` subcommand list. This module will work on
499 application. This shell module can be used for configuring itself and other nodes in the mesh
502 The Configuration Client uses general message parameters set by ``mesh target dst`` and ``mesh
503 target net`` to target specific nodes. When the Bluetooth Mesh shell node is provisioned, given that
506 Similarly, when another node has been provisioned by the Bluetooth Mesh shell, the Configuration
510 it will only be able to configure itself and the mesh nodes it provisioned. The following steps are
513 * Initialize the client node (``mesh init``).
514 * Create the CDB (``mesh cdb create``).
515 * Provision the local device (``mesh prov local``).
517 * Monitor the composition data of the local node (``mesh models cfg get-comp``).
519 * Provision other devices (``mesh prov beacon-listen``) (``mesh prov remote-adv``)
520 (``mesh prov remote-gatt``).
522 * Monitor the newly provisioned nodes and their addresses (``mesh cdb show``).
523 * Monitor the composition data of the target device (``mesh models cfg get-comp``).
526 ``mesh models cfg target get``
531 ``mesh models cfg help``
536 ``mesh models cfg reset``
541 ``mesh models cfg timeout [Timeout(s)]``
549 ``mesh models cfg get-comp [Page]``
558 ``mesh models cfg beacon [Val(off, on)]``
566 ``mesh models cfg ttl [TTL]``
574 ``mesh models cfg friend [Val(off, on)]``
586 ``mesh models cfg gatt-proxy [Val(off, on)]``
598 ``mesh models cfg relay [<Val(off, on)> [<Count> [Int(ms)]]]``
612 ``mesh models cfg node-id <NetKeyIdx> [Identity]``
620 ``mesh models cfg polltimeout-get <LPNAddr>``
627 ``mesh models cfg net-transmit-param [<Count> <Int(ms)>]``
636 ``mesh models cfg netkey add <NetKeyIdx> [Key(1-16 hex)]``
645 ``mesh models cfg netkey upd <NetKeyIdx> [Key(1-16 hex)]``
653 ``mesh models cfg netkey get``
659 ``mesh models cfg netkey del <NetKeyIdx>``
667 ``mesh models cfg appkey add <NetKeyIdx> <AppKeyIdx> [Key(1-16 hex)]``
677 ``mesh models cfg appkey upd <NetKeyIdx> <AppKeyIdx> [Key(1-16 hex)]``
686 ``mesh models cfg appkey get <NetKeyIdx>``
694 ``mesh models cfg appkey del <NetKeyIdx> <AppKeyIdx>``
703 ``mesh models cfg model app-bind <Addr> <AppKeyIdx> <MID> [CID]``
715 ``mesh models cfg model app-unbind <Addr> <AppKeyIdx> <MID> [CID]``
726 ``mesh models cfg model app-get <ElemAddr> <MID> [CID]``
736 ``mesh models cfg model pub <Addr> <MID> [CID] [<PubAddr> <AppKeyIdx> <Cred(off, on)> <TTL> <PerRes…
763 ``mesh models cfg model pub-va <Addr> <UUID(1-16 hex)> <AppKeyIdx> <Cred(off, on)> <TTL> <PerRes> <…
789 ``mesh models cfg model sub-add <ElemAddr> <SubAddr> <MID> [CID]``
802 ``mesh models cfg model sub-del <ElemAddr> <SubAddr> <MID> [CID]``
813 ``mesh models cfg model sub-add-va <ElemAddr> <LabelUUID(1-16 hex)> <MID> [CID]``
826 ``mesh models cfg model sub-del-va <ElemAddr> <LabelUUID(1-16 hex)> <MID> [CID]``
836 ``mesh models cfg model sub-ow <ElemAddr> <SubAddr> <MID> [CID]``
846 ``mesh models cfg model sub-ow-va <ElemAddr> <LabelUUID(1-16 hex)> <MID> [CID]``
858 ``mesh models cfg model sub-del-all <ElemAddr> <MID> [CID]``
867 ``mesh models cfg model sub-get <ElemAddr> <MID> [CID]``
877 ``mesh models cfg krp <NetKeyIdx> [Phase]``
889 ``mesh models cfg hb-sub [<Src> <Dst> <Per>]``
905 ``mesh models cfg hb-pub [<Dst> <Count> <Per> <TTL> <Features> <NetKeyIdx>]``
938 The Health Client model is an optional mesh subsystem that can be enabled through the
940 module (``mesh models health``) inside the ``mesh models`` subcommand list. This module will work on
944 on devices in a Mesh network.
948 the commands ``mesh models health instance set`` and ``mesh models health instance get-all``.
950 The Health Client may use the general messages parameters set by ``mesh target dst``,
951 ``mesh target net`` and ``mesh target app`` to target specific nodes. If the shell target
955 ``mesh models health instance set <ElemIdx>``
962 ``mesh models health instance get-all``
967 ``mesh models health fault-get <CID>``
975 ``mesh models health fault-clear <CID>``
983 ``mesh models health fault-clear-unack <CID>``
991 ``mesh models health fault-test <CID> <TestID>``
1000 ``mesh models health fault-test-unack <CID> <TestID>``
1009 ``mesh models health period-get``
1015 ``mesh models health period-set <Divisor>``
1026 ``mesh models health period-set-unack <Divisor>``
1037 ``mesh models health attention-get``
1043 ``mesh models health attention-set <Time(s)>``
1051 ``mesh models health attention-set-unack <Time(s)>``
1062 The :ref:`bluetooth_mesh_blob_cli` can be added to the mesh shell by enabling the
1066 ``mesh models blob cli target <Addr>``
1074 ``mesh models blob cli caps [<Group> [<TimeoutBase>]]``
1083 ``mesh models blob cli tx <Id> <Size> <BlockSizeLog> <ChunkSize> [<Group> [<Mode(push, pull)>]]``
1088 nodes must first be configured to receive the transfer using the ``mesh models blob srv rx``
1099 ``mesh models blob cli tx-cancel``
1104 ``mesh models blob cli tx-get [Group]``
1113 ``mesh models blob cli tx-suspend``
1119 ``mesh models blob cli tx-resume``
1124 ``mesh models blob cli instance-set <ElemIdx>``
1132 ``mesh models blob cli instance-get-all``
1141 The :ref:`bluetooth_mesh_blob_srv` can be added to the mesh shell by enabling the
1143 receiving any BLOB data, but the implementation in the mesh shell will discard the incoming data.
1146 ``mesh models blob srv rx <ID> [<TimeoutBase(10s steps)>]``
1155 ``mesh models blob srv rx-cancel``
1160 ``mesh models blob srv instance-set <ElemIdx>``
1168 ``mesh models blob srv instance-get-all``
1176 BLOB flash stream configuration can be added to the mesh shell by enabling the
1181 ``mesh models blob flash-stream-set <AreaID> [<Offset>]``
1189 ``mesh models blob flash-stream-unset``
1198 The Firmware Update Client model can be added to the mesh shell by enabling configuration options
1204 ``mesh models dfu slot add <Size> <FwID> [<Metadata>]``
1210 ``mesh models dfu slot del`` shell command and then add it again.
1217 ``mesh models dfu slot del <SlotIdx>``
1225 ``mesh models dfu slot get <SlotIdx>``
1233 ``mesh models dfu cli target <Addr> <ImgIdx>``
1242 ``mesh models dfu cli target-state``
1248 ``mesh models dfu cli target-imgs [<MaxCount>]``
1256 ``mesh models dfu cli target-check <SlotIdx> <TargetImgIdx>``
1267 ``mesh models dfu cli send <SlotIdx> [<Group>]``
1276 ``mesh models dfu cli cancel [<Addr>]``
1287 ``mesh models dfu cli apply``
1294 ``mesh models dfu cli confirm``
1301 ``mesh models dfu cli suspend``
1307 ``mesh models dfu cli resume``
1313 ``mesh models dfu cli progress``
1319 ``mesh models dfu cli instance-set <ElemIdx>``
1327 ``mesh models dfu cli instance-get-all``
1336 The Firmware Update Server model can be added to the mesh shell by enabling configuration options
1339 mesh shell Firmware Update Server will discard the incoming firmware data, but otherwise behave as a
1343 ``mesh models dfu srv applied``
1349 As the mesh shell Firmware Update Server doesn't actually apply the incoming firmware image,
1354 ``mesh models dfu srv progress``
1359 ``mesh models dfu srv rx-cancel``
1364 ``mesh models dfu srv instance-set <ElemIdx>``
1372 ``mesh models dfu srv instance-get-all``
1383 The Firmware Distribution Server model commands can be added to the mesh shell by enabling the
1388 ``mesh models dfd receivers-add <Addr>,<FwIdx>[;<Addr>,<FwIdx>]...``
1395 ``mesh models dfd receivers-delete-all`` is called.
1400 ``mesh models dfd receivers-delete-all``
1405 ``mesh models dfd receivers-get <First> <Count>``
1413 ``mesh models dfd capabilities-get``
1418 ``mesh models dfd get``
1423 ``mesh models dfd start <AppKeyIdx> <SlotIdx> [<Group> [<PolicyApply> [<TTL> [<TimeoutBase> [<XferM…
1436 ``mesh models dfd suspend``
1441 ``mesh models dfd cancel``
1446 ``mesh models dfd apply``
1451 ``mesh models dfd fw-get <FwID>``
1458 ``mesh models dfd fw-get-by-idx <Idx>``
1465 ``mesh models dfd fw-delete <FwID>``
1472 ``mesh models dfd fw-delete-all``
1477 ``mesh models dfd instance-set <ElemIdx>``
1485 ``mesh models dfd instance-get-all``
1500 ``mesh models dfu metadata comp-clear``
1505 ``mesh models dfu metadata comp-add <CID> <ProductID> <VendorID> <Crpl> <Features>``
1521 ``mesh models dfu metadata comp-elem-add <Loc> <NumS> <NumV> {<SigMID>|<VndCID> <VndMID>}...``
1532 ``mesh models dfu metadata comp-hash-get [<Key(16 hex)>]``
1539 ``mesh models dfu metadata encode <Major> <Minor> <Rev> <BuildNum> <Size> <CoreType> <Hash> <Elems>…
1554 …* ``Hash``: Hash of the composition data generated using ``mesh models dfu metadata comp-hash-get`…
1562 The SAR Configuration client is an optional mesh model that can be enabled through the
1568 ``mesh models sar tx-get``
1573 ``mesh models sar tx-set <SegIntStep> <UniRetransCnt> <UniRetransWithoutProgCnt> <UniRetransIntStep…
1586 ``mesh models sar rx-get``
1591 ``mesh models sar rx-set <SegThresh> <AckDelayInc> <DiscardTimeout> <RxSegIntStep> <AckRetransCount…
1606 The Private Beacon Client model is an optional mesh subsystem that can be enabled through the
1609 ``mesh models prb priv-beacon-get``
1617 ``mesh models prb priv-beacon-set <Val(off, on)> <RandInt(10s steps)>``
1625 ``mesh models prb priv-gatt-proxy-get``
1634 ``mesh models prb priv-gatt-proxy-set <Val(off, on)>``
1644 ``mesh models prb priv-node-id-get <NetKeyIdx>``
1655 ``mesh models prb priv-node-id-set <NetKeyIdx> <State>``
1670 The Opcodes Aggregator client is an optional Bluetooth Mesh model that can be enabled through the
1675 ``mesh models opagg seq-start <ElemAddr>``
1684 ``mesh models opagg seq-send``
1690 ``mesh models opagg seq-abort``
1700 The Remote Provisioning Client is an optional Bluetooth Mesh model enabled through the
1702 provides support for remote provisioning of devices into a mesh network by using the Remote
1706 Provisioning Servers on devices in a mesh network.
1708 ``mesh models rpr scan <Timeout(s)> [<UUID(1-16 hex)>]``
1716 ``mesh models rpr scan-ext <Timeout(s)> <UUID(1-16 hex)> [<ADType> ... ]``
1725 ``mesh models rpr scan-srv [<ADType> ... ]``
1732 ``mesh models rpr scan-caps``
1737 ``mesh models rpr scan-get``
1742 ``mesh models rpr scan-stop``
1747 ``mesh models rpr link-get``
1752 ``mesh models rpr link-close``
1757 ``mesh models rpr provision-remote <UUID(1-16 hex)> <NetKeyIdx> <Addr>``
1760 Provision a mesh node using the PB-Remote provisioning bearer.
1766 ``mesh models rpr reprovision-remote <Addr> [<CompChanged(false, true)>]``
1769 Reprovision a mesh node using the PB-Remote provisioning bearer.
1774 ``mesh models rpr instance-set <ElemIdx>``
1782 ``mesh models rpr instance-get-all``
1791 The Large Composition Data Client is an optional Bluetooth Mesh model enabled through the
1796 ``mesh models lcd large-comp-data-get <Page> <Offset>``
1804 ``mesh models lcd models-metadata-get <Page> <Offset>``
1816 The Bridge Configuration Client model is an optional Bluetooth Mesh model that can be enabled throu…
1818 for configuring the subnet bridge functionality of a mesh node.
1820 ``mesh models brg get``
1825 ``mesh models brg set <State(disable, enable)>``
1832 ``mesh models brg table-size-get``
1837 ``mesh models brg table-add <Directions> <NetIdx1> <NetIdx2> <Addr1> <Addr2>``
1852 ``mesh models brg table-remove <NetIdx1> <NetIdx2> <Addr1> <Addr2>``
1862 ``mesh models brg subnets-get <Filter> <NetIdx> <StartIdx>``
1877 ``mesh models brg table-get <NetIdx1> <NetIdx2> <StartIdx>``
1890 The Configuration database is an optional mesh subsystem that can be enabled through the
1892 available on provisioner devices, and allows them to store all information about the mesh network.
1893 To avoid conflicts, there should only be one mesh node in the network with the Configuration
1897 ``mesh cdb create [NetKey(1-16 hex)]``
1905 ``mesh cdb clear``
1911 ``mesh cdb show``
1917 ``mesh cdb node-add <UUID(1-16 hex)> <Addr> <ElemCnt> <NetKeyIdx> [DevKey(1-16 hex)]``
1920 Manually add a mesh node to the configuration database. Note that devices provisioned with
1921 ``mesh provision`` and ``mesh provision-adv`` will be added automatically if the
1931 ``mesh cdb node-del <Addr>``
1934 Delete a mesh node from the Configuration database. If possible, the node should be reset
1935 with ``mesh reset`` before it is deleted from the Configuration database, to avoid
1941 ``mesh cdb subnet-add <NetKeyIdx> [<NetKey(1-16 hex)>]``
1944 Add a network key to the Configuration database. The network key can later be passed to mesh
1952 ``mesh cdb subnet-del <NetKeyIdx>``
1960 ``mesh cdb app-key-add <NetKeyIdx> <AppKeyIdx> [<AppKey(1-16 hex)>]``
1964 passed to mesh nodes in the network. Note that adding a key to the Configuration database
1972 ``mesh cdb app-key-del <AppKeyIdx>``
1983 The On-Demand Private GATT Proxy Client model is an optional mesh subsystem that can be enabled
1986 ``mesh models od_priv_proxy od-priv-gatt-proxy [Dur(s)]``
1998 The Solicitation PDU RPL Client model is an optional mesh subsystem that can be enabled through the
2001 ``mesh models sol_pdu_rpl sol-pdu-rpl-clear <RngStart> <Ackd> [RngLen]``
2015 ``mesh stat get``
2022 ``mesh stat clear``