blob: 3475c68c5331c85166f3ce2cc8f795b59e6edbd6 [file] [log] [blame]
<!DOCTYPE html>
<html class="no-js">
<head lang="en-us">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<title>XDK110 - Eclipse Mita</title>
<meta name="generator" content="Hugo 0.42.1" />
<meta name="description" content="The documentation of Eclipse Mita.">
<link rel="canonical" href="../../platforms/xdk110/">
<meta property="og:url" content="/platforms/xdk110/">
<meta property="og:title" content="Eclipse Mita">
<meta property="og:image" content="/images/mita.svg">
<meta name="apple-mobile-web-app-title" content="Eclipse Mita">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="shortcut icon" type="image/x-icon" href="../../images/favicon.ico">
<link rel="icon" type="image/x-icon" href="../../images/favicon.ico">
<style>
@font-face {
font-family: 'Icon';
src: url('/fonts/icon.eot');
src: url('/fonts/icon.eot')
format('embedded-opentype'),
url('/fonts/icon.woff')
format('woff'),
url('/fonts/icon.ttf')
format('truetype'),
url('/fonts/icon.svg')
format('svg');
font-weight: normal;
font-style: normal;
}
</style>
<link rel="stylesheet" href="../../stylesheets/application.css">
<link rel="stylesheet" href="../../stylesheets/temporary.css">
<link rel="stylesheet" href="../../stylesheets/palettes.css">
<link rel="stylesheet" href="../../stylesheets/highlight/highlight.css">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Ubuntu:400,700|Ubuntu&#43;Mono">
<style>
body, input {
font-family: 'Ubuntu', Helvetica, Arial, sans-serif;
}
pre, code {
font-family: 'Ubuntu Mono', 'Courier New', 'Courier', monospace;
}
</style>
<link rel="stylesheet" href="../../css/custom.css">
<script src="../../javascripts/modernizr.js"></script>
</head>
<body class="palette-primary-blue-grey palette-accent-light-blue">
<div class="backdrop">
<div class="backdrop-paper"></div>
</div>
<input class="toggle" type="checkbox" id="toggle-drawer">
<input class="toggle" type="checkbox" id="toggle-search">
<label class="toggle-button overlay" for="toggle-drawer"></label>
<header class="header">
<nav aria-label="Header">
<div class="bar default">
<div class="button button-menu" role="button" aria-label="Menu">
<label class="toggle-button icon icon-menu" for="toggle-drawer">
<span></span>
</label>
</div>
<div class="stretch">
<div class="title">
XDK110
</div>
</div>
<div class="button button-twitter" role="button" aria-label="Twitter">
<a href="https://twitter.com/eclipse_mita" title="@eclipse_mita on Twitter" target="_blank" class="toggle-button icon icon-twitter"></a>
</div>
<div class="button button-github" role="button" aria-label="GitHub">
<a href="https://github.com/eclipse/mita" title="@eclipse/mita on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
</div>
</div>
<div class="bar search">
<div class="button button-close" role="button" aria-label="Close">
<label class="toggle-button icon icon-back" for="toggle-search"></label>
</div>
<div class="stretch">
<div class="field">
<input class="query" type="text" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck>
</div>
</div>
<div class="button button-reset" role="button" aria-label="Search">
<button class="toggle-button icon icon-close" id="reset-search"></button>
</div>
</div>
</nav>
</header>
<main class="main">
<div class="drawer">
<nav aria-label="Navigation">
<a href="../../" class="project">
<div class="banner">
<div class="logo">
<img src="../../images/mita.svg">
</div>
<div class="name">
<strong>Eclipse Mita </strong>
</div>
</div>
</a>
<div class="scrollable">
<div class="wrapper">
<div class="toc">
<ul>
<li>
<a title="Download" href="http://github.com/eclipse/mita">
Download
</a>
</li>
<li>
<a title="Concepts" href="../../concepts/">
Concepts
</a>
</li>
<li>
<span class="section">Language</span>
<ul>
<a title="Introduction" href="../../language/introduction/">
Introduction
</a>
<a title="Basics" href="../../language/basics/">
Basics
</a>
<a title="Packages" href="../../language/packages/">
Packages
</a>
<a title="System Setup" href="../../language/setup/">
System Setup
</a>
<a title="Types" href="../../language/types/">
Types
</a>
<a title="Arrays" href="../../language/arrays/">
Arrays
</a>
<a title="Functions" href="../../language/functions/">
Functions
</a>
<a title="Foreign Function Interface" href="../../language/foreignfunctioninterface/">
Foreign Function Interface
</a>
<a title="Events" href="../../language/events/">
Events
</a>
<a title="Exceptions" href="../../language/exceptions/">
Exceptions
</a>
</ul>
</li>
<li>
<span class="section">Platforms</span>
<ul>
<a class="current" title="XDK110" href="../../platforms/xdk110/">
XDK110
</a>
<ul id="scrollspy">
</ul>
</ul>
</li>
</ul>
</div>
</div>
</div>
</nav>
</div>
<article class="article">
<div class="wrapper">
<h1>XDK110 </h1>
<p>The Bosch Cross Domain Development Kit (XDK) is a programmable sensor device for building IoT applications.
It contains a wide range of sensors and means of connectivity, is extensible using its extension bus.
Due to its versatility it also serves as reference platform for Mita.</p>
<p>To learn more about the XDK head over to <a href="http://xdk.io">http://xdk.io</a>.</p>
<h2 id="sensor-environment-bme280">Sensor: environment (BME280)</h2>
<h3 id="configuration-items">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>power_mode</b> : <span class="kt">BME280_PowerMode</span></pre></div></td>
<td>Defaults to <i>BME280_PowerMode.Normal</i>. The BME280 power mode</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>standby_time</b> : <span class="kt">uint32</span></pre></div></td>
<td>The standby time used in normal mode in milliseconds.
Beware that the value supplied here will be clipped to the nearest valid value.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>temperature_oversampling</b> : <span class="kt">BME280_Oversampling</span></pre></div></td>
<td>Reduces noise in the temperature measurement by over sampling.
Higher over sampling settings reduce noise but increase measurement time and power consumption.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>pressure_oversampling</b> : <span class="kt">BME280_Oversampling</span></pre></div></td>
<td>Reduces noise in the pressure measurement by over sampling.
Higher over sampling settings reduce noise but increase measurement time and power consumption.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>humidity_oversampling</b> : <span class="kt">BME280_Oversampling</span></pre></div></td>
<td>Reduces noise in the humidity measurement by over sampling.
Higher over sampling settings reduce noise but increase measurement time and power consumption.</td>
</tr>
</tbody>
</table>
<h4 id="modalities">Modalities</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>temperature</b> : <span class="kt">int32</span></pre></div></td>
<td>The temperature in milli-celcius</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>pressure</b> : <span class="kt">uint32</span></pre></div></td>
<td>The pressure in pascal</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>humidity</b> : <span class="kt">float</span></pre></div></td>
<td>The relative humidity as percentage</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>humidity_fixed_point</b> : <span class="kt">uint32</span></pre></div></td>
<td>The relative humidity as percentage in Q22.10 integer format.
Divide this value by 1024 to get the percentage.</td>
</tr>
</tbody>
</table>
<h2 id="sensor-accelerometer-bma280">Sensor: accelerometer (BMA280)</h2>
<h3 id="configuration-items-1">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>range</b> : <span class="kt">BMA280_Range</span></pre></div></td>
<td>Defaults to <i>BMA280_Range.Range_2G</i>. The range of acceleration we want to measure.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>bandwidth</b> : <span class="kt">BMA280_Bandwidth</span></pre></div></td>
<td>Defaults to <i>BMA280_Bandwidth.BW_500Hz</i>. The low-pass filter bandwidth used by the BMA.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>any_motion_threshold</b> : <span class="kt">uint32</span></pre></div></td>
<td>Defaults to <i>20</i>. The threshold of acceleration that has to be crossed before an any motion event is triggered.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>no_motion_threshold</b> : <span class="kt">uint32</span></pre></div></td>
<td>Defaults to <i>20</i>. The threshold of acceleration that must not be exceeded for a no motion event to be triggered.</td>
</tr>
</tbody>
</table>
<h4 id="modalities-1">Modalities</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>x_axis</b> : <span class="kt">int32</span></pre></div></td>
<td>The X axis of the BMA280</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>y_axis</b> : <span class="kt">int32</span></pre></div></td>
<td>The Y axis of the BMA280</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>z_axis</b> : <span class="kt">int32</span></pre></div></td>
<td>The Z axis of the BMA280</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>magnitude</b> : <span class="kt">uint32</span></pre></div></td>
<td>The L2 norm of the acceleration vector: sqrt(x^2 + y^2 + z^2)</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>any_motion</b></pre></div></td>
<td>The any motion event (also called activity) uses the change between two successive
acceleration measurements to detect changes in motion. An event is generated when this change
exceeds the any_motion_threshold.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>no_motion</b></pre></div></td>
<td>The no motion event (also called any inactivity) uses the change between two successive
acceleration measurements to detect changes in motion. An event is generated when this change
consecutively stays below the no_motion_threshold.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>low_g</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>high_g</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>single_tap</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>double_tap</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>flat</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>orientation</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>fifo_full</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>fifo_wml</b></pre></div></td>
<td></td>
</tr>
<tr>
<td><div class="highlight"><pre><b>new_data</b></pre></div></td>
<td>This event serves the asynchronous reading of data. It is generated after storing a new value
of z-axis acceleration data in the data register.</td>
</tr>
</tbody>
</table>
<h2 id="sensor-light-max44009">Sensor: light (MAX44009)</h2>
<h3 id="configuration-items-2">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>manual_mode</b> : <span class="kt">bool</span></pre></div></td>
<td>Defaults to <i>false</i>. Enables the manual configuration of integration time and high brightness mode.
If set to false (default) the chip automatically selects those values.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>integration_time</b> : <span class="kt">MAX44009_IntegrationTime</span></pre></div></td>
<td>Defaults to <i>MAX44009_IntegrationTime.MS_800</i>. The integration time is the time the sensor collects light for. In automatic mode
(manual mode set to false) the chip automatically selects the integration time.
This configuration item is only used when manual_mode is set to true.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>high_brightness</b> : <span class="kt">bool</span></pre></div></td>
<td>Defaults to <i>false</i>. Set to true so that only 1/8 of the photo diode current goes to the ADC. This mode is used in
high-brightness situations to avoid saturation/clipping effects of the ADC.
This configuration item is only used when manual_mode is set to true.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>continuous_mode</b> : <span class="kt">bool</span></pre></div></td>
<td>Defaults to <i>false</i>. In default mode (false) the IC measures lux intensity only once every 800ms regardless
of integration time. This mode allows the part to operate at its lowest possible supply current.
In continuous mode (true) the IC continuously measures lux intensity. That is, as soon as one
reading is finished, a new one begins. If integration time is 6.25ms, readings are taken every 6.25ms.
If integration time is 800ms, readings are taken every 800ms. In this mode, the part consumes slightly
higher power than in the default mode.</td>
</tr>
</tbody>
</table>
<h4 id="modalities-2">Modalities</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>intensity</b> : <span class="kt">uint32</span></pre></div></td>
<td>The light intensity in millilux.</td>
</tr>
</tbody>
</table>
<h2 id="sensor-button-one-button">Sensor: button_one (Button)</h2>
<h4 id="modalities-3">Modalities</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>is_pressed</b> : <span class="kt">bool</span></pre></div></td>
<td>True if the button is pressed in this very right moment. False otherwise.</td>
</tr>
</tbody>
</table>
<h4 id="events-1">Events</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>pressed</b></pre></div></td>
<td>Fires after the button was pressed.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>released</b></pre></div></td>
<td>Fires after the button was released.</td>
</tr>
</tbody>
</table>
<h2 id="sensor-button-two-button">Sensor: button_two (Button)</h2>
<h4 id="modalities-4">Modalities</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>is_pressed</b> : <span class="kt">bool</span></pre></div></td>
<td>True if the button is pressed in this very right moment. False otherwise.</td>
</tr>
</tbody>
</table>
<h4 id="events-2">Events</h4>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>pressed</b></pre></div></td>
<td>Fires after the button was pressed.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>released</b></pre></div></td>
<td>Fires after the button was released.</td>
</tr>
</tbody>
</table>
<h2 id="connectivity-ble">Connectivity: BLE</h2>
<p>BLE is Bluetooth Low Energy using GATT profiles.
At the moment we only support slave mode where the XDK becomes a device that can be connected to (as compared to connecting to some other device).</p>
<h3 id="configuration-items-3">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>deviceName</b> : <span class="kt">string</span></pre></div></td>
<td>The name of the device as advertised via GAP.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>serviceUid</b> : <span class="kt">uint32</span></pre></div></td>
<td>The last four bytes of the UUID of the GATT service we'll create.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>advertisingInterval</b> : <span class="kt">int16</span></pre></div></td>
<td>Defaults to <i>1000</i>. The advertising interval in milliseconds.</td>
</tr>
</tbody>
</table>
<h3 id="variable-configuration-items">Variable Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Parameters</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>bool_characteristic</b> : <span class="kt">bool</span></pre></div></td>
<td>Creates a boolean GATT characteristic.</td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>UUID</b> : <span class="kt">uint32</span></pre></div>
The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.
</li>
</ul>
</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>uint32_characteristic</b> : <span class="kt">uint32</span></pre></div></td>
<td>Creates an unsigned integer GATT characteristic.</td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>UUID</b> : <span class="kt">uint32</span></pre></div>
The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.
</li>
</ul>
</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>int32_characteristic</b> : <span class="kt">int32</span></pre></div></td>
<td>Creates a signed integer GATT characteristic.</td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>UUID</b> : <span class="kt">uint32</span></pre></div>
The last four bytes of the characteristic UUID. Defaults to the hash code of the VCI name.
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2 id="connectivity-led">Connectivity: LED</h2>
<p>Displays state using three differently colored LEDs on the device.</p>
<h3 id="variable-configuration-items-1">Variable Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Parameters</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>light_up</b> : <span class="kt">bool</span></pre></div></td>
<td></td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>color</b> : <span class="kt">LedColor</span></pre></div>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2 id="connectivity-wlan">Connectivity: WLAN</h2>
<p>Specifies the connection to a wireless wide-area network, also refered to as WiFi.</p>
<h3 id="configuration-items-4">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>ssid</b> : <span class="kt">string</span></pre></div></td>
<td>The SSID of the WLAN network we want to connect to.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>psk</b> : <span class="kt">string</span></pre></div></td>
<td>The pre-shared key of the WLAN we're connecting to. Note that this
setting implies WPA2-PSK as authentication method. At this moment
the WLAN connectivity does not support enterprise WLAN.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>useDHCP</b> : <span class="kt">bool</span></pre></div></td>
<td>Defaults to <i>true</i>. If true we'll attempt to configure the wireless interface using DHCP and
all static settings will be ignored. If false, the static settings have to
be present.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>staticIP</b> : <span class="kt">string</span></pre></div></td>
<td>The static IP address to use. This field has to be in the number-dot
customary for IPv4 addresses (see IETF draft-main-ipaddr-text-rep-02).
If useDHCP is true this field is ignored. If useDHCP is false, this field
is mandatory.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>staticGW</b> : <span class="kt">string</span></pre></div></td>
<td>The IP address of the default gateway. This field has to be in the number-dot
customary for IPv4 addresses (see IETF draft-main-ipaddr-text-rep-02).
If useDHCP is true this field is ignored. If useDHCP is false, this field
is recommended.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>staticDNS</b> : <span class="kt">string</span></pre></div></td>
<td>The IP address of the default DNS server. This field has to be in the number-dot
customary for IPv4 addresses (see IETF draft-main-ipaddr-text-rep-02).
If useDHCP is true this field is ignored. If useDHCP is false, this field
is recommended.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>staticMask</b> : <span class="kt">string</span></pre></div></td>
<td>The IP address of the default Subnet Mask. This field has to be in the number-dot
customary for IPv4 addresses (see IETF draft-main-ipaddr-text-rep-02).
If useDHCP is true this field is ignored. If useDHCP is false, this field
is recommended.</td>
</tr>
</tbody>
</table>
<h2 id="connectivity-mqtt">Connectivity: MQTT</h2>
<p>MQTT (Message Queuing Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based messaging protocol.
This MQTT connectivity requires WLAN to be setup as well.</p>
<h3 id="configuration-items-5">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>transport</b> : <span class="kt">WLAN</span></pre></div></td>
<td>The underlying transport connectivity we use to send the data out. In the future we might also
support LoRa here.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>url</b> : <span class="kt">string</span></pre></div></td>
<td>The URL pointing to the MQTT broker, for example: mqtt://does-not.exist:8000</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>clientId</b> : <span class="kt">string</span></pre></div></td>
<td>The client identifier (here: clientID) is a identifier of each MQTT client
connecting to a MQTT broker. It needs to be unique for the broker to
know the state of the client.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>cleanSession</b> : <span class="kt">bool</span></pre></div></td>
<td>Defaults to <i>false</i>. The clean session flag indicates to the broker whether the client wants
to establish a clean session or a persistent session where all
subscriptions and messages (QoS 1 & 2) are stored for the client.</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>keepAliveInterval</b> : <span class="kt">uint32</span></pre></div></td>
<td>Defaults to <i>60</i>. The keep alive interval (in seconds) is the time the client commits to for
when sending regular pings to the broker. The broker responds to the
pings enabling both sides to determine if the other one is still alive and
reachable.</td>
</tr>
</tbody>
</table>
<h3 id="variable-configuration-items-2">Variable Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Parameters</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>topic</b> : <span class="kt">string</span></pre></div></td>
<td>Publishes a message to a particular topic.</td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>name</b> : <span class="kt">string</span></pre></div>
</li>
<li>
<div class="highlight"><pre><small>optional</small> <b>qos</b> : <span class="kt">uint32</span></pre></div>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2 id="connectivity-httprestclient">Connectivity: HttpRestClient</h2>
<p>Implements an HTTP REST Client over WIFI</p>
<h3 id="configuration-items-6">Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>transport</b> : <span class="kt">WLAN</span></pre></div></td>
<td>The underlying transport connectivity we use to send the data out. In the future we might also
support LoRa here.</td>
</tr>
<tr>
<td><div class="highlight"><pre><b>endpointBase</b> : <span class="kt">string</span></pre></div></td>
<td>The part of the endpoint URL common to all requests, e.g. http://foobar.com/api/v1</td>
</tr>
<tr>
<td><div class="highlight"><pre><small>optional</small> <b>header</b> : <span class="kt">string</span></pre></div></td>
<td>A custom header which is added to each HTTP request. Example:
X-Auth: MySecretToken\nX-Version: 1.0</td>
</tr>
</tbody>
</table>
<h3 id="variable-configuration-items-3">Variable Configuration Items</h3>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Parameters</td>
</tr>
</thead>
<tbody>
<tr>
<td><div class="highlight"><pre><b>resource</b> : <span class="kt">string</span></pre></div></td>
<td></td>
<td>
<ul>
<li>
<div class="highlight"><pre> <b>endpoint</b> : <span class="kt">string</span></pre></div>
</li>
<li>
<div class="highlight"><pre><small>optional</small> <b>contentType</b> : <span class="kt">string</span></pre></div>
</li>
<li>
<div class="highlight"><pre><small>optional</small> <b>writeMethod</b> : <span class="kt">HttpMethod</span></pre></div>
</li>
<li>
<div class="highlight"><pre><small>optional</small> <b>readMethod</b> : <span class="kt">HttpMethod</span></pre></div>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<aside class="copyright" role="note">
&copy; 2018 The Eclipse Mita Project &ndash;
Documentation built with
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
using the
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme.
</aside>
<footer class="footer">
<nav class="pagination" aria-label="Footer">
<div class="previous">
<a href="../../language/functions/" title="Functions">
<span class="direction">
Previous
</span>
<div class="page">
<div class="button button-previous" role="button" aria-label="Previous">
<i class="icon icon-back"></i>
</div>
<div class="stretch">
<div class="title">
Functions
</div>
</div>
</div>
</a>
</div>
<div class="next">
<a href="../../language/foreignfunctioninterface/" title="Foreign Function Interface">
<span class="direction">
Next
</span>
<div class="page">
<div class="stretch">
<div class="title">
Foreign Function Interface
</div>
</div>
<div class="button button-next" role="button" aria-label="Next">
<i class="icon icon-forward"></i>
</div>
</div>
</a>
</div>
</nav>
</footer>
</div>
</article>
<div class="results" role="status" aria-live="polite">
<div class="scrollable">
<div class="wrapper">
<div class="meta"></div>
<div class="list"></div>
</div>
</div>
</div>
</main>
<script>
var base_url = '';
var repo_id = '';
</script>
<script src="../../javascripts/application.js"></script>
<script>
/* Add headers to scrollspy */
var headers = document.getElementsByTagName("h2");
var scrollspy = document.getElementById('scrollspy');
if(scrollspy) {
if(headers.length > 0) {
for(var i = 0; i < headers.length; i++) {
var li = document.createElement("li");
li.setAttribute("class", "anchor");
var a = document.createElement("a");
a.setAttribute("href", "#" + headers[i].id);
a.setAttribute("title", headers[i].innerHTML);
a.innerHTML = headers[i].innerHTML;
li.appendChild(a)
scrollspy.appendChild(li);
}
} else {
scrollspy.parentElement.removeChild(scrollspy)
}
/* Add permanent link next to the headers */
var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
for(var i = 0; i < headers.length; i++) {
var a = document.createElement("a");
a.setAttribute("class", "headerlink");
a.setAttribute("href", "#" + headers[i].id);
a.setAttribute("title", "Permanent link")
a.innerHTML = "#";
headers[i].appendChild(a);
}
}
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</body>
</html>