consistent birdnet.conf generation
This commit is contained in:
+86
-99
@@ -172,87 +172,53 @@ configure() {
|
|||||||
install_birdnet_conf() {
|
install_birdnet_conf() {
|
||||||
cat << EOF > $(dirname ${my_dir})/birdnet.conf
|
cat << EOF > $(dirname ${my_dir})/birdnet.conf
|
||||||
################################################################################
|
################################################################################
|
||||||
# Configuration settings for BirdNET as a service #
|
# Configuration settings for BirdNET-Pi #
|
||||||
################################################################################
|
################################################################################
|
||||||
INSTALL_DATE="$(date "+%D")"
|
|
||||||
#___________The four variables below are the only that are required.___________#
|
|
||||||
|
|
||||||
## BIRDNET_USER should be the non-root user systemd should use to execute each
|
############ CHANGE THE LATITUDE AND LONGITUDE TO STATIC VALUES ################
|
||||||
## service.
|
|
||||||
|
|
||||||
BIRDNET_USER=${USER}
|
|
||||||
|
## LATITUDE and LONGITUDE are self-explanatroy. Find them easily at
|
||||||
|
## maps.google.com.
|
||||||
|
## Example: these coordinates would indicate the Eiffel Tower in Paris, France.
|
||||||
|
## LATITUDE=48.858
|
||||||
|
## LONGITUDE=2.294
|
||||||
|
|
||||||
|
## These are input as shell substitutions so that this will work out of the box.
|
||||||
|
## It guesses your latitude and longitude based off of your network information.
|
||||||
|
## THESE SHOULD BE CHANGED TO STATIC NUMBERS!!!!
|
||||||
|
LATITUDE=${LATITUDE}
|
||||||
|
LONGITUDE=${LONGITUDE}
|
||||||
|
|
||||||
## RECS_DIR is the location birdnet_analysis.service will look for the data-set
|
## RECS_DIR is the location birdnet_analysis.service will look for the data-set
|
||||||
## it needs to analyze. Be sure this directory is readable and writable for
|
## it needs to analyze. Be sure this directory is readable and writable for
|
||||||
## the BIRDNET_USER. If you are going to be accessing a remote data-set, you
|
## the BIRDNET_USER. If you are going to be accessing a remote data-set, you
|
||||||
## still need to set this, as this will be where the remote directory gets
|
## still need to set this, as this will be where the remote directory gets
|
||||||
## mounted locally. See REMOTE_RECS_DIR below for mounting remote data-sets.
|
## mounted locally.
|
||||||
|
|
||||||
RECS_DIR=${RECS_DIR}
|
RECS_DIR=${RECS_DIR}
|
||||||
|
|
||||||
## LATITUDE and LONGITUDE are self-explanatroy. Find them easily at
|
#----------------------- Web Interface User Password ------------------------#
|
||||||
## maps.google.com. Only go to the thousanths place for these variables
|
#____________________The variable below sets the 'birdnet'_____________________#
|
||||||
## Example: these coordinates would indicate the Eiffel Tower in Paris, France.
|
#___________________user password for the live audio stream,___________________#
|
||||||
## LATITUDE=48.858
|
#_________________web tools, system info, and processed files__________________#
|
||||||
## LONGITUDE=2.294
|
|
||||||
|
|
||||||
LATITUDE=${LATITUDE}
|
|
||||||
LONGITUDE=${LONGITUDE}
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------------------ Extraction Service ---------------------------#
|
|
||||||
|
|
||||||
# Keep this EMPTY if you do not want this device to perform the extractions #
|
|
||||||
|
|
||||||
## DO_EXTRACTIONS is simply a setting for enabling the extraction.service.
|
|
||||||
## Set this to Y or y to enable extractions.
|
|
||||||
|
|
||||||
DO_EXTRACTIONS=${DO_EXTRACTIONS}
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#----------------------------- Recording Service ----------------------------#
|
|
||||||
#____________________The variable below can be set to enable __________________#
|
|
||||||
#________________________the birdnet_recording.service ________________________#
|
|
||||||
|
|
||||||
# Keep this EMPTY if you do not want this device to perform the recording. #
|
|
||||||
|
|
||||||
## DO_RECORDING is simply a setting for enabling the 24/7
|
|
||||||
## birdnet_recording.service.
|
|
||||||
## Set this to Y or y to enable recording.
|
|
||||||
|
|
||||||
DO_RECORDING=${DO_RECORDING}
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#----------------------- Web-hosting/Caddy File-server -----------------------#
|
|
||||||
#________The four variables below can be set to enable internet access_________#
|
|
||||||
#____________to your data,(e.g., extractions, raw data, live___________________#
|
|
||||||
#______________audio stream, BirdNET.selection.txt files)______________________#
|
|
||||||
|
|
||||||
# Leave these EMPTY if you do not want to enable web access #
|
|
||||||
|
|
||||||
## BIRDNETPI_URL is the URL where the extractions, data-set, and live-stream
|
|
||||||
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
|
||||||
## BirdNET-Pi on your local network, you can set this to http://localhost.
|
|
||||||
## Setting this (even to http://localhost) will also allow you to enable the
|
|
||||||
## GoTTY web logging features below.
|
|
||||||
|
|
||||||
BIRDNETPI_URL=${BIRDNETPI_URL}
|
|
||||||
EXTRACTIONLOG_URL=${EXTRACTIONLOG_URL}
|
|
||||||
BIRDNETLOG_URL=${BIRDNETLOG_URL}
|
|
||||||
|
|
||||||
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
## CADDY_PWD is the plaintext password (that will be hashed) and used to access
|
||||||
## the "Processed" directory and live audio stream. This MUST be set if you
|
## certain parts of the web interface
|
||||||
## choose to enable this feature.
|
|
||||||
|
|
||||||
CADDY_PWD=${CADDY_PWD}
|
CADDY_PWD=${CADDY_PWD}
|
||||||
|
|
||||||
################################################################################
|
#------------------------- MariaDB User Passwords ---------------------------#
|
||||||
|
#_____________The variable below sets the password for the_____________________#
|
||||||
|
#_______________________'birder' user on the MariaDB___________________________#
|
||||||
|
|
||||||
|
## DB_PWD is for the 'birder' user
|
||||||
|
DB_PWD=${DB_PWD}
|
||||||
|
|
||||||
#------------------------- Live Audio Stream --------------------------------#
|
#------------------------- Live Audio Stream --------------------------------#
|
||||||
#_____________The variable below configures/enables the live___________________#
|
#_____________The variable below configures/enables the live___________________#
|
||||||
#_____________________________audio stream.____________________________________#
|
#_____________________________audio stream.____________________________________#
|
||||||
|
|
||||||
# Keep this EMPTY if you do not wish to enable the live stream #
|
|
||||||
# or if this device is not doing the recording #
|
|
||||||
|
|
||||||
## ICE_PWD is the password that icecast2 will use to authenticate ffmpeg as a
|
## ICE_PWD is the password that icecast2 will use to authenticate ffmpeg as a
|
||||||
## trusted source for the stream. You will never need to enter this manually
|
## trusted source for the stream. You will never need to enter this manually
|
||||||
@@ -260,7 +226,21 @@ CADDY_PWD=${CADDY_PWD}
|
|||||||
|
|
||||||
ICE_PWD=${ICE_PWD}
|
ICE_PWD=${ICE_PWD}
|
||||||
|
|
||||||
################################################################################
|
#----------------------- Web-hosting/Caddy File-server -----------------------#
|
||||||
|
#________The four variables below can be set to enable internet access_________#
|
||||||
|
#____________to your data,(e.g., extractions, raw data, live___________________#
|
||||||
|
#______________audio stream, BirdNET.selection.txt files)______________________#
|
||||||
|
|
||||||
|
|
||||||
|
## BIRDNETPI_URL is the URL where the extractions, data-set, and live-stream
|
||||||
|
## will be web-hosted. If you do not own a domain, or would just prefer to keep
|
||||||
|
## the BirdNET-Pi on your local network, keep this EMPTY.
|
||||||
|
|
||||||
|
BIRDNETPI_URL=${BIRDNETPI_URL}
|
||||||
|
EXTRACTIONLOG_URL${EXTRACTIONLOG_URL}
|
||||||
|
BIRDNETLOG_URL=${BIRDNETLOG_URL}
|
||||||
|
|
||||||
|
|
||||||
#------------------- Mobile Notifications via Pushed.co ---------------------#
|
#------------------- Mobile Notifications via Pushed.co ---------------------#
|
||||||
#____________The two variables below enable mobile notifications_______________#
|
#____________The two variables below enable mobile notifications_______________#
|
||||||
#_____________See https://pushed.co/quick-start-guide to get___________________#
|
#_____________See https://pushed.co/quick-start-guide to get___________________#
|
||||||
@@ -274,6 +254,9 @@ PUSHED_APP_KEY=${PUSHED_APP_KEY}
|
|||||||
PUSHED_APP_SECRET=${PUSHED_APP_SECRET}
|
PUSHED_APP_SECRET=${PUSHED_APP_SECRET}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
#-------------------------------- Defaults ----------------------------------#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
#------------------------------- NoMachine ----------------------------------#
|
#------------------------------- NoMachine ----------------------------------#
|
||||||
#_____________The variable below can be set include NoMachine__________________#
|
#_____________The variable below can be set include NoMachine__________________#
|
||||||
#_________________remote desktop software to be installed._____________________#
|
#_________________remote desktop software to be installed._____________________#
|
||||||
@@ -284,14 +267,27 @@ PUSHED_APP_SECRET=${PUSHED_APP_SECRET}
|
|||||||
## NoMachine alongside the BirdNET-Pi for remote desktop access. This in-
|
## NoMachine alongside the BirdNET-Pi for remote desktop access. This in-
|
||||||
## staller assumes personal use. Please reference the LICENSE file included
|
## staller assumes personal use. Please reference the LICENSE file included
|
||||||
## in this repository for more information.
|
## in this repository for more information.
|
||||||
## Set this to Y or y to install NoMachine alongside the BirdNET-Pi
|
## Set this to Y or y to install NoMachine alongside the BirdNET-Lite
|
||||||
|
|
||||||
INSTALL_NOMACHINE=${INSTALL_NOMACHINE}
|
INSTALL_NOMACHINE=${INSTALL_NOMACHINE}
|
||||||
|
|
||||||
################################################################################
|
#
|
||||||
#-------------------------------- Defaults ----------------------------------#
|
#------------------------------ Extraction Service ---------------------------#
|
||||||
#________The seven variables below are default settings that you (probably)____#
|
|
||||||
#__________________don't need to change at all, but can._______________________#
|
## DO_EXTRACTIONS is simply a setting for enabling the extraction.service.
|
||||||
|
## Set this to Y or y to enable extractions.
|
||||||
|
|
||||||
|
DO_EXTRACTIONS=${DO_EXTRACTIONS}
|
||||||
|
|
||||||
|
#----------------------------- Recording Service ----------------------------#
|
||||||
|
#____________________The variable below can be set to enable __________________#
|
||||||
|
#________________________the birdnet_recording.service ________________________#
|
||||||
|
|
||||||
|
## DO_RECORDING is simply a setting for enabling the 24/7
|
||||||
|
## birdnet_recording.service.
|
||||||
|
## Set this to Y or y to enable recording.
|
||||||
|
|
||||||
|
DO_RECORDING=${DO_RECORDING}
|
||||||
|
|
||||||
## REC_CARD is the sound card you would want the birdnet_recording.service to
|
## REC_CARD is the sound card you would want the birdnet_recording.service to
|
||||||
## use. This setting is irrelevant if you are not planning on doing data
|
## use. This setting is irrelevant if you are not planning on doing data
|
||||||
@@ -309,11 +305,11 @@ REC_CARD=${REC_CARD}
|
|||||||
## after extractions have been made from them. This includes both WAVE and
|
## after extractions have been made from them. This includes both WAVE and
|
||||||
## BirdNET.selection.txt files.
|
## BirdNET.selection.txt files.
|
||||||
|
|
||||||
PROCESSED=${RECS_DIR}/Processed
|
PROCESSED=${PROCESSED}
|
||||||
|
|
||||||
## EXTRACTED is the directory where the extracted audio selections are moved.
|
## EXTRACTED is the directory where the extracted audio selections are moved.
|
||||||
|
|
||||||
EXTRACTED=${RECS_DIR}/Extracted
|
EXTRACTED=${EXTRACTED}
|
||||||
|
|
||||||
## IDFILE is the file that keeps a complete list of every spececies that
|
## IDFILE is the file that keeps a complete list of every spececies that
|
||||||
## BirdNET has identified from your data-set. It is persistent across
|
## BirdNET has identified from your data-set. It is persistent across
|
||||||
@@ -324,70 +320,61 @@ EXTRACTED=${RECS_DIR}/Extracted
|
|||||||
## change this variable between data-sets to preserve records of disparate
|
## change this variable between data-sets to preserve records of disparate
|
||||||
## data-sets according to name.
|
## data-sets according to name.
|
||||||
|
|
||||||
IDFILE=${HOME}/BirdNET-Pi/IdentifiedSoFar.txt
|
IDFILE=${IDFILE}
|
||||||
|
|
||||||
## OVERLAP is the value in seconds which BirdNET should use when analyzing
|
## OVERLAP is the value in seconds which BirdNET should use when analyzing
|
||||||
## the data. The values must be between 0.0-2.9.
|
## the data. The values must be between 0.0-2.9.
|
||||||
|
|
||||||
OVERLAP=0.0
|
OVERLAP=${OVERLAP}
|
||||||
|
|
||||||
## CONFIDENCE is the minimum confidence level from 0.0-1.0 BirdNET's analysis
|
## CONFIDENCE is the minimum confidence level from 0.0-1.0 BirdNET's analysis
|
||||||
## should reach before creating an entry in the BirdNET.selection.txt file.
|
## should reach before creating an entry in the BirdNET.selection.txt file.
|
||||||
## Don't set this to 1.0 or you won't have any results.
|
## Don't set this to 1.0 or you won't have any results.
|
||||||
|
|
||||||
CONFIDENCE=0.7
|
CONFIDENCE=${CONFIDENCE}
|
||||||
|
|
||||||
## SENSITIVITY is the detection sensitivity from 0.5-1.5.
|
## SENSITIVITY is the detection sensitivity from 0.5-1.5.
|
||||||
|
|
||||||
SENSITIVITY=1.25
|
SENSITIVITY=${SENSITIVITY}
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#------------------------------ Auto-Generated ------------------------------#
|
|
||||||
#_____________________The variables below are auto-generated___________________#
|
|
||||||
#______________________________during installation_____________________________#
|
|
||||||
|
|
||||||
## CHANNELS holds the variabel that corresponds to the number of channels the
|
## CHANNELS holds the variabel that corresponds to the number of channels the
|
||||||
## sound card supports.
|
## sound card supports.
|
||||||
|
|
||||||
CHANNELS=${CHANNELS}
|
CHANNELS=${CHANNELS}
|
||||||
|
|
||||||
# Don't touch the variables below
|
|
||||||
|
|
||||||
## SYSTEMD_MOUNT is created from the RECS_DIR variable to comply with systemd
|
|
||||||
## mount naming requirements.
|
|
||||||
|
|
||||||
SYSTEMD_MOUNT=$(echo ${RECS_DIR#/} | tr / -).mount
|
|
||||||
|
|
||||||
## VENV is the virtual environment where the the BirdNET python build is found,
|
## VENV is the virtual environment where the the BirdNET python build is found,
|
||||||
## i.e, VENV is the virtual environment miniforge built for BirdNET.
|
## i.e, VENV is the virtual environment miniforge built for BirdNET.
|
||||||
|
|
||||||
VENV=$(dirname ${my_dir})/birdnet
|
VENV=/home/pi/BirdNET-Pi/birdnet
|
||||||
|
|
||||||
################################################################################
|
## RECORDING_LENGTH sets the length of the recording that BirdNET-Lite will analyze.
|
||||||
#---------------------------------- Testing -----------------------------------#
|
RECORDING_LENGTH=${RECORDING_LENGTH}
|
||||||
#_____________These variables are for testing. Please don't touch______________#
|
|
||||||
#_______________them if you are not testing these features.____________________#
|
|
||||||
|
|
||||||
|
## EXTRACTION_LENGTH sets the length of the audio extractions that will be made
|
||||||
|
## from each BirdNET-Lite detection.
|
||||||
|
EXTRACTION_LENGTH=${EXTRACTION_LENGTH}
|
||||||
|
|
||||||
RECORDING_LENGTH=
|
## BIRDNET_USER should be the non-root user systemd should use to execute each
|
||||||
|
## service.
|
||||||
|
|
||||||
EXTRACTION_LENGTH=
|
BIRDNET_USER=pi
|
||||||
|
|
||||||
DB_PWD=${DB_PWD}
|
## These are just for debugging
|
||||||
|
LAST_RUN=${LAST_RUN}
|
||||||
LAST_RUN=$(dirname ${my_dir})/lastrun.txt
|
THIS_RUN=${THIS_RUN}
|
||||||
THIS_RUN=$(dirname ${my_dir})/thisrun.txt
|
|
||||||
EOF
|
EOF
|
||||||
[ -d /etc/birdnet ] || sudo mkdir /etc/birdnet
|
|
||||||
sudo ln -sf $(dirname ${my_dir})/birdnet.conf /etc/birdnet/birdnet.conf
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Checks for a birdnet.conf file in the BirdNET-Pi directory for a
|
# Checks for a birdnet.conf file in the BirdNET-Pi directory for a
|
||||||
# non-interactive installation. Otherwise,the installation is interactive.
|
# non-interactive installation. Otherwise,the installation is interactive.
|
||||||
if [ -f ${BIRDNET_CONF} ];then
|
if [ -f ${BIRDNET_CONF} ];then
|
||||||
source ${BIRDNET_CONF}
|
source ${BIRDNET_CONF}
|
||||||
install_birdnet_conf
|
#install_birdnet_conf
|
||||||
|
[ -d /etc/birdnet ] || sudo mkdir /etc/birdnet
|
||||||
|
sudo ln -sf $(dirname ${my_dir})/birdnet.conf /etc/birdnet/birdnet.conf
|
||||||
else
|
else
|
||||||
configure
|
configure
|
||||||
install_birdnet_conf
|
install_birdnet_conf
|
||||||
|
[ -d /etc/birdnet ] || sudo mkdir /etc/birdnet
|
||||||
|
sudo ln -sf $(dirname ${my_dir})/birdnet.conf /etc/birdnet/birdnet.conf
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user