Merge branch 'master' of https://github.com/N4IRS/DMRlink
This commit is contained in:
commit
8b210f02c0
@ -2,7 +2,6 @@
|
|||||||
_debug = False
|
_debug = False
|
||||||
_outToFile = False
|
_outToFile = False
|
||||||
_outToUDP = True
|
_outToUDP = True
|
||||||
#_gateway = 192.168.1.184
|
|
||||||
_gateway = 127.0.0.1
|
_gateway = 127.0.0.1
|
||||||
_gateway_port = 1234
|
_gateway_port = 1234
|
||||||
_remote_control_port = 1235
|
_remote_control_port = 1235
|
||||||
|
@ -2,13 +2,15 @@
|
|||||||
#
|
#
|
||||||
# Rename to dmrlink.cfg and add your information
|
# Rename to dmrlink.cfg and add your information
|
||||||
#
|
#
|
||||||
|
# minor tweaks to match install for use by DMRGateway
|
||||||
|
# N4IRS
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
# GLOBAL CONFIGURATION ITEMS
|
# GLOBAL CONFIGURATION ITEMS
|
||||||
#
|
#
|
||||||
[GLOBAL]
|
[GLOBAL]
|
||||||
PATH: /absolute/path/to/DMRlink
|
PATH: /opt/dmrlink/
|
||||||
|
|
||||||
|
|
||||||
# NETWORK REPORTING CONFIGURATION
|
# NETWORK REPORTING CONFIGURATION
|
||||||
@ -54,9 +56,9 @@ PRINT_PEERS_INC_FLAGS: 0
|
|||||||
# used.
|
# used.
|
||||||
#
|
#
|
||||||
[LOGGER]
|
[LOGGER]
|
||||||
LOG_FILE: /tmp/dmrlink.log
|
LOG_FILE: /var/log/dmrlink/dmrlink.log
|
||||||
LOG_HANDLERS: console
|
LOG_HANDLERS: file
|
||||||
LOG_LEVEL: CRITICAL
|
LOG_LEVEL: WARNING
|
||||||
LOG_NAME: DMRlink
|
LOG_NAME: DMRlink
|
||||||
|
|
||||||
|
|
||||||
|
64
init.d/bridge
Executable file
64
init.d/bridge
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: Mototrbo_IPSC_bridging
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: DMRlink Bridge
|
||||||
|
# Description: Open Source IPSC bridging
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Where is the directory containing DMRlink
|
||||||
|
DIR=/opt/dmrlink/bridge
|
||||||
|
# Filename of the python script
|
||||||
|
DAEMON=$DIR/bridge.py
|
||||||
|
# Daemon name
|
||||||
|
DAEMON_NAME=bridge
|
||||||
|
|
||||||
|
# Add any command line options for your daemon where
|
||||||
|
DAEMON_OPTS=""
|
||||||
|
|
||||||
|
# This next line determines what user the script runs as.
|
||||||
|
# Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python.
|
||||||
|
DAEMON_USER=root
|
||||||
|
|
||||||
|
# The process ID of the script when it runs is stored here:
|
||||||
|
PIDFILE=/var/run/$DAEMON_NAME.pid
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
do_start () {
|
||||||
|
log_daemon_msg "Starting system $DAEMON_NAME daemon"
|
||||||
|
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
|
||||||
|
log_end_msg $?
|
||||||
|
}
|
||||||
|
do_stop () {
|
||||||
|
log_daemon_msg "Stopping system $DAEMON_NAME daemon"
|
||||||
|
start-stop-daemon --stop --pidfile $PIDFILE --remove-pidfile --retry 10
|
||||||
|
log_end_msg $?
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
|
||||||
|
start|stop)
|
||||||
|
do_${1}
|
||||||
|
;;
|
||||||
|
|
||||||
|
restart|reload|force-reload)
|
||||||
|
do_stop
|
||||||
|
do_start
|
||||||
|
;;
|
||||||
|
|
||||||
|
status)
|
||||||
|
status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
exit 0
|
||||||
|
|
6
install.txt
Normal file
6
install.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
To install DMRlink for DMRGateway
|
||||||
|
cd /srv
|
||||||
|
git clone https://github.com/N4IRS/DMRlink.git
|
||||||
|
cd DMRlink
|
||||||
|
./mk_dmrlink
|
||||||
|
|
116
mk_dmrlink
Executable file
116
mk_dmrlink
Executable file
@ -0,0 +1,116 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
#################################################
|
||||||
|
# #
|
||||||
|
# Create directory structure for DMRlink #
|
||||||
|
# #
|
||||||
|
#################################################
|
||||||
|
|
||||||
|
apt-get install unzip -y
|
||||||
|
apt-get install python-twisted -y
|
||||||
|
|
||||||
|
# To allow multiple instances of DMRlink to run
|
||||||
|
# You need multiple ipsc directories, dmrlink.py and dmrlink.cfg
|
||||||
|
# The needed files are copied to /opt/dmrlink
|
||||||
|
|
||||||
|
# Make needed directories
|
||||||
|
mkdir -p /opt/dmrlink/ambe_audio/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/bridge/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/gateway/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/log/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/playback/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/play_group/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/record/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/rcm/ipsc
|
||||||
|
mkdir -p /opt/dmrlink/doc
|
||||||
|
mkdir -p /opt/dmrlink/samples
|
||||||
|
mkdir -p /var/log/dmrlink
|
||||||
|
|
||||||
|
# Put scripts in /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/get_ids.sh /opt/dmrlink # should be linked to /etc/cron.daily
|
||||||
|
cp /srv/DMRlink/init.d/bridge /opt/dmrlink/rc.bridge
|
||||||
|
|
||||||
|
# bitstring install
|
||||||
|
cd /opt/dmrlink
|
||||||
|
wget https://pypi.python.org/packages/source/b/bitstring/bitstring-3.1.3.zip
|
||||||
|
unzip bitstring-3.1.3.zip
|
||||||
|
cd bitstring-3.1.3
|
||||||
|
python setup.py install
|
||||||
|
cd /opt/dmrlink
|
||||||
|
rm bitstring-3.1.3.zip
|
||||||
|
|
||||||
|
# Put common files in /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/subscriber_ids.csv /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/subscriber_idsxxx.csv /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/talkgroup_ids.csv /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/peer_ids.csv /opt/dmrlink
|
||||||
|
cp /srv/DMRlink/get_ids.sh /opt/dmrlink
|
||||||
|
|
||||||
|
# Copy ipsc directory into each app directory
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/ambe_audio/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/bridge/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/gateway/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/log/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/playback/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/play_group/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/record/ipsc
|
||||||
|
cp /srv/DMRlink/ipsc/* /opt/dmrlink/rcm/ipsc
|
||||||
|
|
||||||
|
# Put the samples together for easy ref
|
||||||
|
cp /srv/DMRlink/bridge_rules_SAMPLE.py /opt/dmrlink/samples
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/samples
|
||||||
|
cp /srv/DMRlink/known_bridges_SAMPLE.py /opt/dmrlink/samples
|
||||||
|
cp /srv/DMRlink/playback_config_SAMPLE.py /opt/dmrlink/samples
|
||||||
|
|
||||||
|
# Put the doc together for easy ref
|
||||||
|
cp /srv/DMRlink/FAQ.md /opt/dmrlink/doc
|
||||||
|
cp /srv/DMRlink/internal_data_decode.txt /opt/dmrlink/doc
|
||||||
|
cp /srv/DMRlink/LICENSE.txt /opt/dmrlink/doc
|
||||||
|
cp /srv/DMRlink/README.md /opt/dmrlink/doc
|
||||||
|
cp /srv/DMRlink/requirements.txt /opt/dmrlink/doc
|
||||||
|
|
||||||
|
# Stock ambe_audio
|
||||||
|
cp /srv/DMRlink/ambe_audio.cfg /opt/dmrlink/ambe_audio/
|
||||||
|
cp /srv/DMRlink/ambe_audio.py /opt/dmrlink/ambe_audio/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/ambe_audio/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/ambe_audio/dmrlink.cfg
|
||||||
|
|
||||||
|
# ambe_audio for DMRGateway
|
||||||
|
cp /srv/DMRlink/ambe_audio.cfg /opt/dmrlink/gateway/
|
||||||
|
cp /srv/DMRlink/ambe_audio.py /opt/dmrlink/gateway/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/gateway/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/gateway/dmrlink.cfg
|
||||||
|
|
||||||
|
# Bridge app
|
||||||
|
cp /srv/DMRlink/bridge.py /opt/dmrlink/bridge/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/bridge/
|
||||||
|
cp /srv/DMRlink/bridge_rules_SAMPLE.py /opt/dmrlink/bridge/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/bridge/dmrlink.cfg
|
||||||
|
|
||||||
|
# Log app
|
||||||
|
cp /srv/DMRlink/log.py /opt/dmrlink/log/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/log/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/log/dmrlink.cfg
|
||||||
|
|
||||||
|
# Playback (Parrot)
|
||||||
|
cp /srv/DMRlink/playback.py /opt/dmrlink/playback/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/playback/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/playback/dmrlink.cfg
|
||||||
|
|
||||||
|
# Play Group app
|
||||||
|
cp /srv/DMRlink/play_group.py /opt/dmrlink/play_group/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/play_group/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/play_group/dmrlink.cfg
|
||||||
|
|
||||||
|
# record app
|
||||||
|
cp /srv/DMRlink/record.py /opt/dmrlink/record/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/record/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/record/dmrlink.cfg
|
||||||
|
|
||||||
|
# rcm app
|
||||||
|
cp /srv/DMRlink/rcm_db_log.py /opt/dmrlink/rcm/
|
||||||
|
cp /srv/DMRlink/rcm.py /opt/dmrlink/rcm/
|
||||||
|
cp /srv/DMRlink/dmrlink.py /opt/dmrlink/rcm/
|
||||||
|
cp /srv/DMRlink/dmrlink_SAMPLE.cfg /opt/dmrlink/rcm/dmrlink.cfg
|
||||||
|
cp /srv/DMRlink/pickle_stat_reader.py /opt/dmrlink/rcm/
|
||||||
|
|
@ -1 +1,3 @@
|
|||||||
Twisted>=12.0.0
|
Twisted>=12.0.0
|
||||||
|
https://pypi.python.org/packages/source/b/bitstring/bitstring-3.1.3.zip
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user