blob: f46b35e336c04b48a30749f0e2c210ab0de5e47d [file] [log] [blame]
<!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>Enabling OIC Sensor Data Monitoring &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="Sensor Tutorials Overview" href="sensors_framework.html"/>
<link rel="next" title="Enabling OIC Sensor Data Monitoring in the sensors_test Application" href="sensor_nrf52_bno055_oic.html"/>
<link rel="prev" title="Developing an Application for an Onboard Sensor" href="sensor_thingy_lis2dh12_onb.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="../tutorials.html">Tutorials</a> /
<a href="sensors.html">Sensors</a> /
<a href="sensors_framework.html">Sensor Tutorials Overview</a> /
Enabling OIC Sensor Data Monitoring
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-documentation/edit/master/docs/tutorials/sensors/sensor_oic_overview.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" selected="selected" >
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" >
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"><a class="reference internal" href="../ble/ble.html">Bluetooth Low Energy</a></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 current"><a class="reference internal" href="sensors.html">Sensors</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="sensors_framework.html">Sensor Framework</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="sensor_nrf52_bno055.html">Enable an Off-Board Sensor in an Existing Application</a></li>
<li class="toctree-l4"><a class="reference internal" href="sensor_offboard_config.html">Change the Default Configuration For a Sensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="sensor_thingy_lis2dh12_onb.html">Develope an Application for an Onboard Sensor</a></li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">Enable OIC Sensor Data Monitoring</a><ul>
<li class="toctree-l5"><a class="reference internal" href="sensor_nrf52_bno055_oic.html">Enable OIC Sensor Support in the sensors_test Application</a></li>
<li class="toctree-l5"><a class="reference internal" href="sensor_bleprph_oic.html">Add OIC Sensor Support to the bleprph_oic Application</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="air_quality.html">Air Quality Sensor Project</a></li>
<li class="toctree-l3"><a class="reference internal" href="nrf52_adc.html">Add an Analog Sensor</a></li>
<li class="toctree-l3"><a class="reference internal" href="sensor_nrf52_drv2605.html">Connect a DRV2605 actuator device</a></li>
</ul>
</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.10.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="enabling-oic-sensor-data-monitoring">
<h1>Enabling OIC Sensor Data Monitoring<a class="headerlink" href="#enabling-oic-sensor-data-monitoring" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
</div>
<p>This tutorial shows you how to enable sensor data monitoring via the OIC
protocol over BLE transport in an application. It extends the example
application in the <a class="reference internal" href="sensor_nrf52_bno055.html"><span class="doc">Enabling an Off-Board Sensor in an Existing
Application Tutorial</span></a> and assumes that you have
worked through that tutorial.</p>
<p>This tutorial has two parts:</p>
<ul class="simple">
<li><p><a class="reference internal" href="sensor_nrf52_bno055_oic.html"><span class="doc">Part 1</span></a> shows you how to enable
OIC sensor support in the sensors_test application. The procedure
only requires setting the appropriate syscfg setting values for the
application target. The objective is to show you to quickly bring up
the sensors_test application and view the sensor data with the Mynewt
Smart Device Controller app that is available for iOS and Android devices.</p></li>
<li><p><a class="reference internal" href="sensor_bleprph_oic.html"><span class="doc">Part 2</span></a> shows you how to modify the bleprph_oic
application code to add OIC sensor support. The objective is to show you
how to use the Sensor Framework API and OIC server API to develop an OIC
over BLE sensor server application.</p></li>
</ul>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#prerequisites" id="id1">Prerequisites</a></p></li>
<li><p><a class="reference internal" href="#overview-of-oic-support-in-the-sensor-framework" id="id2">Overview of OIC Support in the Sensor Framework</a></p></li>
</ul>
</div>
<div class="section" id="prerequisites">
<h2><a class="toc-backref" href="#id1">Prerequisites</a><a class="headerlink" href="#prerequisites" title="Permalink to this headline"></a></h2>
<p>Ensure that you meet the following prerequisites before continuing with the tutorials:</p>
<ul class="simple">
<li><p>Complete the <a class="reference internal" href="sensor_nrf52_bno055.html"><span class="doc">Enabling an Off-Board Sensor in an Existing Application
Tutorial</span></a></p></li>
<li><p>Install the Mynewt Smart Device Controller on an iOS or Android
Device. See the <a class="reference internal" href="sensors.html"><span class="doc">Sensor Tutorials Overview</span></a> on how to install
the Mynewt Smart Device Controller app.</p></li>
</ul>
</div>
<div class="section" id="overview-of-oic-support-in-the-sensor-framework">
<h2><a class="toc-backref" href="#id2">Overview of OIC Support in the Sensor Framework</a><a class="headerlink" href="#overview-of-oic-support-in-the-sensor-framework" title="Permalink to this headline"></a></h2>
<p>The sensor framework provides support for a sensor enabled application
to host the sensor devices as OIC resources. The sensor framework
provides the following OIC support:</p>
<ul class="simple">
<li><p>Creates OIC resources for each sensor device that is enabled in the
application. It creates an OIC discoverable and observable resource
for each sensor type that the sensor device is configured for.</p></li>
<li><p>Processes CoAP GET requests for the sensor OIC resources. It reads
the sensor data samples, encodes the data, and sends back a response.</p></li>
</ul>
<p>The sensor package (<code class="docutils literal notranslate"><span class="pre">hw/sensor</span></code>) defines the following syscfg settings
for OIC support:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">SENSOR_OIC</span></code>: This setting specifies whether to enable sensor OIC
server support. The setting is enabled by default. The sensor package
includes the <code class="docutils literal notranslate"><span class="pre">net/oic</span></code> package for the OIC support when this
setting is enabled. The <code class="docutils literal notranslate"><span class="pre">OC_SERVER</span></code> syscfg setting that specifies
whether to enable OIC server support in the <code class="docutils literal notranslate"><span class="pre">net/oic</span></code> package must
also be enabled.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">SENSOR_OIC_OBS_RATE</span></code>: Sets the OIC server observation rate.</p></li>
</ul>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="sensor_nrf52_bno055_oic.html" class="btn btn-neutral float-right" title="Enabling OIC Sensor Data Monitoring in the sensors_test Application" accesskey="n">Next: Enabling OIC Sensor Data Monitoring in the sensors_test Application <span class="fa fa-arrow-circle-right"></span></a>
<a href="sensor_thingy_lis2dh12_onb.html" class="btn btn-neutral" title="Developing an Application for an Onboard Sensor" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Developing an Application for an Onboard Sensor</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>