Bluetooth mesh networking: Difference between revisions

Content deleted Content added
No edit summary
Citation bot (talk | contribs)
Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 301/1032
 
(143 intermediate revisions by 57 users not shown)
Line 1:
{{Short description|Computer mesh networking standard}}
{{Infobox protocol
| name = Bluetooth mesh networking
| image = Bluetooth- logo (2016).svg
| standard =
| developer = [[Bluetooth Special Interest Group|Bluetooth SIG]]
| introdate = {{Start date|2017|07|1113}}
| industry = [[Lighting]], [[Internet of things|IoT]]
| connector =
| hardware =
| range = 100-1000100–1000 meters (depending on mesh relaying configuration)
}}
}}'''Bluetooth&reg; mesh networking''', conceived in 2015<ref>{{Cite web|url=https://blog.bluetooth.com/trashed|title=Get ready for Bluetooth mesh! {{!}} Bluetooth Technology Website|website=blog.bluetooth.com|access-date=2017-07-06}}</ref>, adopted on {{Start date|2017|07|13}}<ref>{{Cite web|url=https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|title=Low Energy: Mesh {{!}} Bluetooth Technology Website|last=|first=|date=|website=www.bluetooth.com|archive-url=|archive-date=|dead-url=|access-date=2017-07-18}}</ref> is a protocol based upon [[Bluetooth Low Energy]] that allows for many-to-many communication over Bluetooth radio.
 
It has been defined in Mesh Profile Specification<ref>[https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429633 Mesh_v1.0]</ref> and Mesh Model Specification<ref>[https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429634 Mesh_Model_Specification v1.0]</ref>.
'''Bluetooth Mesh''' is a computer [[mesh networking]] [[Technical standard|standard]] based on [[Bluetooth Low Energy]] that allows for many-to-many communication over Bluetooth radio. The Bluetooth Mesh specifications were defined in the Mesh Profile<ref name=":0">{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429633|title=Mesh Profile Bluetooth® Specification|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|access-date=2017-07-18}}</ref> and Mesh Model<ref name=":1">{{Cite web|url=https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=429634|title=Mesh Model Bluetooth® Specification|date=2017-07-13|website=Bluetooth Technology Website|format=PDF download|access-date=2017-07-18}}</ref> specifications by the [[Bluetooth Special Interest Group]] (Bluetooth SIG). Bluetooth Mesh was conceived in 2014<ref>{{Cite web|url=http://blog.bluetooth.com/range-limitation-what-range-limitation-introducing-mesh-networks/|title=Range Limitation? What Range Limitation? Introducing Mesh Networks {{!}} Bluetooth Technology Website|website=blog.bluetooth.com|url-status=dead|archive-url=https://web.archive.org/web/20160409092727/http://blog.bluetooth.com/range-limitation-what-range-limitation-introducing-mesh-networks/|archive-date=2016-04-09|access-date=2017-07-06}}</ref> and adopted on {{Start date|2017|07|13}}.<ref>{{Cite web|url=https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|title=Low Energy: Mesh {{!}} Bluetooth Technology Website|website=www.bluetooth.com|url-status=dead|archive-url=https://web.archive.org/web/20170901202951/https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh|archive-date=2017-09-01|access-date=2017-07-18}}</ref>
 
== Overview ==
Bluetooth Mesh is a [[mesh networking]] standard that operates on a [[Flooding (computer networking)|flood network]] principle. It's based on the nodes relaying the messages: every relay node that receives a network packet that
 
* authenticates against a known network key
* is not in message cache
* has a TTL ≥ 2
 
can be retransmitted with TTL = TTL − 1. Message caching is used to prevent relaying recently seen messages.
 
Communication is carried in the messages that may be up to 384 bytes long, when using Segmentation and Reassembly (SAR) mechanism, but most of the messages fit in one segment, that is 11 bytes. Each message starts with an opcode, which may be a single byte (for special messages), 2 bytes (for standard messages), or 3 bytes (for vendor-specific messages).
 
Every message has a source and a destination address, determining which devices process messages. Devices publish messages to destinations which can be single things / groups of things / everything.
 
Each message has a sequence number that protects the network against replay attacks.
 
Each message is encrypted and authenticated. Two keys are used to secure messages: (1) network keys – allocated to a single mesh network, (2) application keys – specific for a given application functionality, e.g. turning the light on vs reconfiguring the light.
 
Messages have a [[time to live]] (TTL). Each time message is received and retransmitted, TTL is decremented which limits the number of "hops", eliminating endless loops.
 
== Architecture==
Bluetooth Mesh is a [[Flooding (computer networking)|flood network]]. It's based on the nodes relaying the messages: every relay node that receives a network packet that authenticates against a known network key that is not in message cache, that has a TTL ≥ 2 can be retransmitted with TTL = TTL - 1.
Bluetooth Mesh has a layered architecture, with multiple layers as below.
Message cache used to prevent relaying messages recently seen.
 
{| class="wikitable"
!Layer
!Functionality
|-
|Model&nbsp;Layer
|It defines a standard way to exchange application specific messages. For example, a Light Lightness Model defines an interoperable way to control lightness. There are mandatory models, called Foundation Models, defining states and messages needed to manage a mesh network.
|-
|Access&nbsp;Layer
|It defines mechanism to ensure that data is transmitted and received in the right context of a model and its associated application keys.
|-
|Upper&nbsp;Transport&nbsp;Layer
|It defines authenticated encryption of access layer packets using an application (or device specific key). It also defines some control messages to manage Friendship or to notify the behavior of node using Heartbeat messages.
|-
|Lower&nbsp;Transport&nbsp;Layer
|This layer defines a reliable (through a Block Acknowledgement) Segmented transmission upper layer packets, when a complete upper layer packet can't be carried in a single network layer packet. It also defines a mechanism to reassemble segments on the receiver.
|-
|Network&nbsp;Layer
|This layer defines how transport packets are addressed over network to one or more nodes. It defines relay functionality for forwarding messages by a relay node to extended the range. It handles the network layer authenticated encryption using network key.
|-
|Bearer&nbsp;Layer
|It defines how the network packets are exchanged between nodes. Mesh Profile Specification defines BLE advert bearer and BLE GATT bearer. Mesh Profile defines Proxy Protocol, through which mesh packets can be exchanged via other bearers like TCP/IP.
|}
 
== Types of nodes ==
Nodes that support the various features can be formed into a particular mesh network topology.
 
{| class="wikitable"
!Feature
!Functionality
|-
|Relay
|receive and retransmit mesh messages over the advertising bearer
to enable larger networks.
|-
|Proxy
|receive and retransmit mesh messages between GATT and
advertising bearers.
|-
|Low Power
|operate within a mesh network at significantly reduced receiver
duty cycles only in conjunction with a node supporting the Friend feature.
|-
|Friend
|help a node supporting the Low Power feature to operate by storing
messages destined for those nodes.
|}
 
== Theoretical limits ==
It's yet to be determined what are theThe practical limits of Bluetooth Mesh technology. Thereare areunknown. someSome limits that are built into the specification, thoughinclude:
{| class="wikitable"
!Limit for a network
Line 35 ⟶ 92:
|Maximum number of nodes
|32 767
|The limit is 32768 addresses and while a node may occupy more than one address, the practical limit is most likely lower.
|-
|Maximum number of groups
|16 384
|This limit applies to physical groups only. Number of virtual groups is 2^<sup>128</sup>.
|
|-
|Maximum number of scenes
|65 535
|
|-
|Maximum number of subnets
|4 096
|
|-
|Maximum TTL
Line 46 ⟶ 112:
|}
 
== FoundationMesh Modelsmodels ==
As of version 1.0 of Bluetooth Mesh specification,<ref name=":1" /> the following standard models and model groups have been defined:
Following models has been defined in the core specification. They are mandatory for all mesh nodes.
 
* Configuration Server
=== Foundation models ===
Foundation models have been defined in the core specification. Two of them are mandatory for all mesh nodes.
* Configuration Server (mandatory)
* Configuration Client
* Health Server (mandatory)
* Health Client
 
=== OtherGeneric Mesh Modelsmodels ===
* Generic OnOff Server, used to represent devices that do not fit any of the model descriptions defined but support the generic properties of On/Off
{{main article|Bluetooth Mesh Model}}
* Generic Level Server, keeping the state of an element in a 16-bit signed integer
* Generic Default Transition Time Server, used to represent a default transition time for a variety of devices
* Generic Power OnOff Server & Generic Power OnOff Setup Server, used to represent devices that do not fit any of the model descriptions but support the generic properties of On/Off
* Generic Power Level Server & Generic Power Level Setup Server, including a Generic Power Actual state, a Generic Power Last state, a Generic Power Default state and a Generic Power Range state
* Generic Battery Server, representing a set of four values representing the state of a battery
* Generic Location Server & Generic Location Setup Server, representing ___location information of an element, either global (Lat/Lon) or local
* Generic User/Admin/Manufacturer/Client Property Server, representing any value to be stored by an element
* Generic OnOff Client & Generic Level Client
* Generic Default Transition Time Client
* Generic Power OnOff Client & Generic Power Level Client
* Generic Battery Client
* Generic Location Client
* Generic Property Client
 
=== Sensors ===
Application layer for Bluetooth Mesh has been defined in a separate Mesh Model Specification. As of release 1.0 lighting, sensors, time, scenes and generic devices has been defined.
* Sensor Server & Sensor Setup Server, representing a [[sensor]] device. Sensor device may be configured to return a measured value periodically or on request; measurement period (cadence) may be configured to be fixed or to change, so that more important value range is being reported faster.
* Sensor Client
 
=== Time and scenes ===
* Time Server & Time Setup Server, allowing for time synchronization in mesh network
* Scene Server & Scene Setup Server, allowing for up to 65535 scenes to be configured and recalled when needed.
* Scheduler Server & Scheduler Setup Server
* Time Client, Scene Client & Scheduler Client
 
=== Lighting ===
* Light Lightness Server & Light Lightness Setup Server, representing a dimmable light source
* Light CTL Server, Light CTL Temperature Server & Light CTL Setup Server, representing a [[Correlated color temperature|CCT]] or "tunable white" light source
* Light HSL Server, Light HSL Hue Server, Light HSL Saturation Server & Light HSL Setup Server, representing a light source based on [[HSL and HSV|Hue, Saturation, Lightness]] color representation
* Light xyL Server & Light xyL Setup Server, representing a light source based on modified [[CIE xyY]] color space.
* Light LC (Lightness Control) Server & Light LC Setup Server, representing a light control device, able to control Light Lightness model using an [[occupancy sensor]] and [[ambient light sensor]]. It may be used for light control scenarios like Auto-On, Auto-Off and/or [[Daylight harvesting|Daylight Harvesting]].
* Light Lightness Client, Light CTL Client, Light HSL Client, Light xyL Client & Light LC Client
 
== Provisioning ==
Provisioning is a process of installing the device into a network. It is a mandatory step to build a Bluetooth Mesh network.
 
In the provisioning process, a provisioner securely distributes a network key, commonand toa theunique meshaddress nodesspace andfor a device. key,The uniqueprovisioning toprotocol auses givenP256 nodeElliptic areCurve being used. Device[[Diffie–Hellman key isexchange|Diffie-Hellman]] generatedKey byExchange theto devicecreate anda thentemporary passedkey to theencrypt provisionernetwork usingkey P-256 ellipticand curveother cryptographyinformation. NetworkThis keyprovides issecurity transferredfrom toa thepassive deviceeavesdropper. from provisioner.
It also provides various authentication mechanisms to protect network information, from an active eavesdropper who uses [[man-in-the-middle attack]], during provisioning process.
 
A key unique to a device known as "Device Key" is derived from elliptic curve shared secret on provisioner and device during the provisioning process. This device key is used by the provisioner to encrypt messages for that specific device.
== Terminology used in Bluetooth mesh networking specification ==
 
The security of the provisioning process has been analyzed in a paper presented during the [[IEEE Communications Society|IEEE CNS]] 2018 conference.<ref>{{Cite book|last1=Adomnicai|first1=A.|last2=Fournier|first2=J. J. A.|last3=Masson|first3=L.|title=2018 IEEE Conference on Communications and Network Security (CNS) |chapter=Hardware Security Threats Against Bluetooth Mesh Networks |date=2018-05-30|pages=1–9|doi=10.1109/CNS.2018.8433184|isbn=978-1-5386-4586-4|s2cid=52004479 }}</ref>
 
The provisioning can be performed using a Bluetooth GATT connection or advertising using the specific bearer.<ref name=":0" />
 
== Terminology used in the Bluetooth Mesh Model and Mesh Profile specifications ==
* Destination: The address to which a message is sent.
* Element: An addressable entity within a device.
Line 71 ⟶ 176:
* Relay: A node able to retransmit messages.
* Source: The address from which a message is sent.
 
== Implementations ==
===Approved ("qualified") by Bluetooth SIG===
{| class="wikitable sortable"
|+Bluetooth mesh implementations approved ("qualified") by [[Bluetooth Special Interest Group|Bluetooth SIG]]
!Name
!Submitter
!Qualification date
!QDID
!Type
|-
|Bluetooth Stack for Embedded Systems - MESH profile<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/20708|title=QD ID 98880 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|Silvair, Inc.
|{{Dts|2017-07-18}}
|98880
|Profile Subsystem
|-
|Qualcomm Bluetooth Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/1903|title=QD ID 98856 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|[[Qualcomm|Qualcomm Technologies International, Ltd.]]
|{{Dts|2017-07-18}}
|98856
|Profile Subsystem
|-
|Silvair Mesh Models<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/18763|title=QD ID 99282 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|Silvair, Inc.
|{{Dts|2017-07-26}}
|99282
|Profile Subsystem
|-
|Wireless Gecko Mesh Profile<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/25011|title=QD ID 101318 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|[[Silicon Laboratories]]
|{{Dts|2017-09-21}}
|101318
|Profile Subsystem
|-
|CYW-MESH 1.0<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/480|title=QD ID 101726 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|[[Cypress Semiconductor Corporation]]
|{{Dts|2017-10-03}}
|101726
|Component (Tested)
|-
|Qualcomm Bluetooth Mesh Model<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/1905|title=QD ID 102243 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2017-11-15}}</ref>
|Qualcomm Technologies International, Ltd.
|{{Dts|2017-10-20}}
|102243
|Profile Subsystem
|-
|EtherMind Bluetooth Protocol Stack, 5.0 (Single Mode) + Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/52845|title=QD ID 106544 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-03-05}}</ref>
|[[Mindtree|Mindtree Limited]]
|{{Dts|2018-01-24}}
|106544
|Component (Tested)
|-
|Telink SIG Mesh SDK<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/52851|title=QD ID 106546 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-03-05}}</ref>
|[[Telink Semiconductor]]
|{{Dts|2018-02-01}}
|106546
|Profile Subsystem
|-
|TOSHIBA Bluetooth_stack_mesh-1<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/49426|title=QD ID 104143 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-03-05}}</ref>
|[[Toshiba|Toshiba Corporation]]
|{{Dts|2018-02-13}}
|104143
|Component (Tested)
|-
|AMICCOM Mesh Profile<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/109370|title=QD ID 109370 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-04-05}}</ref>
|[[AMICCOM|AMICCOM Electronics Corporation]]
|{{Dts|2018-03-14}}
|109370
|Profile Subsystem
|-
|Amiccom Bluetooth Mesh Model<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110168|title=QD ID 110168 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-04-05}}</ref>
|AMICCOM Electronics Corporation
|{{Dts|2018-03-30}}
|110168
|Profile Subsystem
|-
|Airoha SIG mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110202|title=QD ID 110202 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-04-05}}</ref>
|[[Airoha|Airoha Technology Corp.]]
|{{Dts|2018-04-02}}
|110202
|Profile Subsystem
|-
|Marvell Mesh stack v1.0<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/110569|title=QD ID 110569 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-05-03}}</ref>
|[[Marvell Technology Group]]
|{{Dts|2018-04-27}}
|110569
|Component (Tested)
|-
|nRF5 SDK for Mesh <ref>{{Cite web|url=http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh|title=nRF5 SDK for Mesh / Bluetooth Low Energy / Products / Home - Ultra Low Power Wireless Solutions from NORDIC SEMICONDUCTOR|last=Systems|first=eZ|website=www.nordicsemi.com|language=en-GB|access-date=2018-05-03}}</ref>
|[[Nordic Semiconductor]]
|May 2, 2018
|111537
|Profile Subsystem
|-
|Realtek Bluetooth 5 Mesh Solution<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/115668|title=QD ID 115668 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-09-15}}</ref>
|[[Realtek|Realsil Microelectronics Inc]]
|{{Dts|2018-07-27}}
|115668
|Profile Subsystem
|-
|STSW-BNRG-Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/116029|title=QD ID 116029 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-09-15}}</ref>
|[[STMicroelectronics]]
|{{Dts|2018-08-02}}
|116029
|Profile Subsystem
|-
|RDA BT Host 5.0<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/115860|title=QD ID 115860 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-09-15}}</ref>
|[[UNISOC|RDA Microelectronics, Inc.]]
|{{Dts|2018-09-13}}
|115860
|Profile Subsystem
|-
|JYMC-MESH-1<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/119229|title=QD ID 119229 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-11-07}}</ref>
|[[Shanghai Frequen Microelectronics Co., Ltd.]]
|{{Dts|2018-10-10}}
|119229
|End Product
|-
|RW-BLE-MESH<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/119268|title=QD ID 119268 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-11-07}}</ref>
|[[CEVA, Inc.#Connectivity Solutions|CEVA, Inc.]]
|{{Dts|2018-10-31}}
|119268
|Component (Tested)
|-
|ARM Ltd Cordio Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/116593|title=QD ID 116593 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-12-21}}</ref>
|[[Arm Holdings|ARM Ltd]]
|{{Dts|2018-12-11}}
|116593
|Profile Subsystem
|-
|Samsung SLSI Bluetooth Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/122442|title=QD ID 122442 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-12-21}}</ref>
|[[Samsung Electronics|Samsung Electronics Co., Ltd.]]
|{{Dts|2018-12-21}}
|122442
|Profile Subsystem
|-
|Bluelet Host Stack V12<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/123056|title=QD ID 123056 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2018-12-21}}</ref>
|[[Barrot Technology Limited]]
|{{Dts|2018-12-25}}
|123056
|Component (Tested)
|-
|ESP BLE Mesh v0.6<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/124137|title=QD ID 124137 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-01-24}}</ref>
|[[Espressif Systems|Espressif Systems (Shanghai) Pte. Ltd.]]
|{{Dts|2019-01-14}}
|124137
|Profile Subsystem
|-
|BK3435 BLE Core Spec 5.0 with MESH<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/127926|title=QD ID 127926 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-04-14}}</ref>
|[[Beken Corp]]
|{{Dts|2019-03-12}}
|127926
|End Product
|-
|Actions Mesh Profile Subsystem<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/127646|title=QD ID 127646 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-04-14}}</ref>
|[[Actions Semiconductor|Actions (Zhuhai) Technology Co., Limited]]
|{{Dts|2019-03-21}}
|127646
|Profile Subsystem
|-
|AliOS Things BLE host and mesh profile v2.1.0<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/129750|title=QD ID 129750 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-05-06}}</ref>
|[[Alibaba Group|Alibaba (China) Co., Ltd.]]
|{{Dts|2019-04-19}}
|129750
|Host Subsystem
|-
|Tonly SIG Mesh Stack<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/130160|title=QD ID 130160 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-05-06}}</ref>
|[[Tonli|Shenzhen Tonli Science and Technology Development Co., Ltd]]
|{{Dts|2019-05-05}}
|130160
|Profile Subsystem
|-
|Sino Wealth IBLE SIG Mesh Profile<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/133403|title=QD ID 133403 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-06-19}}</ref>
|[[Sino Wealth|Sino Wealth Electronic Ltd.]]
|{{Dts|2019-06-18}}
|133403
|Profile Subsystem
|-
|Qualcomm Bluetooth Mesh and Mesh Model v4.0<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/128410|title=QD ID 128410 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-06-19}}</ref>
|Qualcomm Technologies International, Ltd.
|{{Dts|2019-06-19}}
|128410
|Profile Subsystem
|-
|PAN1020 Mesh Profile subsystem<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/129291|title=QD ID 129291 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|Shanghai Panchip Microelectronics Co., Ltd
|{{Dts|2019-07-01}}
|129291
|Profile Subsystem
|-
|Apache NimBLE BLE Host including BLE Mesh<ref name=":2">{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/131934|title=QD ID 131934 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|[[JUUL Labs|JUUL Labs, Inc.]]
|{{Dts|2019-07-15}}
|131934
|Component (Tested)
|-
|Tmall mesh Stack<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/128246|title=QD ID 128246 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|Alibaba (China) Co., Ltd.
|{{Dts|2019-07-20}}
|128246
|Profile Subsystem
|-
|ClarinoxBlue<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/134454|title=QD ID 134454 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|Clarinox Technologies Pty Ltd
|{{Dts|2019-08-02}}
|134454
|Host Subsystem
|-
|BlueX Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/137436|title=QD ID 137436 {{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2019-08-27}}</ref>
|BlueX Microelectronics Corp Ltd.
|{{Dts|2019-08-20}}
|137436
|Profile Subsystem
|-
|Zephyr OS Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/139259|title=QD ID 139259{{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2020-03-12}}</ref>
|[[The Linux Foundation]]
|{{Dts|2019-09-20}}
|139259
|Profile Subsystem
|-
|WCH Bluetooth Mesh<ref>{{Cite web|url=https://launchstudio.bluetooth.com/ListingDetails/RedirectFromQdid/144808|title=QD ID 144808{{!}} Launch Studio - Listing Details|website=launchstudio.bluetooth.com|access-date=2020-06-01}}</ref>
|Nanjing Qinheng Microelectronics Co., Ltd.
|{{Dts|2020-06-01}}
|144808
|Profile Subsystem
|}
 
=== Free and open-source software implementations ===
[[Free software]] and [[The Open Source Definition|open source software]] implementations include the following:
* The official (included in [[Linux kernel]] by [[Linus Torvalds]] in 2001<ref>{{Cite web|url=http://www.bluez.org/about/history/|title=BlueZ History|date=2019-09-07|website=BlueZ}}</ref>) Linux Bluetooth protocol stack [[BlueZ]], dual free-licensed under the [[GNU General Public License|GPL]]<ref name="bluez_GPL" /> and the [[GNU Lesser General Public License|LGPL]],<ref name="bluez_LGPL" /> supports Mesh Profile, from release version 5.47,<ref>{{Cite web|url=http://www.bluez.org/release-of-bluez-5-47/|title=BlueZ » Blog Archive » Release of BlueZ 5.47|website=www.bluez.org|access-date=2017-10-27}}</ref> by providing meshctl tool (deprecated) to configure mesh devices. Release version 5.53 introduced mesh-cfgclient tool for configuring mesh networks. BlueZ was approved as a "qualified" software package by Bluetooth SIG in 2005.<ref name="bluez_SIGqualified" /> BlueZ is not considered to be a qualified Bluetooth Mesh stack as Bluetooth Mesh is not listed in aforementioned qualification record as a supported profile.
* [[Bluetooth stack#Apache Mynewt NimBLE|Apache Mynewt NimBLE]], free-licensed under the [[Apache License#Compatibility|Apache License 2.0]],<ref name="mynewt_apache2p0" /> supports Bluetooth Mesh from release version 1.2.0.<ref>{{Cite web|url=https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.2.0|title=RN-1.2.0 - Apache Mynewt - Apache Software Foundation|website=cwiki.apache.org|access-date=2018-07-02}}</ref> It was qualified on {{Start date|2019|07|15}} with QDID 131934.<ref name=":2" />
* [[Bluetooth stack#Zephyr OS Mesh|Zephyr OS Mesh]], free-licensed under the [[Apache License#Compatibility|Apache License 2.0]],<ref name="zephyr_apache2p0" /> supports Bluetooth Mesh from release version 1.9.0.<ref>{{Cite web|url=https://docs.zephyrproject.org/latest/releases/release-notes-1.9.html#zephyr-kernel-1-9-0|title=Release Notes Zephyr Kernel 1.9.0|website=docs.zephyrproject.org|access-date=2020-03-21}}</ref> Zephyr OS Mesh 1.14.x was qualified on {{Start date|2019|09|20}} with QDID 139259.<ref name=":2" />
 
== See also ==
* [[Cabir (computer worm)]]
* [[BlackArch]]
* [[Bluejacking]]
* [[Bluebugging]]
* [[Bluesnarfing]]
* [[AirDrop]]
 
== References ==
{{Reflist|30em}}refs=
 
<ref name="bluez_SIGqualified">{{cite web | title = Qualified Product Detail | website= [[Bluetooth Special Interest Group|Bluetooth SIG]] | url = https://www.bluetooth.org/qualweb/ProductDetails.cfm?ProductID=2379 | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905203425/https://www.bluetooth.org/qualweb/ProductDetails.cfm?ProductID=2379 |archive-date= 2019-09-05 |url-status=live}}</ref>
 
<ref name="mynewt_apache2p0">{{cite web | title = apache/mynewt-core/LICENSE | website= [[GitHub]] |date = 2018-06-04 | url = https://github.com/apache/mynewt-core/blob/master/LICENSE | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905203215/https://github.com/apache/mynewt-core/blob/master/LICENSE |archive-date= 2019-09-05 |url-status=live}}</ref>
 
<ref name="zephyr_apache2p0">{{cite web | title = zephyrproject-rtos/zephyr/blob/master/LICENSE | website= [[GitHub]] |date = 2020-03-21 | url = https://github.com/apache/mynewt-core/blob/master/LICENSE | access-date = 2020-03-21 |archive-url= https://web.archive.org/web/20190905203215/https://github.com/zephyrproject-rtos/zephyr/blob/master/LICENSE |archive-date= 2019-09-05 |url-status=live}}</ref>
 
<ref name="bluez_GPL">{{cite web | title =index : bluez.git – Bluetooth protocol stack for Linux – Marcel Holtmann | website= [[kernel.org]] |year = 1991 | url = https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905201757/https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING |archive-date= 2019-09-05 |url-status=live}}</ref>
 
<ref name="bluez_LGPL">{{cite web | title = index : bluez.git – Bluetooth protocol stack for Linux – Marcel Holtmann | website= [[kernel.org]] | year = 1999 | url = https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING.LIB | access-date = 2019-09-05 |archive-url= https://web.archive.org/web/20190905201816/https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/COPYING.LIB |archive-date= 2019-09-05 |url-status=live}}</ref>
 
}}
 
[[Category:Bluetooth]]
[[Category:Open standards]]
[[Category:WirelessMesh networking]]
{{AFC submission|||ts=20170718164034|u=188.146.107.196|ns=118}}