This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/plc4x-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 1d07c73 Site checkin for project PLC4X: Jenkins Tools
1d07c73 is described below
commit 1d07c7368fe9077a079e59abf97c660a8cebee7a
Author: jenkins <[email protected]>
AuthorDate: Tue Mar 10 12:48:28 2020 +0000
Site checkin for project PLC4X: Jenkins Tools
---
users/protocols/firmata.html | 459 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 459 insertions(+)
diff --git a/users/protocols/firmata.html b/users/protocols/firmata.html
new file mode 100644
index 0000000..f33ade4
--- /dev/null
+++ b/users/protocols/firmata.html
@@ -0,0 +1,459 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta http-equiv="Content-Type"
content="text/html; charset=UTF-8"/>
+ <title>PLC4X – </title>
+ <script src="../../js/jquery.slim.min.js" type="javascript"></script>
+ <!--script src="../../js/popper.min.js" type="javascript"></script-->
+ <script src="../../js/bootstrap.bundle.min.js" type="javascript"></script>
+ <!-- FontAwesome -->
+ <link rel="stylesheet" href="../../css/all.min.css" type="text/css"/>
+ <!-- Bootstrap -->
+ <link rel="stylesheet" href="../../css/bootstrap.min.css" type="text/css"/>
+ <!-- Some Maven Site defaults -->
+ <link rel="stylesheet" href="../../css/maven-base.css" type="text/css"/>
+ <link rel="stylesheet" href="../../css/maven-theme.css" type="text/css"/>
+ <!-- The PLC4X version of a bootstrap theme -->
+ <link rel="stylesheet" href="../../css/themes/plc4x.css" type="text/css"
id="pagestyle"/>
+ <!-- A custom style for printing content -->
+ <link rel="stylesheet" href="../../css/print.css" type="text/css"
media="print"/>
+
+ <meta http-equiv="Content-Language" content="en"/>
+
+</head>
+<body class="composite">
+<nav class="navbar navbar-light navbar-expand-md bg-faded
justify-content-center border-bottom">
+ <!--a href="/" class="navbar-brand d-flex w-50 mr-auto">Navbar 3</a-->
+ <a href="https://plc4x.apache.org/" id="bannerLeft"><img
src="../../images/apache_plc4x_logo_small.png" alt="Apache PLC4X"/></a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#collapsingNavbar3">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="navbar-collapse collapse w-100" id="collapsingNavbar3">
+ <ul class="navbar-nav w-100 justify-content-center">
+ <li class="nav-item">
+ <a class="nav-link"
href="../../index.html">Home</a>
+ </li>
+
<li class="nav-item active">
+ <a class="nav-link"
href="../../users/index.html">Users</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link"
href="../../developers/index.html">Developers</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link"
href="../../apache/index.html">Apache</a>
+ </li>
+ </ul>
+ <ul class="nav navbar-nav ml-auto justify-content-end">
+ <li class="nav-item row valign-middle">
+ <a href="https://www.apache.org/events/current-event.html"
class="col"><img src="https://www.apache.org/events/current-event-234x60.png"
alt="Apache Events"/></a>
+ <div class="col">
+ <a href="https://www.apache.org/" id="bannerRight"><img
src="../../images/apache_logo_small.png" alt="Apache Software Foundation"/></a>
+ </div>
+ </li>
+ </ul>
+ </div>
+</nav>
+<div class="container-fluid">
+ <div class="row h-100">
+
+
+
<nav class="col-sm-push col-md-2 pt-3 sidebar">
+ <div class="sidebar-sticky">
+ <ul class="nav flex-column">
+ <li
class="nav-item">
+ <a href="../../users/index.html"
class="nav-link">Section Home</a>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/download.html"
class="nav-link">Download</a>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/gettingstarted.html"
class="nav-link">Getting Started</a>
+ <ul class="flex-column pl-4 nav">
+ <li class="nav-item">
+ <a href="../../users/plc4j/gettingstarted.html"
class="nav-link">Java</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/plc4j/general-concepts.html"
class="nav-link">General Concepts</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/plc4j/virtual-modbus.html"
class="nav-link">Virtual Modbus</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/blogs-videos-and-slides.html"
class="nav-link">Blogs, Videos and Slides</a>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/protocols/index.html"
class="nav-link">Protocols</a>
+ <ul class="flex-column pl-4 nav">
+ <li class="nav-item">
+ <a href="../../users/protocols/ab-eth.html"
class="nav-link">AB-ETH</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/ads.html"
class="nav-link">ADS/AMS</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/bacnetip.html"
class="nav-link">BACnet/IP</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/deltav.html"
class="nav-link">DeltaV</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/df1.html"
class="nav-link">DF1</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/ethernet-ip.html"
class="nav-link">EtherNet/IP</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/knxnetip.html"
class="nav-link">KNXnet/IP</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/modbus.html"
class="nav-link">Modbus (TCP/Serial)</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/opc-ua.html"
class="nav-link">OPC UA</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/s7.html"
class="nav-link">S7 (Step7)</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/protocols/simulated.html"
class="nav-link">Simulated</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/transports/index.html"
class="nav-link">Transports</a>
+ <ul class="flex-column pl-4 nav">
+ <li class="nav-item">
+ <a href="../../users/transports/tcp.html"
class="nav-link">TCP</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/transports/udp.html"
class="nav-link">UDP</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/transports/serial.html"
class="nav-link">Serial</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/transports/raw-socket.html"
class="nav-link">Raw Socket</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/transports/pcap-replay.html"
class="nav-link">PCAP Replay</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/integrations/index.html"
class="nav-link">Integrations</a>
+ <ul class="flex-column pl-4 nav">
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-calcite.html" class="nav-link">Apache
Calcite</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-camel.html" class="nav-link">Apache
Camel</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-edgent.html" class="nav-link">Apache
Edgent</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-iotdb.html" class="nav-link">Apache
IoTDB</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-kafka.html" class="nav-link">Apache
Kafka</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-nifi.html" class="nav-link">Apache
NiFi</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/apache-streampipes.html" class="nav-link">Apache
StreamPipes</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/eclipse-ditto.html" class="nav-link">Eclipse
Ditto</a>
+ </li>
+ <li class="nav-item">
+ <a
href="../../users/integrations/elastic-logstash.html" class="nav-link">Elastic
Logstash</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/tools/index.html"
class="nav-link">Tools</a>
+ <ul class="flex-column pl-4 nav">
+ <li class="nav-item">
+ <a href="../../users/tools/capture-replay.html"
class="nav-link">Capture Replay</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/tools/connection-pool.html"
class="nav-link">Connection Pool</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/tools/opm.html"
class="nav-link">Object PLC Mapping (OPM)</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/tools/scraper.html"
class="nav-link">Scraper</a>
+ </li>
+ <li class="nav-item">
+ <a href="../../users/tools/testing.html"
class="nav-link">PLC4X without a PLC and Unit Testing</a>
+ </li>
+ </ul>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/industry40.html"
class="nav-link">Industry 4.0 with Apache</a>
+ </li>
+
+
+ <li
class="nav-item">
+ <a href="../../users/security.html"
class="nav-link">Security</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </ul>
+ </div>
+ </nav>
+ <main role="main"
class="ml-sm-auto px-4 col-sm-pull col-md-9 col-lg-10 h-100">
+ <div class="sect1">
+<h2 id="firmata">Firmata</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Firmata protocol is based on the MIDI protocol used for communicating
with musical equipment.</p>
+</div>
+<div class="paragraph">
+<p>It is also one of the most widely used protocols for communication with
Arduino devices.</p>
+</div>
+<div class="paragraph">
+<p>This driver is built to be compatible with the <code>StandardFirmata
Arduino Sketch</code> which can be found <a
href="https://github.com/firmata/arduino/blob/master/examples/StandardFirmata/StandardFirmata.ino">here</a>
(Version last changed on August 17th, 2017)</p>
+</div>
+<div class="sect2">
+<h3 id="connection_string_options">Connection String Options</h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 22.2222%;"/>
+<col style="width: 22.2222%;"/>
+<col style="width: 55.5556%;"/>
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Value</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Code</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div
class="content"><div class="paragraph">
+<p><code>firmata</code></p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Name</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div
class="content"><div class="paragraph">
+<p>Firmata Protocol</p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maven
Dependency</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div
class="content"><div class="listingblock">
+<div class="content">
+<pre><dependency>
+ <groupId>org.apache.plc4x</groupId>
+ <artifactId>plc4j-driver-firmata</artifactId>
+ <version>{current-last-released-version}</version>
+</dependency></pre>
+</div>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default
Transport:</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div
class="content"><div class="paragraph">
+<p> <code>serial</code></p>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Compatible
Transports:</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><div
class="content"><div class="ulist">
+<ul>
+<li>
+<p><code>serial</code></p>
+</li>
+</ul>
+</div></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top" colspan="3"><p
class="tableblock">Supported Operations</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
+<p><code>write</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
+<p><code>subscribe</code></p>
+</div></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top" colspan="3"><p
class="tableblock">Options</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When subscribing to pins, these are configured to become read pins. When
writing to digital pins, these are configured to become output pins. However
writing to pins for which a subscription exists, an exception will be thrown.
In order to write to previously subscribed pins, all subscriptions for this
have to be cancelled first.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="individual_resource_address_format">Individual Resource Address
Format</h3>
+<div class="paragraph">
+<p>Similar to the Modbus protocol, the Firmata protocol support Boolean and
Short values.</p>
+</div>
+<div class="paragraph">
+<p>Booleans are used for the digital IO pins and short values for the analog
inputs.</p>
+</div>
+<div class="sect3">
+<h4 id="binary_addresses">Binary Addresses</h4>
+<div class="paragraph">
+<p>The full format for a digital address has the following format:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>digital:{start-address}[{array-size}]:{special-config}</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The <code>start-address</code> and <code>array-size</code> are simple
integer values.
+<code>special-config</code> can be used to fonfigure the digital input pin to
something else than <code>INPUT</code>.</p>
+</div>
+<div class="paragraph">
+<p>Currently the only supported option is <code>PULLUP</code> which configured
the Arduino’s digital input pin to use it’s built in
pullup-resistor.</p>
+</div>
+<div class="paragraph">
+<p>Both the <code>array-size</code> as well as the <code>special-config</code>
parts are optional. So the fillowing addresses would also be valid:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>digital:4
+digital:4[5]
+digital:4:PULLUP</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A normal <code>Arduino Uno</code> is equipped with 14 digital inputs:
0-13</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+However in case of using the serial port (which will always be the case when
using this driver), the pins 0 and 1 are the <code>RX</code> and
<code>TX</code> pins of the serial port and can’t be used.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="analog_addresses">Analog Addresses</h4>
+
+</div>
+</div>
+</div>
+</div>
+ </main>
+ <footer class="pt-4 my-md-5 pt-md-5 w-100 border-top">
+ <div class="row justify-content-md-center" style="font-size: 13px">
+ <div class="col col-6 text-center">
+ Copyright © 2017–2020 <a
href="https://www.apache.org/">The Apache Software Foundation</a>.
+All rights reserved.<br/>
+ Apache PLC4X, PLC4X, Apache, the Apache feather logo, and
the Apache PLC4X project logo are either registered trademarks or trademarks of
The Apache Software Foundation in the United States and other countries. All
other marks mentioned may be trademarks or registered trademarks of their
respective owners.
+ <br/><div
style="text-align:center;">Home screen image taken from <a
+ href="https://flic.kr/p/chEftd">Flickr</a>, "Tesla
Robot Dance" by Steve Jurvetson, licensed
+ under <a
href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0 Generic</a>,
image cropped
+ and blur effect added.</div>
+ </div>
+ </div>
+ </footer>
+ </div>
+</div>
+
+<!-- Bootstrap core JavaScript
+================================================== -->
+<!-- Placed at the end of the document so the pages load faster -->
+<script src="../../js/jquery.slim.min.js"></script>
+<script src="../../js/popper.min.js"></script>
+<script src="../../js/bootstrap.min.js"></script>
+<script type="text/javascript">
+ $('.carousel .carousel-item').each(function(){
+ var next = $(this).next();
+ if (!next.length) {
+ next = $(this).siblings(':first');
+ }
+ next.children(':first-child').clone().appendTo($(this));
+
+ for (let i = 0; i < 3; i++) {
+ next=next.next();
+ if (!next.length) {
+ next = $(this).siblings(':first');
+ }
+ next.children(':first-child').clone().appendTo($(this));
+ }
+ });
+</script>
+</body>
+</html>
\ No newline at end of file