Gliffy Diagram | ||||
---|---|---|---|---|
|
Setup on detector-PC
Get hidra
- login as user root
- use frozen HiDRA version 4.0.7
download HiDRA from http://nims.desy.de/extra/hidra/freeze/linux/
unpack HiDRA into /opt
Code Block tar -xzvf hidra-v4.0.7-x86_64-2.7-suse10.2.tar.gz -C /opt
For version 4.x and newer there is an option in the config file to handle monitored sub-directory creation inside the source directory:
Code Block language bash eventdetector: inotify_events: create_fix_subdirs =: True
For hidra versions 3.x and older:
Create source directory where the data is written to
Code Block language bash mkdir /ramdisk/local mkdir -p /ramdisk/current/raw mkdir -p /ramdisk/current/scratch_bl mkdir -p /ramdisk/commissioning/raw mkdir -p /ramdisk/commissioning/scratch_bl
Create log directory
Code Block mkdir -m 777 /var/log/hidra
Configure
- the configuration file can be found in <unpacked_dir>/hidra/conf (e.g. when done as described above: /opt/hidra/conf)
adjust hidra config file, e.g for beamline p00
Code Block title conf/datamanager_p00.conf general: log_path =: /var/log/hidra log_name =: datamanager_p00.log procname = procname: hidra_p00 eventdetector: inotify_events: monitored_dir: = /ramdisk fixed_subdirs =: ["commissioning/raw", "commissioning/scratch_bl", "current/raw", "current/scratch_bl", "local"] datafetcher: use_data_stream =: True data_stream_targets =: [["asap3-p00", 50100]] remove_data =: True
You may think on changing permissions of datamanager_p00.conf to read-only
Alternatively (for version > 4.0:Code Block remove_data =: stop_on_error
or
Code Block remove_data =: with_confirmation
Run
login as user det
run sender
Code Block /opt/hidra/hidra.sh start --beamline <beamline>
what the script does is following:
- export library path
- creating log-dir (/var/log/hidra) + change permissions of log-dir to 1777
- starts hidra daemon
Setup on receiver-PC
Get hidra
from git
clone git repo into /opt
Code Block /opt/hidra
Create log directory + change permissions
Code Block language bash mkdir /var/log/hidra chmod 1777 /var/log/hidra
from repo
on all Debian beamline PCs hidra can be installed via apt
Code Block apt install hidra-receiver
Configure
adjust hidra config file, e.g. for beamline p00
Code Block title conf/datareceiver_p00.conf general: log_path =: /var/log/hidra log_name =: datareceiver_p00.log username = username: p00user procname = procname: hidra_receiver_p00 whitelist = whitelist: a3p00-hosts datareceiver: target_dir =: /beamline/p00 data_stream_ip =: asap3-p00
TODO: set target_dir to /beamline/pxx
Run
run receiver
Code Block systemctl start hidra-receiver@p00