index.rst 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. Bluetooth Mesh
  2. --------------
  3. .. toctree::
  4. :hidden:
  5. :titlesonly:
  6. sample
  7. .. contents::
  8. :local:
  9. :depth: 2
  10. Introduction to Mesh
  11. ~~~~~~~~~~~~~~~~~~~~
  12. Bluetooth Mesh is a new standard from Bluetooth SIG that was released in 2017. It enables many-to-many device
  13. communication (as opposed to point-to-point approach in BLE) and is optimised for large-scale networks like building
  14. automation or sensors network. It utilizes managed flood based approach where only mains-powered nodes relay messages
  15. making it very power efficient (battery powered low-power nodes that don't relay messages can operate in mesh network for years).
  16. Bluetooth Mesh is complementary to Bluetooth specification and requires features from 4.0 release only. This allows
  17. deployment of networks using hardware already available on the market.
  18. Topology
  19. ~~~~~~~~
  20. .. figure:: mesh_topology.jpg
  21. :alt: Bluetooth Mesh Topology (source: Mesh Profile Specification 1.0)
  22. Bluetooth Mesh defines few features (roles) for devices in network. Those are:
  23. - Relay - receive and retransmit mesh messages over the advertising bearer to enable larger networks
  24. - Proxy - receive and retransmit mesh messages between GATT and advertising bearers.
  25. - Low Power - operate within a mesh network at significantly reduced receiver duty cycles only in conjunction with a
  26. node supporting the Friend feature
  27. - Friend - the ability to help a node supporting the Low Power feature to operate by storing messages destined for those nodes
  28. Bearers
  29. ~~~~~~~
  30. Mesh Profile specification allows two kinds of bearers for transmitting data:
  31. - Advertising Bearer
  32. - Uses LE advertising to broadcast messages to all nodes that are listening at this time
  33. - Uses non-connectable advertising only
  34. - 29 octets of network message
  35. - GATT Bearer
  36. - Uses LE Connections to send messages
  37. - Uses standard GATT service (one for Provisioning and one for Proxy)
  38. Provisioning
  39. ~~~~~~~~~~~~
  40. Provisioning is a process of adding an unprovisioned device to a mesh network managed by a Provisioner. A Provisioner
  41. provides the unprovisioned device with provisioning data that allows it to become a mesh node (network key, current IV
  42. index and unicast address). A Provisioner is typically a smart phone or other mobile computing device.
  43. Models
  44. ~~~~~~
  45. Models define basic functionality of nodes on a mesh network. Mesh Profile Specification defines foundation models used
  46. to configure and manage network. Mesh Model Specification includes models defininig functionality that is standard
  47. across device types. Those consists of:
  48. - Generics - root models
  49. - On/Off
  50. - Level
  51. - Battery Server
  52. - Location
  53. - Client Property
  54. - and others
  55. - Sensors - defines a standard way of interfacing with sensors
  56. - Time and Scenes - defines a set of functionalities related to time and saved states on devices
  57. - Lighting - defines a set functionalities related to lighting control
  58. Complex models e.g. Lighting may contain other models eg Generic On/Off. The following image shows an example of Light
  59. Lightness Server Model.
  60. .. figure:: mesh_lightning_model.jpg
  61. :alt: Light Lightness Server model (source: Mesh Model Specification 1.0)
  62. Mesh Node features supported by Apache Mynewt
  63. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64. - Advertising and GATT bearers
  65. - PB-GATT and PB-ADV provisioning
  66. - Foundation Models (server role)
  67. - Relay support
  68. - GATT Proxy