blob: 43026765d38e9602012cb5a8f0726bd45c2ee76d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
<meta name="date" content="2017-12-18">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.iot</h1>
<div class="docSummary">
<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Commands</a></td>
<td class="colLast">
<div class="block">Device command identifiers used by Edgent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Events</a></td>
<td class="colLast">
<div class="block">Device event identifiers used by Edgent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></td>
<td class="colLast">
<div class="block">A generic IoT device IoT hub connector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></td>
<td class="colLast">
<div class="block">A generic IoT gateway device IoT hub connector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></td>
<td class="colLast">
<div class="block">Device event quality of service levels.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></td>
<td class="colLast">
<div class="block">An IoT device heartbeat event generator.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.edgent.connectors.iot Description">Package org.apache.edgent.connectors.iot Description</h2>
<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.
<P>
An IoT environment consists of an enterprise IoT message hub and devices and other clients
connected to it.
Each IoT device has an identity in the hub. The form of a device's identity is the domain
of an IoT hub implementation.
How a device becomes registered to an IoT hub and generally what device management capabilities
exist and how a device is managed is beyond the scope of the
"analytic pipelines" focused Edgent APIs.
</P>
<P>
An IoT device can publish device events to and receive device commands from an IoT hub.
An IoT gateway device is an IoT device that is also conduit for a collection of IoT devices
that lack direct connection to the enterprise IoT hub.
A gateway can publish events on behalf of its connected devices and
receive commands from the hub targeted to them.
An Edgent IoT hub connector bridges the gap between this generic model and and
particular IoT hub implementation's underlying protocols.
</P>
<P>
More specifically, the generic IoT device model consists of:
<UL>
<LI>
<B>Device events</B> - A device <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>publishes</code></a> <em>events</em> as messages to a message hub to allow
analysis or processing by back-end systems, etc.. A device event consists of:
<UL>
<LI> <B>event identifier</B> - Application specified event type. E.g. <code>engineAlert</code></LI>
<LI> <B>event payload</B> - Application specified event payload. E.g. the engine alert code and sensor reading.</LI>
<LI> <B>QoS</B> - <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>Quality of service</code></a> for message delivery. Using MQTT QoS definitions.</LI>
</UL>
Device events can be used to send any data including abnormal events
(e.g. a fault condition on an engine), periodic or aggregate sensor readings,
device user input etc.
<BR>
The format for the payload is JSON, support for other payload formats may be added
in the future.
</LI>
<LI>
<B>Device Commands</B> - A device <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>subscribes</code></a> to <em>commands</em> from back-end systems
through the message hub. A device command consists of:
<UL>
<LI> <B>command identifier</B> - Application specified command type. E.g. <code>statusMessage</code></LI>
<LI> <B>command payload</B> - Application specified command payload. E.g. the severity and
text of the message to display.</LI>
</UL>
Device commands can be used to perform any action on the device including displaying information,
controlling the device (e.g. reduce maximum engine revolutions), controlling the Edgent application, etc.
<BR>
The format for the payload is typically JSON, though other formats may be used.
</LI>
</UL>
<P>
Device event and command identifiers starting with "<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX"><code>edgent</code></a>"
are reserved for use by Edgent.
</P></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>