Display BirdNET-Analyzer1 data as a dial, bar chart, and table in a browser updating hourly with up to date data.
- Using primarily bash, SQL, and XSLT to drive the hourly processing.
- Run the sound recorder to capture bird song.
- Run the analysis to identify the bird song.
- Run queries to get celestial data.
- Load the database with the observed species and celestial data.
- Extract the database data to XML.
- Transform XML using XSLT to produce charts and tables.
- Apache[optional]
- Without a HTTP server, you will have no way to view the generated HTML from this headless configuration.
- You may optionally choose to use any HTTP server. I use Apache.
- Bash
- Assuming you are on linux. MacOS will likely work, but I've done no testing.
- bc
- The daily calculations for moon phase will fail without bc, affecting the dial display of the moon.
- BirdNET-Analyzer1
- This is the engine that recognizes bird sound and assigns species. The project is pointless without it.
- git
- This is necessary if want automatic updating. The release is controlled using the main branch. Without it, you would remain on a snapshot version until you changed it.
- gifsicle
- This is necessary for animating the lunar and seasonal dials.
- imagemagick
- This is necessary for animating the lunar and seasonal dials.
- Java
- The JRE is used execute the Saxon target referenced below.
- jq
- This is used to transform JSON to XML. Without it, most of the external integrations will fail and cascade into the display.
- jQueryUI
- The web user interface utilizes some tools, particularly tabs, from the jQuery UI libraries. Without it, the user interface will render very poorly.
- SQLite
- The primary data store, without which nothing will work.
- sshpass
- The backup mechanism uses this to do a remote log in, but leaving the configuration blank will cause this process to be skipped.
- sSMTP
- Sends mail to an external address using encryption protocol. Any error will be in the logs, but sometimes notification is better.
- Saxon
- The XSLT is driven by the Saxon implementation. Most of the XML processing, including processing the latest UI components uses XSLT.
- SVG
- Not exactly an dependency other than your browser needs to understand SVG. Few do not.
- wkhtmltoimage part of wkhtmltopdf
- This is necessary for animating the lunar and seasonal dials.
- XSLT
- Same as above, this is a language used a lot for aspects of this projects transformation of data from audio recordings to web displayable graphics.
- Astronomical Applications Department of the U.S. Naval Observatory
- Certain celestial data will be lost, affecting the user interface.
- OpenStreetMap
- Locale labeling display will be lost, affecting the user interface.
- OpenWeatherMap
- Certain weather data will be lost, affecting the user interface.


