rename to BirdNET-Pi

This commit is contained in:
Patrick McGuire
2021-10-12 10:55:09 -04:00
parent fedc79e630
commit 862c4c1fb3
37 changed files with 122 additions and 123 deletions
+2 -2
View File
@@ -22,7 +22,7 @@ if ! diff ${LAST_RUN} ${THIS_RUN};then
done
fi
CUSTOM_LIST="/home/pi/Birding-Pi/custom_species_list.txt"
CUSTOM_LIST="/home/pi/BirdNET-Pi/custom_species_list.txt"
# Create an array of the audio files
# Takes one argument:
@@ -75,7 +75,7 @@ run_analysis() {
WEEK="$(echo "${WEEK_OF_YEAR} + 4" |bc -l)"
fi
cd ${HOME}/Birding-Pi || exit 1
cd ${HOME}/BirdNET-Pi || exit 1
for i in "${files[@]}";do
echo "${1}/${i}" > ./analyzing_now.txt
[ -z ${RECORDING_LENGTH} ] && RECORDING_LENGTH=15
+9 -9
View File
@@ -7,15 +7,15 @@ setterm --cursor off
TMP_FILE="$(mktemp)"
while true;do
cat << "EOF"
___ _ ___
( _`\ _ ( ) _ ( _`\ _
| (_) )(_) _ __ _| |(_) ___ __ | |_) )(_)
| _ <'| |( '__)/'_` || |/' _ `\ /'_ `\ | ,__/'| |
| (_) )| || | ( (_| || || ( ) |( (_) | | | | |
(____/'(_)(_) `\__,_)(_)(_) (_)`\__ | (_) (_)
( )_) |
\___/'
cat << 'EOF'
____ __ __ __ _____ ______ ____
/\ _`\ __ /\ \/\ \/\ \/\ __\/\__ _\ /\ _`\ __
\ \ \_\ \ /\_\ _ __ \_\ \ \ `\\ \ \ \_/\/_/\ \/ \ \ \_\ \/\_\
\ \ _ <'\/\ \/\`'__\/'_` \ \ , ` \ \ _\ \ \ \ \ \ ,__/\/\ \
\ \ \_\ \\ \ \ \ \//\ \_\ \ \ \`\ \ \ \/__ \ \ \ \ \ \/ \ \ \
\ \____/ \ \_\ \_\\ \___,_\ \_\ \_\ \____/ \ \_\ \ \_\ \ \_\
\/___/ \/_/\/_/ \/__,_ /\/_/\/_/\/___/ \/_/ \/_/ \/_/
EOF
if [ "$(find ${EXTRACTED} -name '*.wav' | wc -l)" -ge 1 ] &> /dev/null;then
a=$(find "${EXTRACTED}/By_Date" -type f -name '*.wav' | wc -l)
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/clear_all_data.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/clear_all_data.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+7 -7
View File
@@ -15,15 +15,15 @@ echo "Recreating necessary directories"
[ -d ${EXTRACTED}/By_Date ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Date
[ -d ${EXTRACTED}/By_Common_Name ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Common_Name
[ -d ${EXTRACTED}/By_Scientific_Name ] || sudo -u ${BIRDNET_USER} mkdir -p ${EXTRACTED}/By_Scientific_Name
sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-Pi/templates/index.html ${EXTRACTED}
sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/templates/index.html ${EXTRACTED}
[ -d ${PROCESSED} ] || sudo -u ${BIRDNET_USER} mkdir -p ${PROCESSED}
[ -L ${EXTRACTED}/scripts ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-Pi/scripts ${EXTRACTED}/
[ -L ${EXTRACTED}/spectrogram.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-Pi/scripts/spectrogram.php ${EXTRACTED}
[ -L ${EXTRACTED}/spectrogram.sh ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-Pi/scripts/spectrogram.sh ${EXTRACTED}
[ -L ${EXTRACTED}/viewdb.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-Pi/scripts/viewdb.php ${EXTRACTED}
[ -L ${EXTRACTED}/scripts ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts ${EXTRACTED}/
[ -L ${EXTRACTED}/spectrogram.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/spectrogram.php ${EXTRACTED}
[ -L ${EXTRACTED}/spectrogram.sh ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/spectrogram.sh ${EXTRACTED}
[ -L ${EXTRACTED}/viewdb.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Pi/scripts/viewdb.php ${EXTRACTED}
sudo -u ${BIRDNET_USER} cp ~/Birding-Pi/templates/index.html ${EXTRACTED}/
sudo -u ${BIRDNET_USER} cp ~/BirdNET-Pi/templates/index.html ${EXTRACTED}/
echo "Dropping and re-creating database"
sudo /home/pi/Birding-Pi/scripts/createdb.sh
sudo /home/pi/BirdNET-Pi/scripts/createdb.sh
echo "Restarting services"
sudo systemctl restart birdnet_recording.service
+2 -2
View File
@@ -39,5 +39,5 @@ GRANT ALL ON birds.* TO 'birder'@'localhost' IDENTIFIED BY '${DB_PWD}' WITH GRAN
exit
EOF
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/Birding-Pi/analyze.py
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/Birding-Pi/scripts/viewdb.php
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/analyze.py
sed -i "s/databasepassword/${DB_PWD}/g" /home/pi/BirdNET-Pi/scripts/viewdb.php
+4 -4
View File
@@ -2,7 +2,7 @@
# A comprehensive log dumper
# set -x # Uncomment to debug
source /etc/birdnet/birdnet.conf &> /dev/null
LOG_DIR="${HOME}/Birding-Pi/logs"
LOG_DIR="${HOME}/BirdNET-Pi/logs"
SERVICES=(avahi-alias@.service
birdnet_analysis.service
birdnet_log.service
@@ -29,7 +29,7 @@ for i in "${SERVICES[@]}";do
done
# Create password-removed birdnet.conf
sed -e '/PWD=/d' ${HOME}/Birding-Pi/birdnet.conf > ${LOG_DIR}/birdnet.conf
sed -e '/PWD=/d' ${HOME}/BirdNET-Pi/birdnet.conf > ${LOG_DIR}/birdnet.conf
# Create password-removed Caddyfile
if [ -f /etc/caddy/Caddyfile ];then
@@ -57,6 +57,6 @@ for i in "${CALLS[@]}";do
done
# TAR the logs into a ball
tar --remove-files -cvpzf ${HOME}/Birding-Pi/logs.tar.gz ${LOG_DIR} &> /dev/null
tar --remove-files -cvpzf ${HOME}/BirdNET-Pi/logs.tar.gz ${LOG_DIR} &> /dev/null
# Finished
echo "Your compressed logs are located at ${HOME}/Birding-Pi/logs.tar.gz"
echo "Your compressed logs are located at ${HOME}/BirdNET-Pi/logs.tar.gz"
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/edit_birdnet.conf.sh");
header('Location: http://birdingpi.local:9898');
shell_exec("/home/pi/BirdNET-Pi/scripts/edit_birdnet.conf.sh");
header('Location: http://birdnetpi.local:9898');
?>
+6 -6
View File
@@ -7,7 +7,7 @@ trap '${my_dir}/dump_logs.sh && echo -e "\n\nExiting the installation. Goodbye!"
cd $my_dir || exit 1
if [ "$(uname -m)" != "aarch64" ];then
echo "Birding-Pi requires a 64-bit OS.
echo "BirdNET-Pi requires a 64-bit OS.
It looks like your operating system is using $(uname -m),
but would need to be aarch64.
Please take a look at https://birdnetwiki.pmcgui.xyz for more
@@ -46,7 +46,7 @@ install_deps() {
}
install_birdnet() {
cd ~/Birding-Pi || exit 1
cd ~/BirdNET-Pi || exit 1
echo "Upgrading pip, wheel, and setuptools"
sudo pip3 install --upgrade pip wheel setuptools
echo "Fetching the TFLite pre-built binaries"
@@ -67,7 +67,7 @@ install_birdnet() {
read -sp "\
Be sure you have read the software license before installing. This is
available in the Birding-Pi directory as "LICENSE"
available in the BirdNET-Pi directory as "LICENSE"
If you DO NOT want to install BirdNET and the birdnet_analysis.service,
press Ctrl+C to cancel. If you DO wish to install BirdNET and the
birdnet_analysis.service, press ENTER to continue with the installation."
@@ -93,16 +93,16 @@ echo " BirdNet is installed!!
'sudo systemctl disable --now birdnet_analysis.service'
Visit
http://birdingpi.local to see your extractions,
http://birdnetpi.local to see your extractions,
http://birdlog.local to see the log output of the birdnet_analysis.service,
http://extractionlog.local to see the log output of the extraction.service, and
http://birdstats.local to see the Birding-Pi Report"
http://birdstats.local to see the BirdNET-Pi Report"
echo
read -n1 -p " Would you like to run the birdnet_analysis.service now?" YN
echo
case $YN in
[Yy] ) sudo systemctl start birdnet_analysis.service \
&& journalctl -fu birdnet_analysis;;
* ) echo " Thanks for installing Birding-Pi!!
* ) echo " Thanks for installing BirdNET-Pi!!
I hope it was helpful!";;
esac
+5 -5
View File
@@ -308,7 +308,7 @@ REMOTE_RECS_DIR=${REMOTE_RECS_DIR}
## EXTRACTIONS_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
## Birding-Pi on your local network, you can set this to http://localhost.
## 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.
@@ -355,10 +355,10 @@ PUSHED_APP_SECRET=${PUSHED_APP_SECRET}
# Keep this EMPTY if you do not want to install NoMachine. #
## INSTALL_NOMACHINE is simply a setting that can be enabled to install
## NoMachine alongside the Birding-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
## in this repository for more information.
## Set this to Y or y to install NoMachine alongside the Birding-Pi
## Set this to Y or y to install NoMachine alongside the BirdNET-Pi
INSTALL_NOMACHINE=${INSTALL_NOMACHINE}
@@ -398,7 +398,7 @@ EXTRACTED=${RECS_DIR}/Extracted
## change this variable between data-sets to preserve records of disparate
## data-sets according to name.
IDFILE=${HOME}/Birding-Pi/IdentifiedSoFar.txt
IDFILE=${HOME}/BirdNET-Pi/IdentifiedSoFar.txt
## OVERLAP is the value in seconds which BirdNET should use when analyzing
## the data. The values must be between 0.0-2.9.
@@ -457,7 +457,7 @@ EOF
sudo ln -sf $(dirname ${my_dir})/birdnet.conf /etc/birdnet/birdnet.conf
}
# Checks for a birdnet.conf file in the Birding-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.
if [ -f ${BIRDNET_CONF} ];then
source ${BIRDNET_CONF}
+9 -9
View File
@@ -10,7 +10,7 @@ gotty_url="https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_a
CONFIG_FILE="$(dirname ${my_dir})/birdnet.conf"
install_scripts() {
echo "Installing Birding-Pi scripts to /usr/local/bin"
echo "Installing BirdNET-Pi scripts to /usr/local/bin"
ln -sf ${my_dir}/* /usr/local/bin/
rm /usr/local/bin/index.html
}
@@ -219,7 +219,7 @@ ${EXTRACTIONS_URL} {
php_fastcgi unix//run/php/php7.3-fpm.sock
}
http://birdingpi.local {
http://birdnetpi.local {
root * ${EXTRACTED}
file_server browse
basicauth /Processed* {
@@ -271,7 +271,7 @@ ExecStart=/bin/bash -c "/usr/bin/avahi-publish -a -R %I $(avahi-resolve -4 -n %H
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now avahi-alias@birdingpi.local.service
systemctl enable --now avahi-alias@birdnetpi.local.service
systemctl enable --now avahi-alias@birdlog.local.service
systemctl enable --now avahi-alias@extractionlog.local.service
systemctl enable --now avahi-alias@birdstats.local.service
@@ -280,7 +280,7 @@ EOF
install_spectrogram_service() {
cat << EOF > /etc/systemd/system/spectrogram_viewer.service
[Unit]
Description=Birding-Pi Spectrogram Viewer
Description=BirdNET-Pi Spectrogram Viewer
[Service]
Restart=always
RestartSec=10
@@ -312,7 +312,7 @@ RestartSec=3
Type=simple
User=${USER}
Environment=TERM=xterm-256color
ExecStart=/usr/local/bin/gotty -p 8080 --title-format "Birding-Pi Log" journalctl -o cat -fu birdnet_analysis.service
ExecStart=/usr/local/bin/gotty -p 8080 --title-format "BirdNET-Pi Log" journalctl -o cat -fu birdnet_analysis.service
[Install]
WantedBy=multi-user.target
@@ -346,7 +346,7 @@ RestartSec=3
Type=simple
User=${USER}
Environment=TERM=xterm-256color
ExecStart=/usr/local/bin/gotty -p 9090 --title-format "Birding-Pi Statistics" tmux new -A -s birdstats /usr/local/bin/birdnet_stats.sh
ExecStart=/usr/local/bin/gotty -p 9090 --title-format "BirdNET-Pi Statistics" tmux new -A -s birdstats /usr/local/bin/birdnet_stats.sh
[Install]
WantedBy=multi-user.target
@@ -406,7 +406,7 @@ RestartSec=3
Type=simple
User=pi
Environment=TERM=xterm-256color
ExecStart=/usr/local/bin/gotty -w -p 9898 --title-format "Edit birdnet.conf" tmux new -A -s editbirdnet nano /home/pi/Birding-Pi/birdnet.conf
ExecStart=/usr/local/bin/gotty -w -p 9898 --title-format "Edit birdnet.conf" tmux new -A -s editbirdnet nano /home/pi/BirdNET-Pi/birdnet.conf
[Install]
WantedBy=multi-user.target
@@ -433,7 +433,7 @@ install_icecast() {
config_icecast() {
if [ -f /etc/icecast2/icecast.xml ];then
cp /etc/icecast2/icecast.xml{,.prebirdnetsystem}
cp /etc/icecast2/icecast.xml{,.prebirdnetpi}
fi
sed -i 's/>admin</>birdnet</g' /etc/icecast2/icecast.xml
passwords=("source-" "relay-" "admin-" "master-" "")
@@ -446,7 +446,7 @@ install_livestream_service() {
echo "Installing Live Stream service"
cat << EOF > /etc/systemd/system/livestream.service
[Unit]
Description=Birding-Pi Live Stream
Description=BirdNET-Pi Live Stream
[Service]
Environment=XDG_RUNTIME_DIR=/run/user/1000
+2 -2
View File
@@ -3,7 +3,7 @@
# ONLY run this additional script if you trust everyone on your
# local network completely as the credentials are sent WITHOUT
# any SSL/TLS encryption. For a secure remote connection to your
# Birding-Pi command line, consider enabling SSH on the
# BirdNET-Pi command line, consider enabling SSH on the
# Raspberry Pi and using another Linux machine or an SSH
# client software, or you can alternately add the 'tls internal'
# directive to the Caddyfile to add a self-signed certificate for TLS/SSL
@@ -46,7 +46,7 @@ install_tmux() {
install_web_terminal() {
cat << EOF | sudo tee /etc/systemd/system/birdterminal.service
[Unit]
Description=A Birding-Pi Web Terminal
Description=A BirdNET-Pi Web Terminal
[Service]
Restart=on-failure
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/reboot_system.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/reboot_system.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+4 -4
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Reconfigure the Birding-Pi
# Reconfigure the BirdNET-Pi
source /etc/birdnet/birdnet.conf
uninstall.sh
${HOME}/Birding-Pi/scripts/install_config.sh
sudo ${HOME}/Birding-Pi/scripts/install_services.sh
echo "Birding-Pi has now been reconfigured."
${HOME}/BirdNET-Pi/scripts/install_config.sh
sudo ${HOME}/BirdNET-Pi/scripts/install_services.sh
echo "BirdNET-Pi has now been reconfigured."
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/restart_birdnet_analysis.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_birdnet_analysis.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/restart_birdnet_recording.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_birdnet_recording.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/restart_caddy.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_caddy.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/restart_extraction.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_extraction.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/restart_services.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/restart_services.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+1 -1
View File
@@ -7,7 +7,7 @@ sudo rm -rf ${RECS_DIR}/$(date +%B-%Y/%d-%A)/*
sudo systemctl start birdnet_recording.service
SERVICES=(avahi-alias@birdlog.local.service
avahi-alias@birdingpi.local.service
avahi-alias@birdnetpi.local.service
avahi-alias@birdstats.local.service
avahi-alias@extractionlog.local.service
birdnet_analysis.service
+2 -2
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/Birding-Pi/scripts/shutdown_system.sh");
header('Location: http://birdingpi.local/scripts/index.html?success=true');
shell_exec("/home/pi/BirdNET-Pi/scripts/shutdown_system.sh");
header('Location: http://birdnetpi.local/scripts/index.html?success=true');
?>
+1 -1
View File
@@ -1,4 +1,4 @@
<?php
shell_exec("/home/pi/BirdSongs/Extracted/spectrogram.sh");
header('Location: http://birdingpi.local/spectrogram.png');
header('Location: http://birdnetpi.local/spectrogram.png');
?>
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Make sox spectrogram
source /etc/birdnet/birdnet.conf
analyzing_now="$(cat /home/pi/Birding-Pi/analyzing_now.txt)"
analyzing_now="$(cat /home/pi/BirdNET-Pi/analyzing_now.txt)"
spectrogram_png=${EXTRACTED}/spectrogram.png
sudo -u pi sox "${analyzing_now}" -n spectrogram -t "Currently Analyzing" -c "${analyzing_now}" -o "${spectrogram_png}"
+2 -2
View File
@@ -47,7 +47,7 @@ ${HOME}/.gotty)
SERVICES=(avahi-alias@birdlog.local.service
avahi-alias@birdnetsystem.local.service
avahi-alias@birdnetpi.local.service
avahi-alias@birdstats.local.service
avahi-alias@extractionlog.local.service
avahi-alias@birdterminal.local.service
@@ -109,5 +109,5 @@ remove_scripts() {
remove_services
remove_scripts
if [ -d /etc/birdnet ];then sudo rm -drf /etc/birdnet;fi
if [ -f ${HOME}/Birding-Pi/birdnet.conf ];then sudo rm -f ${HOME}/Birding-Pi/birdnet.conf;fi
if [ -f ${HOME}/BirdNET-Pi/birdnet.conf ];then sudo rm -f ${HOME}/BirdNET-Pi/birdnet.conf;fi
echo "Uninstall finished. Remove this directory with 'rm -drfv' to finish."
+1 -1
View File
@@ -9,7 +9,7 @@ TMPFILE=$(mktemp) || exit 1
[ -f ${IDFILE} ] || touch ${IDFILE}
if [ $(find ${PROCESSED} -name '*csv' | wc -l) -ge 1 ];then
if [ $(find ${PROCESSED} -name '*csv' | wc -l) -ge 1 ] &> /dev/null;then
sort $(find ${PROCESSED} ${ANALYZED} ${EXTRACTED} -name '*csv') \
| awk -F\; '!/Scientific/ {print"Common Name: " $4 "\nScientific Name: " $3""}' \
| uniq > "$TMPFILE"
+1 -1
View File
@@ -6,7 +6,7 @@
<?php
$dbhost = 'localhost';
$dbuser = 'birder';
$dbpass = 'databasepassword';
$dbpass = 'maddypaddy';
$dbname = 'birds';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);