Files
seiscomp-training/share/doc/caps/html/base/plugins.html

385 lines
24 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Data Acquisition and Manipulation by Plugins &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=b3ba4146"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="caps2caps" href="../apps/caps2caps.html" />
<link rel="prev" title="Data Redundancy" href="redundancy.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="../apps/caps2caps.html" title="caps2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="redundancy.html" title="Data Redundancy"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="data-acquisition-and-manipulation-by-plugins">
<span id="sec-caps-plugins"></span><h1>Data Acquisition and Manipulation by Plugins<a class="headerlink" href="#data-acquisition-and-manipulation-by-plugins" title="Permalink to this heading"></a></h1>
<p>While the <a class="reference internal" href="server.html#sec-caps-server"><span class="std std-ref">caps server</span></a> serves data in basically any
given format in real time and from archive, the data are fetched from external
sources and provided to caps by acquisition plugins.</p>
<p>The acquisition plugins generate or retrieve data and provide them to the
<a class="reference internal" href="server.html#sec-caps-server"><span class="std std-ref">caps server</span></a> for storage and further provision to other
clients. Depending on the plugin itself the acquisition plugins allow to</p>
<ul class="simple">
<li><p>Flexibly connect to many different sources and fetch data in many different formats</p></li>
<li><p>Manipulate data streams</p></li>
<li><p>Generate new data.</p></li>
</ul>
<p>In addition to the <a class="reference internal" href="#sec-caps-acqui-plugins"><span class="std std-ref">plugins specifically provided by the cap-plugins package</span></a>
all available <a class="reference internal" href="#sec-seedlink-plugins"><span class="std std-ref">seedlink plugins</span></a> can be considered.</p>
<p>CAPS also provides tools for <a class="reference internal" href="data-retrieval.html#sec-caps-retrieval"><span class="std std-ref">retrieval of data</span></a> from
CAPS servers and delivery to <strong class="program">seedlink</strong> or to files.</p>
<figure class="align-center" id="id1">
<span id="fig-deployment-plugins"></span><a class="reference internal image-reference" href="../_images/deployment.png"><img alt="../_images/deployment.png" src="../_images/deployment.png" style="width: 12cm;" /></a>
<figcaption>
<p><span class="caption-text">Possible data feeds by plugins into <cite>CAPS</cite>.</span><a class="headerlink" href="#id1" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<section id="appname-plugins">
<span id="sec-caps-acqui-plugins"></span><h2><cite>CAPS</cite> plugins<a class="headerlink" href="#appname-plugins" title="Permalink to this heading"></a></h2>
<p>Since <cite>CAPS</cite> was brought to the market more and more plugins have been
developed in addition to the <a class="reference internal" href="#sec-seedlink-plugins"><span class="std std-ref">Seedlink plugins</span></a>.
While many of these <cite>CAPS</cite> plugins are included in the <em>caps-plugins</em> package by <cite>gempa</cite>,
other plugins can be provided upon request. We can also develop new customized plugins.
<a class="reference external" href="https://gempa.de/contact/">Contact us</a> and provide your specifications for new
developments.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>While the <a class="reference internal" href="#sec-seedlink-plugins"><span class="std std-ref">Seedlink plugins</span></a> are selected and
configured in the bindings configuration of <strong class="program">seedlink</strong>,
the CAPS plugins run independently.
Therefore, they are enabled and started as daemon modules or executed on demand.
These plugins are configured like a module by module configuration.</p>
</div>
<section id="included-plugins">
<h3>Included plugins<a class="headerlink" href="#included-plugins" title="Permalink to this heading"></a></h3>
<p>The following plugins ship with the <em>caps-plugins</em> package:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 13.0%" />
<col style="width: 87.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Plugin name</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/caps2caps.html#caps2caps"><span class="std std-ref">caps2caps</span></a></p></td>
<td><p>Mirrors data between different <a class="reference internal" href="glossary.html#term-CAPS"><span class="xref std std-term">CAPS</span></a> instances. All packet types are supported.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/crex2caps.html#crex2caps"><span class="std std-ref">crex2caps</span></a></p></td>
<td><p>CREX CAPS plugin. Reads CREX data from file and pushes the data into the given CAPS server.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/gdi2caps.html#gdi2caps"><span class="std std-ref">gdi2caps</span></a></p></td>
<td><p>Import data from Guralp GDI server.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/rtpd2caps.html#rtpd2caps"><span class="std std-ref">rtpd2caps</span></a></p></td>
<td><p>Collects data from a RefTeK <a class="reference external" href="http://www.reftek.com/products/software-RTPD.htm">RTPD server</a>. The data is stored in the <a class="reference internal" href="archive.html#sec-pt-raw"><span class="std std-ref">RAW</span></a> format.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/data2caps.html#data2caps"><span class="std std-ref">data2caps</span></a></p></td>
<td><p>Send data to CAPS as <a class="reference internal" href="archive.html#sec-pt-raw"><span class="std std-ref">RAW format</span></a>. This simple tool can be easily extended to read custom formats and to send <a class="reference internal" href="archive.html#sec-pt-miniseed"><span class="std std-ref">miniSEED format</span></a>.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/rs2caps.html#rs2caps"><span class="std std-ref">rs2caps</span></a></p></td>
<td><p>Collects data from a <cite>SeisComP</cite> <a class="reference internal" href="glossary.html#term-RecordStream"><span class="xref std std-term">RecordStream</span></a>. The data is either stored in the <a class="reference internal" href="archive.html#sec-pt-raw"><span class="std std-ref">RAW</span></a> or <a class="reference internal" href="archive.html#sec-pt-miniseed"><span class="std std-ref">MiniSeed</span></a> format.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/slink2caps.html#slink2caps"><span class="std std-ref">slink2caps</span></a></p></td>
<td><p>Uses the available <a class="reference internal" href="glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> plugins to feed data from other sources into <a class="reference internal" href="glossary.html#term-CAPS"><span class="xref std std-term">CAPS</span></a>. Data can be retrieved from any sources for which a <a class="reference internal" href="glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> plugins exists. The data will be converted into <a class="reference internal" href="archive.html#sec-pt-miniseed"><span class="std std-ref">MiniSeed</span></a> format.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/sproc2caps.html#sproc2caps"><span class="std std-ref">sproc2caps</span></a></p></td>
<td><p>Real-time combination, renaming, filtering and manipulation of data from the recordstream interface.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/test2caps.html#test2caps"><span class="std std-ref">test2caps</span></a></p></td>
<td><p>Send generic tests signals to a CAPS server</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/v4l2caps.html#v4l2caps"><span class="std std-ref">v4l2caps</span></a></p></td>
<td><p>Video for Linux capture plugin</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/win2caps.html#win2caps"><span class="std std-ref">win2caps</span></a></p></td>
<td><p>WIN CAPS plugin. Sends data read from socket or file to CAPS.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="plugins-provided-upon-request">
<h3>Plugins provided upon request<a class="headerlink" href="#plugins-provided-upon-request" title="Permalink to this heading"></a></h3>
<p>The following plugins are not included in the <em>caps-plugins</em> package. They can be
provided upon request.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 13.0%" />
<col style="width: 87.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Plugin name</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><span class="xref std std-ref">edas2caps</span></p></td>
<td><p>Reads EDAS sensor data directly from station and pushes it into CAPS.</p></td>
</tr>
<tr class="row-odd"><td><p><span class="xref std std-ref">jw2caps</span></p></td>
<td><p>Provide support for Joy Warrior Mem sensors connected by USB.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="../apps/ngl2caps.html#ngl2caps"><span class="std std-ref">ngl2caps</span></a></p></td>
<td><p>Reads GNSS data from file and sends it to CAPS.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="../apps/orb2caps.html#orb2caps"><span class="std std-ref">orb2caps</span></a></p></td>
<td><p>Provides miniSEED data from an Antelope ORB. Operates on the Antelope system.</p></td>
</tr>
<tr class="row-even"><td><p><span class="xref std std-ref">tidetool2caps</span></p></td>
<td><p>Reads TideTool decoded data from file and pushes it into CAPS.</p></td>
</tr>
<tr class="row-odd"><td><p><span class="xref std std-ref">yet2caps</span></p></td>
<td><p>Read GNSS YET packets from USB device or from file and push them into CAPS.</p></td>
</tr>
</tbody>
</table>
</section>
</section>
<section id="integration-of-seedlink-plugins">
<span id="sec-seedlink-plugins"></span><h2>Integration of Seedlink plugins<a class="headerlink" href="#integration-of-seedlink-plugins" title="Permalink to this heading"></a></h2>
<p><cite>CAPS</cite> supports all available
<a class="reference external" href="https://docs.gempa.de/seiscomp/current/apps/seedlink.html">seedlink plugins</a>.
The plugins are configured with the seedlink bindings configuration. Once configured
they are executed together with <a class="reference internal" href="../apps/slink2caps.html#slink2caps"><span class="std std-ref">slink2caps</span></a>.</p>
<p>Procedure:</p>
<ol class="arabic">
<li><p>In the module configuration of seedlink (<code class="file docutils literal notranslate"><span class="pre">seedlink.cfg</span></code>) set</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>plugins.chain.loadTimeTable<span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">false</span>
</pre></div>
</div>
</li>
<li><p>Create and configure the seedlink bindings</p></li>
<li><p>Update configuration</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>update-config<span class="w"> </span>seedlink
</pre></div>
</div>
</li>
<li><p>Start/restart <a class="reference internal" href="../apps/slink2caps.html#slink2caps"><span class="std std-ref">slink2caps</span></a>, do not start the configured seedlink instead
at the same time.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>restart<span class="w"> </span>slink2caps
</pre></div>
</div>
</li>
</ol>
</section>
<section id="configuration-of-appname-plugins">
<span id="sec-caps-plugins-docu"></span><h2>Configuration of <cite>CAPS</cite> plugins<a class="headerlink" href="#configuration-of-appname-plugins" title="Permalink to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../apps/caps2caps.html">caps2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/caps2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/caps2caps.html#examples">Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/caps2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/caps2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/crex2caps.html">crex2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/crex2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/crex2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/data2caps.html">data2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/data2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/data2caps.html#examples">Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/data2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/gdi2caps.html">gdi2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/gdi2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/gdi2caps.html#backfilling">Backfilling</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/gdi2caps.html#connection-handling">Connection handling</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/gdi2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/gdi2caps.html#bindings-parameters">Bindings Parameters</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/ngl2caps.html">ngl2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/ngl2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/ngl2caps.html#waveform-data">Waveform Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/ngl2caps.html#inventory">Inventory</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/ngl2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/ngl2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/orb2caps.html">orb2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/orb2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/orb2caps.html#setup">Setup</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/rs2caps.html">rs2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/rs2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rs2caps.html#examples">Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rs2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rs2caps.html#bindings-parameters">Bindings Parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rs2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/rtpd2caps.html">rtpd2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/rtpd2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rtpd2caps.html#test-examples">Test examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rtpd2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rtpd2caps.html#bindings-parameters">Bindings Parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/rtpd2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/slink2caps.html">slink2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/slink2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/slink2caps.html#transient-packets">Transient Packets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/slink2caps.html#module-setup">Module Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/slink2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/slink2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/sproc2caps.html">sproc2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/sproc2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/sproc2caps.html#setup">Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/sproc2caps.html#examples">Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/sproc2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/sproc2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/test2caps.html">test2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/test2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/test2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/test2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/v4l2caps.html">v4l2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/v4l2caps.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/v4l2caps.html#examples">Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/v4l2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/v4l2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../apps/win2caps.html">win2caps</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../apps/win2caps.html#module-configuration">Module Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../apps/win2caps.html#command-line-options">Command-Line Options</a></li>
</ul>
</li>
</ul>
</div>
</section>
</section>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
<div>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Data Acquisition and Manipulation by Plugins</a><ul>
<li><a class="reference internal" href="#appname-plugins"><cite>CAPS</cite> plugins</a><ul>
<li><a class="reference internal" href="#included-plugins">Included plugins</a></li>
<li><a class="reference internal" href="#plugins-provided-upon-request">Plugins provided upon request</a></li>
</ul>
</li>
<li><a class="reference internal" href="#integration-of-seedlink-plugins">Integration of Seedlink plugins</a></li>
<li><a class="reference internal" href="#configuration-of-appname-plugins">Configuration of <cite>CAPS</cite> plugins</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="redundancy.html"
title="previous chapter">Data Redundancy</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="../apps/caps2caps.html"
title="next chapter">caps2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/base/plugins.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>