raspishake / rsudp

Continuous visual display, sudden motion monitoring, and historical replay of Raspberry Shake data
https://raspishake.github.io/rsudp/
GNU General Public License v3.0
58 stars 33 forks source link

Raspberry Shake event logo

rsudp

Continuous sudden motion and visual monitoring of Raspberry Shake data

Written by Ian Nesbitt (@iannesbitt), Richard Boaz, and Justin Long (@crockpotveggies)

Maintained by Raspberry Shake, S.A. for use by the citizen science and seismology-in-schools communities.

PyPI PyPI - Downloads GitHub Documentation Build Status Code Coverage Scrutinizer Code Quality DOI

rsudp is a tool for receiving and interacting with data casts from Raspberry Shake personal seismographs and Raspberry Boom pressure transducer instruments.

rsudp has full documentation here. We also have tutorial instructions to install, set up, and run rsudp there. Additionally, our documentation features YouTube walkthroughs, notes for contributors, a brief Developer's guide, and module documentation.

We now have a paper published in The Journal of Open Source Software! You can reference rsudp using the following citation:

Nesbitt et al., (2021). rsudp: A Python package for real-time seismic monitoring with Raspberry Shake instruments. Journal of Open Source Software, 6(68), 2565, https://doi.org/10.21105/joss.02565

rsudp contains ten main features:

  1. Alert - an earthquake/sudden motion alert trigger, complete with a bandpass filter and stream deconvolution capabilities
  2. AlertSound - a thread that plays a MP3 audio file in the event of the alert module signalling an alarm state
  3. Plot - a live-plotting routine to display data as it arrives on the port, with an option to save plots some time after an alarm
  4. Tweeter - a thread that broadcasts a Twitter message when the alert module is triggered, and optionally can tweet saved plots from the plot module
  5. Telegrammer - a thread similar to the Tweeter module that sends a Telegram message when an alarm is triggered, which can also broadcast saved images
  6. Writer - a simple miniSEED writer
  7. Forward - forward a data cast to one or several IP/port destinations
  8. RSAM - computes RSAM (Real-time Seismic AMplitude) and either prints or forwards it to an IP/port destination
  9. Custom - run custom code when an ALARM message is received
  10. Print - a debugging tool to output raw data to the command line

rsudp is written in Python but requires no coding knowledge to run. Simply follow the instructions to install the software, go to your Shake's web front end, configure a UDP datacast to your computer's local IP address, start the software from the command line, and watch the data roll in.

Earthquake plot recorded on a Raspberry Shake 4D

(Above) a plot of an earthquake on the four channels of a Raspberry Shake 4D (EHZ---the geophone channel, and EHE, EHN, and ENZ---the accelerometer east, north, and vertical channels).

DISCLAIMER

RSUDP source code and software is provided "as is". No guarantee of functionality, performance, or advertised intent is implicitly or explicitly provided.

This project is free-to-use and free-to-copy, located in the public domain, and is provided in the hope that it may be useful.

Raspberry Shake, S.A., may, from time to time, make updates to the code base, be these bug fixes or new features. However, the company does not formally support this software / program, nor does it place itself under any obligation to respond to bug reports or new feature requests in any prescribed time frame.

Like all public projects, end-users are encouraged to provide their own bug fixes and new features as they desire: create a new branch, followed by a merge request, to have the code reviewed and folded into the main branch.

We hope you enjoy RSUDP, playing with it, and perhaps even diving into the code to see how it can be made better!

TEAM RS