Installing EarthWorm on Raspberry Pi
Original EarthWorm installation guide: http://love.isti.com/trac/ew/wiki/Linux#EarthwormInstallationProcedure:Linux
First you have to install required software for compiling (on official guide it's reported you should also install g++-multilib packet, but this isn't available for Debian Wheezy):
|
Then let's create folder for EarthWorm on your system (usually "ew" on home directory):
|
EarthWorm also need further directories to correctly work:
Then let's create folder for EarthWorm on your system (usually "ew" on home directory):
|
When created folders you could download EarthWorm source files:
|
so you'll find earthworm_7.7 new folder.
Now you have to corretly set EarthWorm paths on file ew_linux.bash:
|
set paths as follows (or as you need) upon folders previously created:
|
on same file you have to correctly set compilation flags (on ARM architecture of Raspberry Pi or Aria/Acqua isn't provided selection between 32 or 64 bits):
|
Edit your .bashrc file:
|
Then copy ew_linux.bash file and source:
|
Ok. now you could start compilation (it will take a while):
|
Once compilation finished you could copy desired EarthWorm modules to params folder, or simply copy all modules (you will enable desired modules later):
|
then copy other system files:
|
Now let's make basic configuration, let's suppose we will get data from following station through SeedLink server interface:
Edit wave_serverV.d file:
|
basic configuration for wave_serverV.d
|
pay attention of declaration of SCNL table (you need one line for every channel you want acquire):
# SCNL Record Logo File Size Index Size File Name New # names size (TYPE_TRACEBUF2 only) (megabytes) (max breaks) (full path) Tank Tank AEGI HHZ EI -- 2048 INST_UNKNOWN MOD_WILDCARD 1 10000 /home/pi/ew/run/tanks/AEGI.hhz.tnk Tank AEGI HHN EI -- 2048 INST_UNKNOWN MOD_WILDCARD 1 10000 /home/pi/ew/run/tanks/AEGI.hhn.tnk Tank AEGI HHE EI -- 2048 INST_UNKNOWN MOD_WILDCARD 1 10000 /home/pi/ew/run/tanks/AEGI.hhe.tnk |
# list of other modules depending of application Descriptor slink2ew_AEGI.desc |
Let's configure startstop_unix.d:
|
In these examples we are collecting data from station AEGI, running a SeedLink server, and so we've declared the module to collect data (slink2ew) on startstop_unix.d and statmgr.d.
If you use several modules of same type you have to use one module for each station; let's suppose you'll collect data from 2 stations through SeedLink server interface, so you'll need
|
The same for startstop_unix.d:
|
|
|
|
|
Now, all should be ready to start EarthWorm:
|
EarthWorm status should look like this, with all modules status "Alive" (in following screenshot there are more modules used, don't worry):
EARTHWORM SYSTEM STATUS Hostname-OS: raspberrypi - Linux 3.12.28+ Start time (UTC): Mon Feb 23 11:28:39 2015 Current time (UTC): Mon Feb 23 11:51:28 2015 Disk space avail: 85044 kb Ring 1 name/key/size: WAVE_RING / 1000 / 1024 kb Ring 2 name/key/size: PICK_RING / 1005 / 1024 kb Ring 3 name/key/size: HYPO_RING / 1015 / 1024 kb Startstop's Log Dir: /home/pi/ew/run/log/ Startstop's Params Dir: /home/pi/ew/run/params/ Startstop's Bin Dir: /home/pi/ew/earthworm_7.7/bin Startstop Version: v7.7 2012-08-13 Process Process Class/ CPU Name Id Status Priority Used Argument ------- ------- ------ -------- ---- -------- startstop 3566 Alive ??/ 0 00:00:00 - statmgr 3569 Alive ??/ 0 00:00:02 statmgr.d copystatus 3570 Alive ??/ 0 00:00:00 WAVE_RING HYPO_RING wave_serverV 3571 Alive ??/ 0 00:00:03 wave_serverV.d copystatus 3572 Alive ??/ 0 00:00:00 PICK_RING HYPO_RING k2ew_tty 26127 Alive ??/ 0 00:00:00 k2ew_tty.d ringserver 3574 Alive ??/ 0 00:00:02 <ew/run/params/ringserver> ew2ringserver 3575 Alive ??/ 0 00:00:01 ew2ringserver.d carlstatrig 3576 Alive ??/ 0 00:00:00 carlstatrig.d carlsubtrig 3581 Alive ??/ 0 00:00:00 carlsubtrig.d trig2disk 3582 Alive ??/ 0 00:00:00 trig2disk.d |
If you want to verify data being collected you could use getmenu command to see what wave_server is receiving (you have to specify IP address of server and port):
|
In this case EarthWorm is not collecting data: you should read log files on log folder to understand what's wrong.
If correctly working:
pi@raspberrypi ~/ew $ getmenu 127.0.0.1:16022 Tank contents for 127.0.0.1:16022 ws: 127.0.0.1:16022 pin: 1003 4381.HNZ.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_51.70 ws: 127.0.0.1:16022 pin: 1002 4381.HNY.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_51.70 ws: 127.0.0.1:16022 pin: 1001 4381.HNX.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_51.70 pi@raspberrypi ~/ew $ getmenu 127.0.0.1:16022 Tank contents for 127.0.0.1:16022 ws: 127.0.0.1:16022 pin: 1003 4381.HNZ.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_54.70 ws: 127.0.0.1:16022 pin: 1002 4381.HNY.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_54.70 ws: 127.0.0.1:16022 pin: 1001 4381.HNX.NI.-- Start: 20150223_1200_20.00 End: 20150223_1202_55.70 pi@raspberrypi ~/ew $ |
You can verify correct working if in two following requests the end time has increased.
Last update 19 Jan 2018.