1. About rsudp
rsudp is an open source program developed for the community by Raspberry Shake S.A. to actively monitor and plot UDP data cast output from Raspberry Shake instruments.
1.1. Broad overview
rsudp is a collection of python monitoring and notification tools to accompany Raspberry Shake seismographs and pressure transducers. It contains code for continuous plotting, continuous monitoring of sudden motion, and distribution of alert notifications via multiple media including audible sound and the Telegram and Twitter social media platforms.
rsudp is able to run as a stable headless daemon or GUI application continuously on most systems with sufficent RAM, and can be used to power both a display kiosk and notification system simultaneously.
1.2. Why it’s special
rsudp’s uses as an educational tool in both seismology and computer science are broad.
The demands of real-time seismic processing require that calculations must be made quickly and remain stable for weeks or months without user intervention. rsudp aims to achieve both of these things, while maintaining a codebase lean enough to run on Raspberry Pi but intuitive enough that users can learn the theory of real time continuous data processing and contribute code of their own. The project’s source repository is here.
Programs that do similar tasks are usually not as fully-featured, cost money, are unmaintained, or are complex to set up and run. We have tried to keep dependencies to a minimum and installation simple across multiple platforms.
In addition, we spent many hours making rsudp’s plotting routines a beautiful and informative way to explore the vibrations that move through Earth’s crust (see 4d-event figure below). Whether looking at an earthquake trace from far away or a car going by on a street, the plots are designed to show the user the character of the vibration in an easy to grasp yet informative format.
While the plotting may be the centerpiece of the program, perhaps the most useful aspect of rsudp is its ability to monitor sudden motion and trigger multiple outcomes and actions when events are detected. Additionally, the way it was designed leaves room for developers to add their own code to be run when events are detected.
rsudp is a special and unique piece of software in the seismological community which brings easy-to-use open-source monitoring to low cost instrumentation.
1.3. What can’t rsudp do?
Warning
Standard performance disclaimer
It is extremely important that you do not rely on this code to save life or property. It is not a substitute for earthquake early warning (EEW), or state or local official communication and alert systems.
Although this software can detect earthquakes and sudden motion events, Raspberry Shake makes no guarantee and provides no warranty in any way, implied or explicit, for the performance of this software in earthquake detection.
Raspberry Shake assumes no liability for false positives, false negatives, errors running the Alert module, or any other part of this software; it is meant for hobby and non-professional notification use only.
If you need professional-grade software to provide a warning intended to save life or property, please contact Raspberry Shake directly or look elsewhere. See sections 16 and 16b of the license for further details.
As noted in the license, Raspberry Shake S.A. does not assume any liability or make any guarantee regarding the performance of this software in detecting earthquakes. Due to the unpredictable nature of earthquakes and the fact that this is not professional monitoring software, this software should not be used to protect life or property.
Due to the limitations of the Raspberry Pi 3B’s RAM modules, rsudp will run but occasionally suffer from memory errors if the plotting module is enabled. It can be programmed as a daemon in order to restart in the event of one of these errors, which means that its monitoring capability may have brief periods of non-availability on these devices (after Installing rsudp, see rsudp as a systemctl daemon). The Raspberry Pi 4B does not seem to suffer nearly as much from this issue, but this has not been tested extensively.