

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>Bluetooth Mesh &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../../genindex.html"/>
          <link rel="search" title="Search" href="../../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../../index.html"/>
          <link rel="up" title="BLE User Guide" href="../index.html"/>
          <link rel="next" title="Sample application" href="sample.html"/>
          <link rel="prev" title="Advertisement Data Fields" href="../btshell/btshell_advdata.html"/> 

    
    <script src="../../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.11.0, Apache NimBLE 1.6.0 </a> released September 7, 2023)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
      <a href="../index.html">BLE User Guide</a> /
    
    Bluetooth Mesh
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-nimble/edit/master/docs/mesh/index.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_11_0" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0" >
    Version: 1.9.0
  </option>
  <option value="/v1_8_0" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0" selected="selected" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">BLE User Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../ble_sec.html">NimBLE Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ble_setup/ble_setup_intro.html">NimBLE Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ble_hs/ble_hs.html">NimBLE Host</a></li>
<li class="toctree-l2"><a class="reference internal" href="../btshell/btshell_api.html">btshell Usage API</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Bluetooth Mesh</a><ul>
<li class="toctree-l3"><a class="reference internal" href="sample.html">Sample application</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
                <div class="alert alert-warning">
                  <p>
                    Version 1.6.0 is not the most recent version of the
                    Apache Mynewt documentation. Click <a href="/latest">here</a> to
                    read the latest version.
                  </p>
                </div>
              

              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="bluetooth-mesh">
<h1>Bluetooth Mesh<a class="headerlink" href="#bluetooth-mesh" title="Permalink to this headline">¶</a></h1>
<div class="toctree-wrapper compound">
</div>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#introduction-to-mesh" id="id1">Introduction to Mesh</a></p></li>
<li><p><a class="reference internal" href="#topology" id="id2">Topology</a></p></li>
<li><p><a class="reference internal" href="#bearers" id="id3">Bearers</a></p></li>
<li><p><a class="reference internal" href="#provisioning" id="id4">Provisioning</a></p></li>
<li><p><a class="reference internal" href="#models" id="id5">Models</a></p></li>
<li><p><a class="reference internal" href="#mesh-node-features-supported-by-apache-mynewt" id="id6">Mesh Node features supported by Apache Mynewt</a></p></li>
</ul>
</div>
<div class="section" id="introduction-to-mesh">
<h2><a class="toc-backref" href="#id1">Introduction to Mesh</a><a class="headerlink" href="#introduction-to-mesh" title="Permalink to this headline">¶</a></h2>
<p>Bluetooth Mesh is a new standard from Bluetooth SIG that was released in 2017. It enables many-to-many device
communication (as opposed to point-to-point approach in BLE) and is optimised for large-scale networks like building
automation or sensors network. It utilizes managed flood based approach where only mains-powered nodes relay messages
making it very power efficient (battery powered low-power nodes that don’t relay messages can operate in mesh network for years).</p>
<p>Bluetooth Mesh is complementary to Bluetooth specification and requires features from 4.0 release only. This allows
deployment of networks using hardware already available on the market.</p>
</div>
<div class="section" id="topology">
<h2><a class="toc-backref" href="#id2">Topology</a><a class="headerlink" href="#topology" title="Permalink to this headline">¶</a></h2>
<div class="figure align-default">
<img alt="Bluetooth Mesh Topology (source: Mesh Profile Specification 1.0)" src="../../_images/mesh_topology.jpg" />
</div>
<p>Bluetooth Mesh defines few features (roles) for devices in network. Those are:</p>
<ul class="simple">
<li><p>Relay - receive and retransmit mesh messages over the advertising bearer to enable larger networks</p></li>
<li><p>Proxy - receive and retransmit mesh messages between GATT and advertising bearers.</p></li>
<li><p>Low Power - operate within a mesh network at significantly reduced receiver duty cycles only in conjunction with a
node supporting the Friend feature</p></li>
<li><p>Friend - the ability to help a node supporting the Low Power feature to operate by storing messages destined for those nodes</p></li>
</ul>
</div>
<div class="section" id="bearers">
<h2><a class="toc-backref" href="#id3">Bearers</a><a class="headerlink" href="#bearers" title="Permalink to this headline">¶</a></h2>
<p>Mesh Profile specification allows two kinds of bearers for transmitting data:</p>
<ul class="simple">
<li><p>Advertising Bearer</p>
<ul>
<li><p>Uses LE advertising to broadcast messages to all nodes that are listening at this time</p></li>
<li><p>Uses non-connectable advertising only</p></li>
<li><p>29 octets of network message</p></li>
</ul>
</li>
<li><p>GATT Bearer</p>
<ul>
<li><p>Uses LE Connections to send messages</p></li>
<li><p>Uses standard GATT service (one for Provisioning and one for Proxy)</p></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="provisioning">
<h2><a class="toc-backref" href="#id4">Provisioning</a><a class="headerlink" href="#provisioning" title="Permalink to this headline">¶</a></h2>
<p>Provisioning is a process of adding an unprovisioned device to a mesh network managed by a Provisioner. A Provisioner
provides the unprovisioned device with provisioning data that allows it to become a mesh node (network key, current IV
index and unicast address). A Provisioner is typically a smart phone or other mobile computing device.</p>
</div>
<div class="section" id="models">
<h2><a class="toc-backref" href="#id5">Models</a><a class="headerlink" href="#models" title="Permalink to this headline">¶</a></h2>
<p>Models define basic functionality of nodes on a mesh network. Mesh Profile Specification defines foundation models used
to configure and manage network. Mesh Model Specification includes models defininig functionality that is standard
across device types. Those consists of:</p>
<ul class="simple">
<li><p>Generics - root models</p>
<ul>
<li><p>On/Off</p></li>
<li><p>Level</p></li>
<li><p>Battery Server</p></li>
<li><p>Location</p></li>
<li><p>Client Property</p></li>
<li><p>and others</p></li>
</ul>
</li>
<li><p>Sensors - defines a standard way of interfacing with sensors</p></li>
<li><p>Time and Scenes - defines a set of functionalities related to time and saved states on devices</p></li>
<li><p>Lighting - defines a set functionalities related to lighting control</p></li>
</ul>
<p>Complex models e.g. Lighting may contain other models eg Generic On/Off. The following image shows an example of Light
Lightness Server Model.</p>
<div class="figure align-default">
<img alt="Light Lightness Server model (source: Mesh Model Specification 1.0)" src="../../_images/mesh_lightning_model.jpg" />
</div>
</div>
<div class="section" id="mesh-node-features-supported-by-apache-mynewt">
<h2><a class="toc-backref" href="#id6">Mesh Node features supported by Apache Mynewt</a><a class="headerlink" href="#mesh-node-features-supported-by-apache-mynewt" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Advertising and GATT bearers</p></li>
<li><p>PB-GATT and PB-ADV provisioning</p></li>
<li><p>Foundation Models (server role)</p></li>
<li><p>Relay support</p></li>
<li><p>GATT Proxy</p></li>
</ul>
</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="sample.html" class="btn btn-neutral float-right" title="Sample application" accesskey="n">Next: Sample application <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../btshell/btshell_advdata.html" class="btn btn-neutral" title="Advertisement Data Fields" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Advertisement Data Fields</a>
      
    </div>

                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="">
                <img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt',
            LINK_SUFFIX: '.html'
        };
    </script>
      <script type="text/javascript" src="../../_static/jquery.js"></script>
      <script type="text/javascript" src="../../_static/underscore.js"></script>
      <script type="text/javascript" src="../../_static/doctools.js"></script>
      <script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../../_static/js/affix.js"></script>
      <script type="text/javascript" src="../../_static/js/main.js"></script>

   

  </body>
</html>