

<!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>BLE iBeacon &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="Bluetooth Low Energy" href="ble.html"/>
          <link rel="next" title="BLE Eddystone" href="eddystone.html"/>
          <link rel="prev" title="Set up a bare bones NimBLE application" href="ble_bare_bones.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.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024)
            </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="../tutorials.html">Tutorials</a> /
    
      <a href="ble.html">Bluetooth Low Energy</a> /
    
    BLE iBeacon
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/ble/ibeacon.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_12_0" >
    Version: 1.12.0
  </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" selected="selected" >
    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" >
    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 current"><a class="reference internal" href="../tutorials.html">Tutorials</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../blinky/blinky.html">Project Blinky</a></li>
<li class="toctree-l2"><a class="reference internal" href="../repo/add_repos.html">Working with repositories</a></li>
<li class="toctree-l2"><a class="reference internal" href="../slinky/project-slinky.html">Project Slinky for Remote Comms</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="ble.html">Bluetooth Low Energy</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="ble_bare_bones.html">Set up a bare bones NimBLE application</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">BLE iBeacon</a></li>
<li class="toctree-l3"><a class="reference internal" href="eddystone.html">BLE Eddystone</a></li>
<li class="toctree-l3"><a class="reference internal" href="bleprph/bleprph.html">BLE Peripheral Project</a></li>
<li class="toctree-l3"><a class="reference internal" href="blehci_project.html">Use HCI access to NimBLE controller</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../lora/lorawanapp.html">LoRa</a></li>
<li class="toctree-l2"><a class="reference internal" href="../os_fundamentals/os_fundamentals.html">OS Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="../devmgmt/devmgmt.html">Remote Device Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../sensors/sensors.html">Sensors</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tooling/tooling.html">Tooling</a></li>
<li class="toctree-l2"><a class="reference internal" href="../other/other.html">Other</a></li>
</ul>
</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"><a class="reference internal" href="../../network/index.html">BLE User Guide</a></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.9.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="ble-ibeacon">
<h1>BLE iBeacon<a class="headerlink" href="#ble-ibeacon" title="Permalink to this headline">¶</a></h1>
<p>This tutorial guides you through the process of creating an iBeacon
application using NimBLE and Mynewt. At the conclusion of this tutorial,
you will have a fully functional iBeacon app.</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#ibeacon-protocol" id="id1">iBeacon Protocol</a></p></li>
<li><p><a class="reference internal" href="#create-an-empty-ble-application" id="id2">Create an Empty BLE Application</a></p></li>
<li><p><a class="reference internal" href="#add-beaconing" id="id3">Add beaconing</a></p>
<ul>
<li><p><a class="reference internal" href="#wait-for-host-controller-sync" id="id4">1. Wait for host-controller sync</a></p></li>
<li><p><a class="reference internal" href="#configure-the-nimble-stack-with-an-address" id="id5">2. Configure the NimBLE stack with an address</a></p></li>
<li><p><a class="reference internal" href="#advertise-indefinitely" id="id6">3. Advertise indefinitely</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#conclusion" id="id7">Conclusion</a></p></li>
<li><p><a class="reference internal" href="#source-listing" id="id8">Source Listing</a></p></li>
</ul>
</div>
<div class="section" id="ibeacon-protocol">
<h2><a class="toc-backref" href="#id1">iBeacon Protocol</a><a class="headerlink" href="#ibeacon-protocol" title="Permalink to this headline">¶</a></h2>
<p>A beaconing device announces its presence to the world by broadcasting
advertisements. The iBeacon protocol is built on top of the standard BLE
advertisement specification. <a class="reference external" href="http://www.warski.org/blog/2014/01/how-ibeacons-work/">This
page</a> provides
a good summary of the iBeacon sub-fields.</p>
</div>
<div class="section" id="create-an-empty-ble-application">
<h2><a class="toc-backref" href="#id2">Create an Empty BLE Application</a><a class="headerlink" href="#create-an-empty-ble-application" title="Permalink to this headline">¶</a></h2>
<p>This tutorial picks up where the <span class="xref std std-doc">BLE bare bones application
tutorial</span> document concludes.
The first step in creating a beaconing device is to create an empty BLE
app, as explained in that tutorial. Before proceeding, you should have:</p>
<ul class="simple">
<li><p>An app called “ble_app”.</p></li>
<li><p>A target called “ble_tgt”.</p></li>
<li><p>Successfully executed the app on your target device.</p></li>
</ul>
</div>
<div class="section" id="add-beaconing">
<h2><a class="toc-backref" href="#id3">Add beaconing</a><a class="headerlink" href="#add-beaconing" title="Permalink to this headline">¶</a></h2>
<p>Here is a brief specification of how we want our beaconing app to
behave:</p>
<ol class="arabic simple">
<li><p>Wait until the host and controller are in sync.</p></li>
<li><p>Configure the NimBLE stack with an address to put in its
advertisements.</p></li>
<li><p>Advertise indefinitely.</p></li>
</ol>
<p>Let’s take these one at a time.</p>
<div class="section" id="wait-for-host-controller-sync">
<h3><a class="toc-backref" href="#id4">1. Wait for host-controller sync</a><a class="headerlink" href="#wait-for-host-controller-sync" title="Permalink to this headline">¶</a></h3>
<p>The first step, waiting for host-controller-sync, is mandatory in all
BLE applications. The NimBLE stack is inoperable while the two
components are out of sync. In a combined host-controller app, the sync
happens immediately at startup. When the host and controller are
separate, sync typically occurs in less than a second.</p>
<p>We achieve this by configuring the NimBLE host with a callback function
that gets called when sync takes place:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="hll"><span class="go">static</span>
</span><span class="hll"><span class="go">void ble_app_set_addr()</span>
</span><span class="hll"><span class="go">{ }</span>
</span>
<span class="hll"><span class="go">static void ble_app_advertise()</span>
</span><span class="hll"><span class="go">{ }</span>
</span>
<span class="hll"><span class="go">static void ble_app_on_sync(void)</span>
</span><span class="hll"><span class="go">{</span>
</span><span class="hll"><span class="go">    /* Generate a non-resolvable private address. */</span>
</span><span class="hll"><span class="go">    ble_app_set_addr();</span>
</span>
<span class="hll"><span class="go">    /* Advertise indefinitely. */</span>
</span><span class="hll"><span class="go">    ble_app_advertise();</span>
</span><span class="hll"><span class="go">}</span>
</span>
<span class="go">int</span>
<span class="go">main(int argc, char \*\*argv)</span>
<span class="go">{</span>
<span class="go">    sysinit();</span>

<span class="hll"><span class="go">    ble_hs_cfg.sync_cb = ble_app_on_sync;</span>
</span>
<span class="go">    /* As the last thing, process events from default event queue. */</span>
<span class="go">    while (1) {</span>
<span class="go">    os_eventq_run(os_eventq_dflt_get());</span>
<span class="go">    }</span>
<span class="go">}</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">ble_hs_cfg.sync_cb</span></code> points to the function that should be called when
sync occurs. Our callback function, <code class="docutils literal notranslate"><span class="pre">ble_app_on_sync()</span></code>, kicks off the
control flow that we specified above. Now we need to fill in the two
stub functions.</p>
</div>
<div class="section" id="configure-the-nimble-stack-with-an-address">
<h3><a class="toc-backref" href="#id5">2. Configure the NimBLE stack with an address</a><a class="headerlink" href="#configure-the-nimble-stack-with-an-address" title="Permalink to this headline">¶</a></h3>
<p>A BLE device needs an address to do just about anything. Some devices
have a public Bluetooth address burned into them, but this is not always
the case. Furthermore, the NimBLE controller might not know how to read
an address out of your particular hardware. For a beaconing device, we
generally don’t care what address gets used since nothing will be
connecting to us.</p>
<p>A reliable solution is to generate a <em>non-resolvable private address</em>
(nRPA) each time the application runs. Such an address contains no
identifying information, and they are expected to change frequently.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static void</span>
<span class="go">ble_app_set_addr(void)</span>
<span class="go">{</span>
<span class="hll"><span class="go">    ble_addr_t addr;</span>
</span><span class="hll"><span class="go">    int rc;</span>
</span><span class="hll">
</span><span class="hll"><span class="go">    rc = ble_hs_id_gen_rnd(1, &amp;addr);</span>
</span><span class="hll"><span class="go">    assert(rc == 0);</span>
</span><span class="hll">
</span><span class="hll"><span class="go">    rc = ble_hs_id_set_rnd(addr.val);</span>
</span><span class="hll"><span class="go">    assert(rc == 0);</span>
</span><span class="go">}</span>

<span class="go">static void</span>
<span class="go">ble_app_advertise();</span>
<span class="go">{ }</span>

<span class="go">static void</span>
<span class="go">ble_app_on_sync(void)</span>
<span class="go">{</span>
<span class="go">    /* Generate a non-resolvable private address. */</span>
<span class="go">    ble_app_set_addr();</span>

<span class="go">    /* Advertise indefinitely. */</span>
<span class="go">    ble_app_advertise();</span>
<span class="go">}</span>
</pre></div>
</div>
<p>Our new function, <code class="docutils literal notranslate"><span class="pre">ble_app_set_addr()</span></code>, makes two calls into the stack:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ble_hs_id_gen_rnd</span></code>: Generate an nRPA.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ble_hs_id_set_rnd</span></code>: Configure NimBLE to use the newly-generated address.</p></li>
</ul>
<p>You can click either of the function names for more detailed
documentation.</p>
</div>
<div class="section" id="advertise-indefinitely">
<h3><a class="toc-backref" href="#id6">3. Advertise indefinitely</a><a class="headerlink" href="#advertise-indefinitely" title="Permalink to this headline">¶</a></h3>
<p>The first step in advertising is to configure the host with advertising
data. This operation tells the host what data to use for the contents of
its advertisements. The NimBLE host provides a special helper function
for configuring iBeacon advertisement data:
<code class="docutils literal notranslate"><span class="pre">ble_ibeacon_set_adv_data</span></code></p>
<p>If you follow the API link, you’ll see that this function takes four
parameters: a 128-bit UUID, a major version,a minor version, and a RSSI value. This
corresponds with the iBeacon specification, as these three items are the
primary components in an iBeacon advertisement.</p>
<p>For now, we’ll advertise the following:</p>
<ul class="simple">
<li><p><em>UUID</em>: <code class="docutils literal notranslate"><span class="pre">11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11</span></code></p></li>
<li><p><em>Major</em>: 2</p></li>
<li><p><em>Minor</em>: 10</p></li>
</ul>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span><span class="w"> </span><span class="kt">void</span>
<span class="nf">ble_app_advertise</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="w">    </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">uuid128</span><span class="p">[</span><span class="mi">16</span><span class="p">];</span>
<span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="p">;</span>

<span class="w">    </span><span class="cm">/* Fill the UUID buffer with a string of 0x11 bytes. */</span>
<span class="w">    </span><span class="n">memset</span><span class="p">(</span><span class="n">uuid128</span><span class="p">,</span><span class="w"> </span><span class="mh">0x11</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="n">uuid128</span><span class="p">);</span>

<span class="w">    </span><span class="cm">/* Major version=2; minor version=10. */</span>
<span class="w">    </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_ibeacon_set_adv_data</span><span class="p">(</span><span class="n">uuid128</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w">    </span><span class="n">assert</span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>

<span class="w">    </span><span class="cm">/* TODO: Begin advertising. */</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Now that the host knows what to advertise, the next step is to actually
begin advertising. The function to initiate advertising is:
<code class="docutils literal notranslate"><span class="pre">ble_gap_adv_start</span></code>.
This function takes several parameters. For simplicity, we reproduce the
function prototype here:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span>
<span class="n">ble_gap_adv_start</span><span class="p">(</span>
<span class="w">                            </span><span class="kt">uint8_t</span><span class="w">  </span><span class="n">own_addr_type</span><span class="p">,</span>
<span class="w">                   </span><span class="k">const</span><span class="w"> </span><span class="n">ble_addr_t</span><span class="w"> </span><span class="o">*</span><span class="n">direct_addr</span><span class="p">,</span>
<span class="w">                            </span><span class="kt">int32_t</span><span class="w">  </span><span class="n">duration_ms</span><span class="p">,</span>
<span class="w">    </span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">ble_gap_adv_params</span><span class="w"> </span><span class="o">*</span><span class="n">adv_params</span><span class="p">,</span>
<span class="w">                   </span><span class="n">ble_gap_event_fn</span><span class="w"> </span><span class="o">*</span><span class="n">cb</span><span class="p">,</span>
<span class="w">                               </span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">cb_arg</span>
<span class="p">)</span>
</pre></div>
</div>
<p>This function gives an application quite a bit of freedom in how
advertising is to be done. The default values are mostly fine for our
simple beaconing application. We will pass the following values to this
function:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 28%" />
<col style="width: 39%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Parameter</p></th>
<th class="head"><p>Value</p></th>
<th class="head"><p>Notes</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>own_addr_type</p></td>
<td><p>BLE_OWN_ADDR_RANDOM</p></td>
<td><p>Use the nRPA we
generated earlier.</p></td>
</tr>
<tr class="row-odd"><td><p>direct_addr</p></td>
<td><p>NULL</p></td>
<td><p>We are
broadcasting, not
targeting a peer.</p></td>
</tr>
<tr class="row-even"><td><p>duration_ms</p></td>
<td><p>BLE_HS_FOREVER</p></td>
<td><p>Advertise
indefinitely.</p></td>
</tr>
<tr class="row-odd"><td><p>adv_params</p></td>
<td><p>defaults</p></td>
<td><p>Can be used to
specify low level
advertising
parameters.</p></td>
</tr>
<tr class="row-even"><td><p>cb</p></td>
<td><p>NULL</p></td>
<td><p>We are
non-connectable,
so no need for an
event callback.</p></td>
</tr>
<tr class="row-odd"><td><p>cb_arg</p></td>
<td><p>NULL</p></td>
<td><p>No callback
implies no
callback argument.</p></td>
</tr>
</tbody>
</table>
<p>These arguments are mostly self-explanatory. The exception is
<code class="docutils literal notranslate"><span class="pre">adv_params</span></code>, which can be used to specify a number of low-level
parameters. For a beaconing application, the default settings are
appropriate. We specify default settings by providing a zero-filled
instance of the <code class="docutils literal notranslate"><span class="pre">ble_gap_adv_params</span></code> struct as our argument.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">static void</span>
<span class="go">ble_app_advertise(void)</span>
<span class="go">{</span>
<span class="hll"><span class="go">    struct ble_gap_adv_params adv_params;</span>
</span><span class="go">    uint8_t uuid128[16];</span>
<span class="go">    int rc;</span>

<span class="go">    /* Arbitrarily set the UUID to a string of 0x11 bytes. */</span>
<span class="go">    memset(uuid128, 0x11, sizeof uuid128);</span>

<span class="go">    /* Major version=2; minor version=10. */</span>
<span class="go">    rc = ble_ibeacon_set_adv_data(uuid128, 2, 10, 0);</span>
<span class="go">    assert(rc == 0);</span>

<span class="hll"><span class="go">    /* Begin advertising. */</span>
</span><span class="hll"><span class="go">    adv_params = (struct ble_gap_adv_params){ 0 };</span>
</span><span class="hll"><span class="go">    rc = ble_gap_adv_start(BLE_OWN_ADDR_RANDOM, NULL, BLE_HS_FOREVER,</span>
</span><span class="hll"><span class="go">                       &amp;adv_params, NULL, NULL);</span>
</span><span class="hll"><span class="go">    assert(rc == 0);</span>
</span>
<span class="go">}</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="conclusion">
<h2><a class="toc-backref" href="#id7">Conclusion</a><a class="headerlink" href="#conclusion" title="Permalink to this headline">¶</a></h2>
<p>That’s it! Now when you run this app on your board, you should be able
to see it with all your iBeacon-aware devices. You can test it out with
the <code class="docutils literal notranslate"><span class="pre">newt</span> <span class="pre">run</span></code> command.</p>
</div>
<div class="section" id="source-listing">
<h2><a class="toc-backref" href="#id8">Source Listing</a><a class="headerlink" href="#source-listing" title="Permalink to this headline">¶</a></h2>
<p>For reference, here is the complete application source:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;sysinit/sysinit.h&quot;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;os/os.h&quot;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;console/console.h&quot;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&quot;host/ble_hs.h&quot;</span>

<span class="k">static</span><span class="w"> </span><span class="kt">void</span>
<span class="nf">ble_app_set_addr</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="w">    </span><span class="n">ble_addr_t</span><span class="w"> </span><span class="n">addr</span><span class="p">;</span>
<span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="p">;</span>

<span class="w">    </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_hs_id_gen_rnd</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">addr</span><span class="p">);</span>
<span class="w">    </span><span class="n">assert</span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>

<span class="w">    </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_hs_id_set_rnd</span><span class="p">(</span><span class="n">addr</span><span class="p">.</span><span class="n">val</span><span class="p">);</span>
<span class="w">    </span><span class="n">assert</span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="p">}</span>

<span class="k">static</span><span class="w"> </span><span class="kt">void</span>
<span class="nf">ble_app_advertise</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="w">    </span><span class="k">struct</span><span class="w"> </span><span class="nc">ble_gap_adv_params</span><span class="w"> </span><span class="n">adv_params</span><span class="p">;</span>
<span class="w">    </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">uuid128</span><span class="p">[</span><span class="mi">16</span><span class="p">];</span>
<span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">rc</span><span class="p">;</span>

<span class="w">    </span><span class="cm">/* Arbitrarily set the UUID to a string of 0x11 bytes. */</span>
<span class="w">    </span><span class="n">memset</span><span class="p">(</span><span class="n">uuid128</span><span class="p">,</span><span class="w"> </span><span class="mh">0x11</span><span class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span class="w"> </span><span class="n">uuid128</span><span class="p">);</span>

<span class="w">    </span><span class="cm">/* Major version=2; minor version=10. */</span>
<span class="w">    </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_ibeacon_set_adv_data</span><span class="p">(</span><span class="n">uuid128</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="w">    </span><span class="n">assert</span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>

<span class="w">    </span><span class="cm">/* Begin advertising. */</span>
<span class="w">    </span><span class="n">adv_params</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="k">struct</span><span class="w"> </span><span class="nc">ble_gap_adv_params</span><span class="p">){</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">};</span>
<span class="w">    </span><span class="n">rc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_gap_adv_start</span><span class="p">(</span><span class="n">BLE_OWN_ADDR_RANDOM</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">BLE_HS_FOREVER</span><span class="p">,</span>
<span class="w">                           </span><span class="o">&amp;</span><span class="n">adv_params</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">NULL</span><span class="p">);</span>
<span class="w">    </span><span class="n">assert</span><span class="p">(</span><span class="n">rc</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="p">}</span>

<span class="k">static</span><span class="w"> </span><span class="kt">void</span>
<span class="nf">ble_app_on_sync</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="w">    </span><span class="cm">/* Generate a non-resolvable private address. */</span>
<span class="w">    </span><span class="n">ble_app_set_addr</span><span class="p">();</span>

<span class="w">    </span><span class="cm">/* Advertise indefinitely. */</span>
<span class="w">    </span><span class="n">ble_app_advertise</span><span class="p">();</span>
<span class="p">}</span>

<span class="kt">int</span>
<span class="nf">main</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
<span class="w">    </span><span class="n">sysinit</span><span class="p">();</span>

<span class="w">    </span><span class="n">ble_hs_cfg</span><span class="p">.</span><span class="n">sync_cb</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ble_app_on_sync</span><span class="p">;</span>

<span class="w">    </span><span class="cm">/* As the last thing, process events from default event queue. */</span>
<span class="w">    </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w">        </span><span class="n">os_eventq_run</span><span class="p">(</span><span class="n">os_eventq_dflt_get</span><span class="p">());</span>
<span class="w">    </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="eddystone.html" class="btn btn-neutral float-right" title="BLE Eddystone" accesskey="n">Next: BLE Eddystone <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="ble_bare_bones.html" class="btn btn-neutral" title="Set up a bare bones NimBLE application" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Set up a bare bones NimBLE application</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>