diff --git a/Birders_Guide_Installer.sh b/Birders_Guide_Installer.sh index ad1cdb1..bea8970 100755 --- a/Birders_Guide_Installer.sh +++ b/Birders_Guide_Installer.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash set -e -my_dir=${HOME}/BirdNET-Lite +my_dir=${HOME}/Birding-Pi trap '${my_dir}/scripts/dump_logs.sh && exit' EXIT SIGHUP SIGINT if [ "$(uname -m)" != "aarch64" ];then - echo "BirdNET-Lite requires a 64-bit OS. + echo "Birding-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 @@ -44,11 +44,11 @@ EOF echo echo "Installing stage 2 installation script now." cd ~ - curl -s -O "https://raw.githubusercontent.com/mcguirepr89/BirdNET-Lite/rpi4/Birders_Guide_Installer.sh" + curl -s -O "https://raw.githubusercontent.com/mcguirepr89/Birding-Pi/rpi4/Birders_Guide_Installer.sh" chmod +x Birders_Guide_Installer.sh cat << EOF | sudo tee /etc/systemd/user/birdnet-system-installer.service &> /dev/null [Unit] -Description=A BirdNET-Lite Installation Script Service +Description=A Birding-Pi Installation Script Service After=graphical.target network-online.target [Service] @@ -106,8 +106,8 @@ stage_2() { echo if [ ! -d ${my_dir} ];then cd ~ || exit 1 - echo "Cloning the BirdNET-Lite repository in your home directory" - git clone https://github.com/mcguirepr89/BirdNET-Lite.git ~/BirdNET-Lite + echo "Cloning the Birding-Pi repository in your home directory" + git clone https://github.com/mcguirepr89/Birding-Pi.git ~/Birding-Pi fi if [ -f ${my_dir}/Birders_Guide_Installer_Configuration.txt ];then @@ -137,9 +137,9 @@ and then close the Mouse Pad editing window to continue." echo "It looks like you haven't filled out the Birders_Guide_Installer_Configuration.txt file completely. -Open that file to edit it. (Go to the folder icon in the top left and look for the \"BirdNET-Lite\" +Open that file to edit it. (Go to the folder icon in the top left and look for the \"Birding-Pi\" folder and double-click the file called \"Birders_Guide_Installer_Configuration.txt\" -Enter the latitude and longitude of where the BirdNET-Lite will be. +Enter the latitude and longitude of where the Birding-Pi will be. You can find this information at https://maps.google.com Find your location on the map and right click to find your coordinates. @@ -150,9 +150,9 @@ Good luck!" read exit 1 fi - echo "Installing the BirdNET-Lite configuration file." + echo "Installing the Birding-Pi configuration file." [ -f ${my_dir}/soundcard_params.txt ] || touch ${my_dir}/soundcard_params.txt - SOUND_PARAMS="${HOME}/BirdNET-Lite/soundcard_params.txt" + SOUND_PARAMS="${HOME}/Birding-Pi/soundcard_params.txt" SOUND_CARD="$(sudo -u pi aplay -L \ | grep -e '^hw' \ | cut -d, -f1 \ @@ -177,7 +177,7 @@ The installation has finished. Press Enter to close this window." install_birdnet_config() { cat << EOF > ${my_dir}/birdnet.conf ################################################################################ -# Configuration settings for BirdNET as a service # +# Configuration settings for the Birding-Pi # ################################################################################ #___________The four variables below are the only that are required.___________# @@ -282,7 +282,7 @@ 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 -## BirdNET-Lite on your local network, you can set this to http://localhost. +## the Birding-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. @@ -329,7 +329,7 @@ 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 BirdNET-Lite for remote desktop access. This in- +## NoMachine alongside the Birding-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 BirdNET-Lite @@ -372,7 +372,7 @@ EXTRACTED=${RECS_DIR}/Extracted ## change this variable between data-sets to preserve records of disparate ## data-sets according to name. -IDFILE=${HOME}/BirdNET-Lite/IdentifiedSoFar.txt +IDFILE=${HOME}/Birding-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. @@ -433,7 +433,7 @@ The installer runs in two stages: Stage 1 configures and enables the zRAM kernel module and allocates 4G to its swapping size if needed. This will trigger a reboot. Stage 1 also ensures the system is up to date. -Stage 2 guides you through configuring the essentials and installs the full BirdNET-Lite." +Stage 2 guides you through configuring the essentials and installs the full Birding-Pi system." if [ ! -f ${HOME}/stage_1_complete ] ;then diff --git a/README.md b/README.md index bb225d3..6419629 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,53 @@ -# BirdNET-Lite for arm64/aarch64 (Raspberry Pi 4) -- Still in testing -### Built on https://github.com/kahst/BirdNET -- checkout the Wiki at [BirdNETWiki.pmcgui.xyz](https://birdnetwiki.pmcgui.xyz) +# Birding Pi +![version](https://img.shields.io/badge/version-0.1-blue) -This project offers an installation script for BirdNET-Lite as a systemd service on arm64 (aarch64) Debian-based operating systems, namely RaspiOS. The installation script offers to walk the user through setting up the '*birdnet.conf*' main configuration file interactively, or can read from an existing '*birdnet.conf*'. A variety of configurations can be attained through this installation script. +A realtime acoustic bird classification system for the Reaspberry Pi 4B -BirdNET-Lite can be configured with the following optional services: -- A 24/7 recording script that can be easily configured to use any available sound card -- An extraction service that extracts the audio selections identified by BirdNET by date and species -- A Caddy instance that serves the extracted files and live audio stream (icecast2) -- A species list updating and notification script supporting mobile notifications via Pushed.co (sorry, Android users, Pushed.co doesn't seem to work for you) -- NoMachine remote desktop software (for personal use only) +## Inroduction +The Birding Pi project is based on the BirdNet-Lite project and is able to recognize bird sounds from the microphone and the sound card in realtime. The system installs all needed services on the Raspberry Pi. -An installation one-liner is available below for RaspiOS-ARM64 meeting the prequisites below. It installs all services listed above. -- Prerequisites: - - An updated RaspiOS for AArch64 that has locale, WiFi, time-zone, and pi user password set. A guide is available [here](https://birdnetwiki.pmcgui.xyz/wiki/Birder%27s_Guide_to_BirdNET-Lite#Install_the_base_operating_system_.28OS.29). 64GB SD card for best performance. - - A USB microphone (dsnoop capable to enable live audio stream). - - Running the installer from within the Raspberry Pi's desktop environment (i.e., not over SSH -- for SSH installations, see installation options 2 & 3) +## Requirements +* A Raspberry Pi 4B +* A SD Card with the 64-bit version of RaspiOS installed [(download the latest here)](https://downloads.raspberrypi.org/raspios_arm64/images/) +* A USB Microphone or Sound Card +## Installation +The system can be installed with: +``` +curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Lite/rpi4/Birders_Guide_Installer.sh | bash +``` -## What the installation does -1. Looks for a *'birdnet.conf'* file in the *BirdNET-Lite* main directory -1. If a *'birdnet.conf'* file exists and is filled out properly, the installation is nearly - non-interactive and builds the system based off of the services configured in the *'birdnet.conf'* file -1. If the installer cannot find a *'birdnet.conf'* file, the installation is interactive and will - walk the user through creating the '*birdnet.conf'* file interactively. -1. Installs the following system dependencies: - - ffmpeg - - libblas-dev - - liblapack-dev - - caddy (for web access to extractions) - - icecast2 (live audio stream) - - alsa-utils (for recording) - - sshfs (to mount remote sound file directories) -1. Installs BirdNET-Lite scripts in */usr/local/bin* -1. Installs all selected services based on '*birdnet.conf*' -1. Installs *miniforge* for the aarch64 architecture using the current release from https://github.com/conda-forge/miniforge -1. Builds BirdNET in miniforge's *'birdnet'* virtual environment -1. Enables (but does not start) the services +The script first enables and configures the zRAM kernel module for swapping, and reboots. +After the reboot, the configuration file is opened for editing. Here, you will input your latitude and longitude and will set two passwords to protect your Pi. When in installation has finished, the Birding Pi is ready to start collecting and analyzing data on the next boot. -## What you should know before any installation -1. The licensing information for the software that is used (see [LICENSE](https://raw.githubusercontent.com/mcguirepr89/BirdNET-Lite/BirdNET-Lite-for-raspi4/LICENSE)). -1. The **latitude** and **longitude** where the bird recordings take place. Google maps is an easy way to find these (right-clicking the location). -1. In order for the live audio stream to work at the same time as the birdnet_recording.service, the microphone needs to be dsnoop capable. If you are wondering whether your mic supports creating the dsnoop device, you can use `aplay -L | awk -F, '/dsn/ {print $1}' | grep -ve 'vc4' -e 'Head' -e 'PCH' | uniq` to check. (No output means your microphone does not support creating a dsnoop device and therefore cannot also provide an audio stream while recording. The birdnet_recording.service, however, should not be affected by this and the installation one-liner can still be used. The live stream link simply will not work.) +If you have trouble with the installation script, you can cancel and rerun the installer: +``` +~/Birding-Pi/Birders_Guide_installer.sh +``` -## What you should know for a manual installation -1. The **local directory** where the recordings should be found on your local computer. BirdNET-Lite supports setting up a systemd.mount for automounting remote directories. So for instance, if the actual recordings live on RemoteHost's `/home/user/recordings` directory, but you would like them to be found on your device at `/home/me/BirdNET-recordings`, then `/home/me/BirdNET-recordings` will be your answer to that question. -1. If mounting the recordings directory from a remote host, you need to know the **remote hostname, username, and password** to connect to it via SSH, as well as the **absolute path of the recordings on the remote host**. -1. If you are using a special microphone or have multiple sound cards and would like to specify which to use for recording, you can edit the `~/BirdNET-Lite/birdnet.conf` file before the installation and set the **REC_CARD** variable to the sound card of your choice. Copy your desired sound card line from the output of `aplay -L | awk -F, '/^dsn:/ { print $1 }'`(prefered), or `aplay -L | awk -F, '/^hw:/ { print $1 }'`(if prefered is not available). -1. If you would like to take advantage of Caddy's automatic handling of SSL certificates to be able to host a public website where your friends can hear your bird sounds, forward ports 80 and 443 to the host you want to serve the files. You may also want to purchase a domain name. - - *Note: If you're just keeping this on your local network, **be sure to set your extraction URL to something 'http://'** (on RaspiOS, I recommend 'http://raspberrypi.local') to disable Caddy's automatic HTTPS. Alternatively, you may edit the `/etc/caddy/Caddyfile` after installation and add the `tls internal` directive to the site block to have Caddy issue a self-signed certificate for an HTTPS connection.* -1. If you would like to take advantage of BirdNET-Lite's ability to send New Species mobile notifications, you can easily setup a Pushed.co notification app (see the #TODOs at the bottom for more info). After setting up your application, make note of your **App Key** and **App Secret** -- you will need these to enable mobile notifications for new species. - - *Note for Android users: it seems that the Pushed.co Mobile App does not work for Android devices, which is a huge bummer. If anyone knows of an Android alternative, or if anyone might be able to come up with a home-spun notification system, please let me know.* +## Access +The Birding Pi system can be accessed from any the web browser on the same network: +- http://birdingpi.local -## How to install -Install All Services -1. In the terminal run: `curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Lite/rpialpha/Birders_Guide_Installer.sh | bash` +#### Access Credentials: +- Username:`birdnet` +- Password: The "CADDY_PWD" password you set during installation +## Uninstallation +``` +/usr/local/bin/uninstall.sh && cd ~ && rm -drf Birding-Pi +``` -## Access your BirdNET-Lite -If you configured BirdNET-Lite with the Caddy webserver, you can access the extractions locally at +## ToDo, Notes, and Comming Soon -- http://birdnetsystem.local +### Internationalisation: +The bird names are in English by default, but other localized versions are available. Please download the labels_l18n.zip file and replace the `model/labels.txt` with the corresponding language. -You can also view the log output for the birdnet_analysis.service and extraction.service at +### Tips: +You can try to overclock your Pi by placing the following in your `/boot/config.txt` file: -- http://birdlog.local -- http://extractionlog.local - -and the BirdNET-Lite Statistics Report at -- http://birdstats.local - -If you opt to also install NoMachine alongside the BirdNET-Lite, you can also access BirdNET-Lite -remotely following the address information that can be found on the NoMachine's server information page. - -## Examples -These are examples of my personal instance of the BirdNET-Lite on a Raspberry Pi 4B. - - https://birdsounds.pmcgui.xyz -- My BirdNET-Lite Extractions page - - https://birdlog.pmcgui.xyz -- My 'birdlog' birdnet_analysis.service log - - https://extraction.pmcgui.xyz -- My 'extractionlog' extraction.service log - - https://birdstats.pmcgui.xyz -- My 'birdstats' BirdNET-Lite Report - -## How to reconfigure the system -At any time, you can completely reconfigure the system to select or remove features. To reconfigure the system, simply run the included "reconfigure_birdnet.sh" script (as the regular user) and follow the prompts to create a new birdnet.conf file and install new services: `~/BirdNET-Lite/scripts/reconfigure_birdnet.sh` - -## How to uninstall BirdNET-Lite -To remove BirdNET-Lite, run the included '*uninstall.sh*' script as the regular user. -1. Issue `/usr/local/bin/uninstall.sh && cd ~ && rm -drf BirdNET-Lite` - -## Troubleshooting -**General** -- At anytime, you can run the included `~/BirdNET-Lite/dump_logs.sh` script to create a compressed tar ball of system logs that may provide a helpful overview of the system services. In addition, you can upload it in a new issue along with a description of what you are experiencing. dump_logs.sh scrubs password information, but does retain LATITUDE and LONGITUDE information. If at all concerned with privacy, you're welcome to send them to me via email at mailto:mcguirepr89@gmail.com. - -**Audio** -- If you have problems with the _bridnet_recording.service_ or _livestream.service_, try setting the REC_CARD setting in the _birdnet.conf_ file to `REC_CARD=default` and the CHANNELS variable to `CHANNELS=2`. This works for two very different microphones I have, so it may work for you. If it does, please let me know, as I may change the code as a result. Also, during installation, a file is created called `~/BirdNET-Lite/soundcard_params.txt` that may provide helpful information for customized settings. - -**Installation** -- The installer _should_ always create a compressed set of system logs whether it succeeds or fails. Its location is `~/BirdNET-Lite/logs.tar.gz`. Take a look through there or feel free to create a new issue and upload it along with a description of what you are experiencing. - -### TODO & Notes: -1. I ought to add the steps to setup a Pushed.co application for the mobile notifications feature. Here is a link for now https://pushed.co/quick-start-guide +``` +over_voltage=6 +arm_freq=1750 +``` +Be sure the Pi is adequately cooled and powered. Check http://birdingpi.local:9090 for CPU temperature and over-volatage warnings (anything other than "throttled:0x0" is bad). diff --git a/birdnet.conf-defaults b/birdnet.conf-defaults index 569b557..3a46e45 100644 --- a/birdnet.conf-defaults +++ b/birdnet.conf-defaults @@ -105,7 +105,7 @@ 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 -## BirdNET-Lite on your local network, you can set this to http://localhost. +## Birding-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. @@ -152,10 +152,10 @@ 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 BirdNET-Lite for remote desktop access. This in- +## NoMachine alongside the Birding-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 BirdNET-Lite +## Set this to Y or y to install NoMachine alongside the Birding-Pi INSTALL_NOMACHINE= @@ -195,7 +195,7 @@ EXTRACTED=${RECS_DIR}/Extracted ## change this variable between data-sets to preserve records of disparate ## data-sets according to name. -IDFILE=${HOME}/BirdNET-Lite/IdentifiedSoFar.txt +IDFILE=${HOME}/Birding-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. diff --git a/scripts/birdnet_analysis.sh b/scripts/birdnet_analysis.sh index 0e99b0d..178d9d4 100755 --- a/scripts/birdnet_analysis.sh +++ b/scripts/birdnet_analysis.sh @@ -22,7 +22,7 @@ if ! diff ${LAST_RUN} ${THIS_RUN};then done fi -CUSTOM_LIST="/home/pi/BirdNET-Lite/custom_species_list.txt" +CUSTOM_LIST="/home/pi/Birding-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}/BirdNET-Lite || exit 1 + cd ${HOME}/Birding-Pi || exit 1 for i in "${files[@]}";do echo "${1}/${i}" > ./analyzing_now.txt [ -z ${RECORDING_LENGTH} ] && RECORDING_LENGTH=12 diff --git a/scripts/birdnet_stats.sh b/scripts/birdnet_stats.sh index b267f88..c39e30f 100755 --- a/scripts/birdnet_stats.sh +++ b/scripts/birdnet_stats.sh @@ -7,13 +7,15 @@ setterm --cursor off TMP_FILE="$(mktemp)" while true;do - cat << "EOF" - .+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+. -( _ ____ __ _ ) - ) |_)o.__||\ ||_ |__(_ __|_ _ ._ _ |_) _ ._ _ .__|_ ( -( |_)||(_|| \||_ | __)\/_> |_(/_| | | | \(/_|_)(_)| |_ ) - ) / | ( - "+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+"+.+" + cat << "EOF" + ___ _ ___ +( _`\ _ ( ) _ ( _`\ _ +| (_) )(_) _ __ _| |(_) ___ __ | |_) )(_) +| _ <'| |( '__)/'_` || |/' _ `\ /'_ `\ | ,__/'| | +| (_) )| || | ( (_| || || ( ) |( (_) | | | | | +(____/'(_)(_) `\__,_)(_)(_) (_)`\__ | (_) (_) + ( )_) | + \___/' EOF if [ "$(find ${EXTRACTED} -name '*.wav' | wc -l)" -ge 1 ] &> /dev/null;then a=$( find "${EXTRACTED}" -name '*.wav' \ @@ -90,4 +92,4 @@ EOF echo -n "Listening since "${INSTALL_DATE}"" sleep 20 clear -done \ No newline at end of file +done diff --git a/scripts/clear_all_data.php b/scripts/clear_all_data.php index 606aa78..8a30a27 100644 --- a/scripts/clear_all_data.php +++ b/scripts/clear_all_data.php @@ -1,4 +1,4 @@ diff --git a/scripts/clear_all_data.sh b/scripts/clear_all_data.sh index 4584d70..50c9bac 100755 --- a/scripts/clear_all_data.sh +++ b/scripts/clear_all_data.sh @@ -15,12 +15,12 @@ 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/BirdNET-Lite/templates/index.html ${EXTRACTED} +sudo -u ${BIRDNET_USER} ln -s /home/pi/Birding-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/BirdNET-Lite/scripts ${EXTRACTED}/ -[ -L ${EXTRACTED}/spectrogram.php ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Lite/scripts/spectrogram.php ${EXTRACTED} -[ -L ${EXTRACTED}/spectrogram.sh ] || sudo -u ${BIRDNET_USER} ln -s /home/pi/BirdNET-Lite/scripts/spectrogram.sh ${EXTRACTED} +[ -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} -sudo -u ${BIRDNET_USER} cp ~/BirdNET-Lite/templates/index.html ${EXTRACTED}/ +sudo -u ${BIRDNET_USER} cp ~/Birding-Pi/templates/index.html ${EXTRACTED}/ echo "Restarting services" sudo systemctl restart birdnet_recording.service diff --git a/scripts/dump_logs.sh b/scripts/dump_logs.sh index e3f7150..7fa32cd 100755 --- a/scripts/dump_logs.sh +++ b/scripts/dump_logs.sh @@ -2,7 +2,7 @@ # A comprehensive log dumper # set -x # Uncomment to debug source /etc/birdnet/birdnet.conf &> /dev/null -LOG_DIR="${HOME}/BirdNET-Lite/logs" +LOG_DIR="${HOME}/Birding-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}/BirdNET-Lite/birdnet.conf > ${LOG_DIR}/birdnet.conf +sed -e '/PWD=/d' ${HOME}/Birding-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}/BirdNET-Lite/logs.tar.gz ${LOG_DIR} &> /dev/null +tar --remove-files -cvpzf ${HOME}/Birding-Pi/logs.tar.gz ${LOG_DIR} &> /dev/null # Finished -echo "Your compressed logs are located at ${HOME}/BirdNET-Lite/logs.tar.gz" +echo "Your compressed logs are located at ${HOME}/Birding-Pi/logs.tar.gz" diff --git a/scripts/edit_birdnet.conf.php b/scripts/edit_birdnet.conf.php index 6fb7952..9ea36ac 100644 --- a/scripts/edit_birdnet.conf.php +++ b/scripts/edit_birdnet.conf.php @@ -1,4 +1,4 @@ diff --git a/scripts/install_birdnet.sh b/scripts/install_birdnet.sh index 5f3789b..af8d691 100755 --- a/scripts/install_birdnet.sh +++ b/scripts/install_birdnet.sh @@ -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 "BirdNET-Lite requires a 64-bit OS. + echo "Birding-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 ~/BirdNET-Lite || exit 1 + cd ~/Birding-Pi || exit 1 echo "Upgrading pip, wheel, and setuptools" sudo pip3 install --upgrade pip wheel setuptools echo "Fetching the TFLite pre-built binaries" @@ -65,7 +65,7 @@ install_birdnet() { read -sp "\ Be sure you have read the software license before installing. This is -available in the BirdNET-Lite directory as "LICENSE" +available in the Birding-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." @@ -94,13 +94,13 @@ echo " BirdNet is installed!! http://birdnetsystem.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 BirdNET-Lite Report" + http://birdstats.local to see the Birding-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 BirdNET-Lite!! +* ) echo " Thanks for installing Birding-Pi!! I hope it was helpful!";; esac diff --git a/scripts/install_config.sh b/scripts/install_config.sh index c1402b7..39246f5 100755 --- a/scripts/install_config.sh +++ b/scripts/install_config.sh @@ -298,7 +298,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 -## BirdNET-Lite on your local network, you can set this to http://localhost. +## Birding-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. @@ -345,10 +345,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 BirdNET-Lite for remote desktop access. This in- +## NoMachine alongside the Birding-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 BirdNET-Lite +## Set this to Y or y to install NoMachine alongside the Birding-Pi INSTALL_NOMACHINE=${INSTALL_NOMACHINE} @@ -388,7 +388,7 @@ EXTRACTED=${RECS_DIR}/Extracted ## change this variable between data-sets to preserve records of disparate ## data-sets according to name. -IDFILE=${HOME}/BirdNET-Lite/IdentifiedSoFar.txt +IDFILE=${HOME}/Birding-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. @@ -444,7 +444,7 @@ EOF sudo ln -sf $(dirname ${my_dir})/birdnet.conf /etc/birdnet/birdnet.conf } -# Checks for a birdnet.conf file in the BirdNET-Lite directory for a +# Checks for a birdnet.conf file in the Birding-Pi directory for a # non-interactive installation. Otherwise,the installation is interactive. if [ -f ${BIRDNET_CONF} ];then source ${BIRDNET_CONF} diff --git a/scripts/install_services.sh b/scripts/install_services.sh index 9aaae79..99ce9f7 100755 --- a/scripts/install_services.sh +++ b/scripts/install_services.sh @@ -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 BirdNET-Lite scripts to /usr/local/bin" + echo "Installing Birding-Pi scripts to /usr/local/bin" ln -sf ${my_dir}/* /usr/local/bin/ rm /usr/local/bin/index.html } @@ -207,7 +207,7 @@ ${EXTRACTIONS_URL} { php_fastcgi unix//run/php/php7.3-fpm.sock } -http://birdnetsystem.local { +http://birdingpi.local { root * ${EXTRACTED} file_server browse basicauth /Processed* { @@ -284,7 +284,7 @@ RestartSec=3 Type=simple User=${USER} Environment=TERM=xterm-256color -ExecStart=/usr/local/bin/gotty -p 8080 --title-format "BirdNET-Lite Log" journalctl -fu birdnet_analysis.service +ExecStart=/usr/local/bin/gotty -p 8080 --title-format "Birding-Pi Log" journalctl -fu birdnet_analysis.service [Install] WantedBy=multi-user.target @@ -318,7 +318,7 @@ RestartSec=3 Type=simple User=${USER} Environment=TERM=xterm-256color -ExecStart=/usr/local/bin/gotty -p 9090 --title-format "BirdNET-Lite Statistics" tmux new -A -s birdstats /usr/local/bin/birdnet_stats.sh +ExecStart=/usr/local/bin/gotty -p 9090 --title-format "Birding-Pi Statistics" tmux new -A -s birdstats /usr/local/bin/birdnet_stats.sh [Install] WantedBy=multi-user.target @@ -378,7 +378,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/BirdNET-Lite/birdnet.conf +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 [Install] WantedBy=multi-user.target @@ -418,7 +418,7 @@ install_livestream_service() { echo "Installing Live Stream service" cat << EOF > /etc/systemd/system/livestream.service [Unit] -Description=BirdNET-Lite Live Stream +Description=Birding-Pi Live Stream [Service] Environment=XDG_RUNTIME_DIR=/run/user/1000 diff --git a/scripts/install_tmux_services.sh b/scripts/install_tmux_services.sh index 30f470b..107e1a4 100755 --- a/scripts/install_tmux_services.sh +++ b/scripts/install_tmux_services.sh @@ -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 -# BirdNET-Lite command line, consider enabling SSH on the +# Birding-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 BirdNET-Lite Web Terminal +Description=A Birding-Pi Web Terminal [Service] Restart=on-failure diff --git a/scripts/reboot_system.php b/scripts/reboot_system.php index 2e385ad..7cb1023 100644 --- a/scripts/reboot_system.php +++ b/scripts/reboot_system.php @@ -1,4 +1,4 @@ diff --git a/scripts/reconfigure_birdnet.sh b/scripts/reconfigure_birdnet.sh index 7c46dfb..195d288 100755 --- a/scripts/reconfigure_birdnet.sh +++ b/scripts/reconfigure_birdnet.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# Reconfigure the BirdNET-Lite +# Reconfigure the Birding-Pi source /etc/birdnet/birdnet.conf uninstall.sh -${HOME}/BirdNET-Lite/scripts/install_config.sh -sudo ${HOME}/BirdNET-Lite/scripts/install_services.sh -echo "BirdNET-Lite has now been reconfigured." +${HOME}/Birding-Pi/scripts/install_config.sh +sudo ${HOME}/Birding-Pi/scripts/install_services.sh +echo "Birding-Pi has now been reconfigured." diff --git a/scripts/restart_birdnet_analysis.php b/scripts/restart_birdnet_analysis.php index 2c050a1..131bb36 100644 --- a/scripts/restart_birdnet_analysis.php +++ b/scripts/restart_birdnet_analysis.php @@ -1,4 +1,4 @@ diff --git a/scripts/restart_birdnet_recording.php b/scripts/restart_birdnet_recording.php index 9c61cd4..3b98615 100644 --- a/scripts/restart_birdnet_recording.php +++ b/scripts/restart_birdnet_recording.php @@ -1,4 +1,4 @@ diff --git a/scripts/restart_caddy.php b/scripts/restart_caddy.php index 3de0dd9..c50a923 100644 --- a/scripts/restart_caddy.php +++ b/scripts/restart_caddy.php @@ -1,4 +1,4 @@ diff --git a/scripts/restart_extraction.php b/scripts/restart_extraction.php index f847580..b663116 100644 --- a/scripts/restart_extraction.php +++ b/scripts/restart_extraction.php @@ -1,4 +1,4 @@ diff --git a/scripts/restart_services.php b/scripts/restart_services.php index 26329a4..9c83dfe 100644 --- a/scripts/restart_services.php +++ b/scripts/restart_services.php @@ -1,4 +1,4 @@ diff --git a/scripts/shutdown_system.php b/scripts/shutdown_system.php index b765831..2c9df23 100644 --- a/scripts/shutdown_system.php +++ b/scripts/shutdown_system.php @@ -1,4 +1,4 @@ diff --git a/scripts/spectrogram.php b/scripts/spectrogram.php index 3bf3804..1c66a42 100644 --- a/scripts/spectrogram.php +++ b/scripts/spectrogram.php @@ -1,4 +1,4 @@ diff --git a/scripts/spectrogram.sh b/scripts/spectrogram.sh index 8c15982..6ef0136 100755 --- a/scripts/spectrogram.sh +++ b/scripts/spectrogram.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Make sox spectrogram source /etc/birdnet/birdnet.conf -analyzing_now="$(cat /home/pi/BirdNET-Lite/analyzing_now.txt)" +analyzing_now="$(cat /home/pi/Birding-Pi/analyzing_now.txt)" spectrogram_png=${EXTRACTED}/spectrogram.png sudo -u pi sox "${analyzing_now}" -n spectrogram -o "${spectrogram_png}" diff --git a/scripts/uninstall.sh b/scripts/uninstall.sh index 045699c..39bb210 100755 --- a/scripts/uninstall.sh +++ b/scripts/uninstall.sh @@ -105,5 +105,5 @@ remove_scripts() { remove_services remove_scripts if [ -d /etc/birdnet ];then sudo rm -drf /etc/birdnet;fi -if [ -f ${HOME}/BirdNET-Lite/birdnet.conf ];then sudo rm -f ${HOME}/BirdNET-Lite/birdnet.conf;fi +if [ -f ${HOME}/Birding-Pi/birdnet.conf ];then sudo rm -f ${HOME}/Birding-Pi/birdnet.conf;fi echo "Uninstall finished. Remove this directory with 'rm -drfv' to finish." diff --git a/templates/Caddyfile_livestream b/templates/Caddyfile_livestream index f2c2768..c9a553d 100644 --- a/templates/Caddyfile_livestream +++ b/templates/Caddyfile_livestream @@ -9,7 +9,7 @@ ${EXTRACTIONS_URL} { } reverse_proxy /stream localhost:8000 } -http://birdnetsystem.local { +http://birdingpi.local { root * ${EXTRACTED} file_server browse basicauth ${PROCESSED}* { diff --git a/templates/Caddyfile_nostream b/templates/Caddyfile_nostream index 05b3a77..396975c 100644 --- a/templates/Caddyfile_nostream +++ b/templates/Caddyfile_nostream @@ -8,7 +8,7 @@ ${EXTRACTIONS_URL} { birdnet ${HASHWORD} } } -http://birdnetsystem.local { +http://birdingpi.local { root * ${EXTRACTED} file_server browse basicauth ${PROCESSED}* { diff --git a/templates/cleanup.cron b/templates/cleanup.cron index f6002a0..38555fd 100644 --- a/templates/cleanup.cron +++ b/templates/cleanup.cron @@ -1,2 +1,3 @@ #birdnet 0 1 * * * /usr/local/bin/cleanup.sh &> /dev/null +@reboot /usr/local/bin/cleanup.sh &> /dev/null diff --git a/templates/index.html b/templates/index.html index f44b736..86e2272 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,7 +1,7 @@ - BirdNET-Lite System + Birding Pi