The suntime library uses a simplified approximation that degrades at high latitudes as sunrise approaches very early hours near the summer solstice. The computed sunrise drifted progressively earlier than the actual event, shrinking the capture window until today it ended before the sun rose. Switch to skyfield's sunrise_sunset almanac (DE421 ephemeris), which is accurate to within a second at any latitude — the same library already used by moon_phase.py for sun events. The search window is anchored to local midnight→midnight UTC so the correct calendar-day sunrise is always returned regardless of timezone offset. Also promote skyfield to the core pip install in bootstrap.sh (dropping suntime, which is no longer needed) and tidy the stale "suntime" hints in 4-seasons.sh and montage-mvt.sh error messages. https://claude.ai/code/session_01S4oUbU9xNj91cbV5bj5NRn
40 lines
1.4 KiB
Bash
Executable File
40 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# bootstrap.sh — download and unpack sky-cam from GitHub.
|
|
#
|
|
# Usage:
|
|
# bash bootstrap.sh [TARGET_DIR]
|
|
#
|
|
# Downloads the latest sky-cam from GitHub into TARGET_DIR (default: ./sky-cam),
|
|
# then tells you what to do next.
|
|
|
|
set -euo pipefail
|
|
|
|
TARGET="${1:-sky-cam}"
|
|
REPO="outis1one/sky-cam"
|
|
BRANCH="main"
|
|
URL="https://github.com/$REPO/archive/refs/heads/$BRANCH.tar.gz"
|
|
|
|
echo "Downloading sky-cam from GitHub..."
|
|
curl -fL "$URL" | tar xz
|
|
mv "sky-cam-$BRANCH" "$TARGET"
|
|
|
|
echo ""
|
|
echo "Done. Next steps:"
|
|
echo " 1. Install system packages (if not already present):"
|
|
echo " sudo apt install ffmpeg bc fonts-dejavu"
|
|
echo " pip3 install pytz requests skyfield"
|
|
echo " pip3 install Pillow numpy scipy # moon jobs (moon-track, moon-phase-monthly)"
|
|
echo ""
|
|
echo " 2. Edit $TARGET/sky-cam.conf"
|
|
echo " — SCRIPT_DIR full path to the directory you'll run scripts from"
|
|
echo " — BASE_DIR where your camera images live"
|
|
echo " — MUSIC_DIR path to your Vivaldi Four Seasons audio files"
|
|
echo " — CAMERAS list of camera names, e.g. (east) or (east north south west)"
|
|
echo " — SUNRISE_CAM which camera faces east (gets the sunrise video job)"
|
|
echo " — LATITUDE / LONGITUDE / TIMEZONE your location"
|
|
echo ""
|
|
echo " 3. cd $TARGET && ./install.sh"
|
|
echo " This generates .env.example — copy it to .env and add credentials:"
|
|
echo " cp $TARGET/.env.example $TARGET/.env"
|
|
echo " nano $TARGET/.env"
|