- Notifications
You must be signed in to change notification settings - Fork1
BirdNET App for RaspberryPi/BeagleBone.
License
mzakharo/birdnetapp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
BirdNET App for Raspberry Pi/BeagleBone
24/7 recording from a USB microphone
localBirdNET analysis
Influx2 Database support
Telegram alerts
Web App for listening & visualizing captured audio
Grafana visualizing data from Influx2 Database:
- Sample Telegram Notificaiton:
- Web App to listen to and visualize recorded content.
- User has access to an Influx2 database instance (you can get a free one atinfluxdata.com)
- User has a telegrambot token and achat id
- cd
$HOME
git clone --recurse-submodules https://github.com/mzakharo/birdnetapp.git
- Copy
config.example.yaml
toconfig.yaml
and fill in the details according to your hardware and environment
- setup
/tmp
as ramdisk:
sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/tmp.mountsudo systemctlenable tmp.mountsudo systemctl start tmp.mount
- Disable rsyslog
sudo apt remove rsyslog
- Move journal to ram edit
/etc/systemd/journald.conf
:
Storage=volatileRuntimeMaxUse=64M
sudo systemctl restart systemd-journald
Install requirements via
sudo apt install sox ffmpeg libasound2-dev
for Beaglebone: Use BirdNET-Analyzer @
5b6d1c3
. As this is the last model that is fast enough for this platformfor BeagleBone:
sudo apt instal llvm-dev libatlas-base-dev libsndfile1
for BeagleBone:
pip3 install numba==0.56.4
for BeagleBone:
pip3 install beaglebone/tflite_runtime-2.16.0-cp39-cp39-linux_armv7l.whl
Install dependencies via
pip3 install -r requirements.txt
Run the server:
cd $HOME/birdnetapp/BirdNET-Analyzer && python3 server.py
Run the app:
cd $HOME/birdnetapp && python3 main.py
Optional: install systemd services to run on startup via
birdnet_main.service
andbirdnet_server.service
sudo cp birdnet_server@.service /lib/systemd/system/sudo cp birdnet_main@.service /lib/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable birdnet_server@$USER.service sudo systemctl start birdnet_server@$USER.service sudo systemctl status birdnet_server@$USER.servicesudo systemctl enable birdnet_main@$USER.service sudo systemctl start birdnet_main@$USER.service sudo systemctl status birdnet_main@$USER.service
- install deps in system:
sudo pip3 install flask tzlocal gunicorn
- Serve the Web App by running
./flask.sh
- Optional: install a systemd service file to run on startup via
birdnet_app@.service
from(bucket: "main") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "birdnet") |> count() |> group() |> sort(desc:true) |> keep(columns: ["_field", "_value"]) |> rename(columns: { _value: ""})
About
BirdNET App for RaspberryPi/BeagleBone.