Updated documentation

This commit is contained in:
Mark Qvist 2022-05-14 20:19:15 +02:00
parent 3871d8615e
commit b35f86643a
9 changed files with 96 additions and 1 deletions

View File

@ -522,6 +522,31 @@ directly over a wire-pair, or for using devices such as data radios and lasers.
parity = none
stopbits = 1
.. _interfaces-pipe:
Pipe Interface
==============
Using this interface, reticulum can use any program as an interface via `stdin` and
`stdout`. This can be used to easily create virtual interfaces, or to interface with
custom hardware or other systems.
.. code::
[[Pipe Interface]]
type = PipeInterface
interface_enabled = True
# External command to execute
command = netcat -l 5757
# Optional respawn delay, in seconds
respawn_delay = 5
Reticulum will write all packets to `stdin` of the ``command`` option, and will
continously read and scan its `stdout` for Reticulum packets. If ``EOF`` is reached,
Reticulum will try to respawn the program after waiting for ``respawn_interval`` seconds.
.. _interfaces-kiss:
KISS Interface

View File

@ -122,6 +122,14 @@ Reticulum implements a range of generalised interface types that covers the comm
* UDP over IP networks
* Anything you can connect via stdio
* Reticulum can use external programs and pipes as interfaces
* This can be used to easily hack in virtual interfaces
* Or to quickly create interfaces with custom hardware
For a full list and more details, see the :ref:`Supported Interfaces<interfaces-main>` chapter.

View File

@ -104,6 +104,7 @@ to participate in the development of Reticulum itself.</p>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#udp-interface">UDP Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#rnode-lora-interface">RNode LoRa Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#serial-interface">Serial Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#pipe-interface">Pipe Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#kiss-interface">KISS Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="interfaces.html#ax-25-kiss-interface">AX.25 KISS Interface</a></li>
</ul>

View File

@ -525,6 +525,26 @@ directly over a wire-pair, or for using devices such as data radios and lasers.<
</pre></div>
</div>
</div>
<div class="section" id="pipe-interface">
<span id="interfaces-pipe"></span><h2>Pipe Interface<a class="headerlink" href="#pipe-interface" title="Permalink to this headline"></a></h2>
<p>Using this interface, reticulum can use any program as an interface via <cite>stdin</cite> and
<cite>stdout</cite>. This can be used to easily create virtual interfaces, or to interface with
custom hardware or other systems.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[[</span><span class="n">Pipe</span> <span class="n">Interface</span><span class="p">]]</span>
<span class="nb">type</span> <span class="o">=</span> <span class="n">PipeInterface</span>
<span class="n">interface_enabled</span> <span class="o">=</span> <span class="kc">True</span>
<span class="c1"># External command to execute</span>
<span class="n">command</span> <span class="o">=</span> <span class="n">netcat</span> <span class="o">-</span><span class="n">l</span> <span class="mi">5757</span>
<span class="c1"># Optional respawn delay, in seconds</span>
<span class="n">respawn_delay</span> <span class="o">=</span> <span class="mi">5</span>
</pre></div>
</div>
<p>Reticulum will write all packets to <cite>stdin</cite> of the <code class="docutils literal notranslate"><span class="pre">command</span></code> option, and will
continously read and scan its <cite>stdout</cite> for Reticulum packets. If <code class="docutils literal notranslate"><span class="pre">EOF</span></code> is reached,
Reticulum will try to respawn the program after waiting for <code class="docutils literal notranslate"><span class="pre">respawn_interval</span></code> seconds.</p>
</div>
<div class="section" id="kiss-interface">
<span id="interfaces-kiss"></span><h2>KISS Interface<a class="headerlink" href="#kiss-interface" title="Permalink to this headline"></a></h2>
<p>With the KISS interface, you can use Reticulum over a variety of packet
@ -654,6 +674,7 @@ beaconing functionality described above.</p>
<li><a class="reference internal" href="#udp-interface">UDP Interface</a></li>
<li><a class="reference internal" href="#rnode-lora-interface">RNode LoRa Interface</a></li>
<li><a class="reference internal" href="#serial-interface">Serial Interface</a></li>
<li><a class="reference internal" href="#pipe-interface">Pipe Interface</a></li>
<li><a class="reference internal" href="#kiss-interface">KISS Interface</a></li>
<li><a class="reference internal" href="#ax-25-kiss-interface">AX.25 KISS Interface</a></li>
</ul>

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -137,6 +137,13 @@ network, and vice versa.</p>
<li><p>The I2P network</p></li>
<li><p>TCP over IP networks</p></li>
<li><p>UDP over IP networks</p></li>
<li><p>Anything you can connect via stdio</p>
<ul>
<li><p>Reticulum can use external programs and pipes as interfaces</p></li>
<li><p>This can be used to easily hack in virtual interfaces</p></li>
<li><p>Or to quickly create interfaces with custom hardware</p></li>
</ul>
</li>
</ul>
<p>For a full list and more details, see the <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Supported Interfaces</span></a> chapter.</p>
</div>

View File

@ -522,6 +522,31 @@ directly over a wire-pair, or for using devices such as data radios and lasers.
parity = none
stopbits = 1
.. _interfaces-pipe:
Pipe Interface
==============
Using this interface, reticulum can use any program as an interface via `stdin` and
`stdout`. This can be used to easily create virtual interfaces, or to interface with
custom hardware or other systems.
.. code::
[[Pipe Interface]]
type = PipeInterface
interface_enabled = True
# External command to execute
command = netcat -l 5757
# Optional respawn delay, in seconds
respawn_delay = 5
Reticulum will write all packets to `stdin` of the ``command`` option, and will
continously read and scan its `stdout` for Reticulum packets. If ``EOF`` is reached,
Reticulum will try to respawn the program after waiting for ``respawn_interval`` seconds.
.. _interfaces-kiss:
KISS Interface

View File

@ -122,6 +122,14 @@ Reticulum implements a range of generalised interface types that covers the comm
* UDP over IP networks
* Anything you can connect via stdio
* Reticulum can use external programs and pipes as interfaces
* This can be used to easily hack in virtual interfaces
* Or to quickly create interfaces with custom hardware
For a full list and more details, see the :ref:`Supported Interfaces<interfaces-main>` chapter.