mirror of
https://github.com/cjfranko/NTP-Timeturner.git
synced 2025-11-08 18:32:02 +00:00
final commit for the day
This commit is contained in:
parent
7ec7f6844d
commit
9fe70f4688
2 changed files with 29 additions and 48 deletions
42
README.md
42
README.md
|
|
@ -1,31 +1,37 @@
|
||||||
# 🕰️ NTP Timeturner
|
# 🕰️ NTP Timeturner
|
||||||
|
|
||||||
**NTP Timeturner** is a Raspberry Pi-based stratum 1 time server that sets its system clock based on incoming SMPTE LTC (Linear Timecode) audio. Designed for broadcast and production environments, it allows LTC-based time sync across local networks via NTP.
|
**An LTC-driven NTP server for Raspberry Pi, built with broadcast precision and a hint of magic.**
|
||||||
|
|
||||||
|
Inspired by Hermione Granger’s TimeTurner, this project synchronises timecode-locked systems by decoding incoming LTC (Linear Time Code) and broadcasting it as NTP — with precision down to the millisecond.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📦 Features
|
## 📦 Hardware Requirements
|
||||||
|
|
||||||
- 🕒 Decodes LTC timecode from audio input (25fps supported)
|
- Raspberry Pi 3 (or better)
|
||||||
- 🌐 Serves NTP time to local devices
|
- Debian Bookworm (64-bit recommended)
|
||||||
- ⚡ Fast, reliable startup using a USB audio interface
|
- USB audio input (e.g. USB to 3.5mm TRS adapter)
|
||||||
- 🔌 Optional OLED display for system time and sync status (coming soon)
|
- Ethernet connection (recommended for stable NTP)
|
||||||
- 🛜 Web interface for Wi-Fi config and status (in development)
|
- Optional: Blackmagic Video Assist or LTC generator for input testing
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🚀 Quick Start
|
## 🛠️ Software Features
|
||||||
|
|
||||||
### ✅ Requirements
|
- Reads SMPTE LTC from audio input (25p/50i to start, with more frame rate support to follow)
|
||||||
|
- Converts LTC into NTP-synced time
|
||||||
|
- Broadcasts time via local NTP server
|
||||||
|
- Supports configurable time offsets (hours, minutes, seconds, milliseconds)
|
||||||
|
- Systemd service support for headless operation
|
||||||
|
- Optional splash screen branding at boot
|
||||||
|
|
||||||
- Raspberry Pi 3 or newer
|
---
|
||||||
- Debian Bookworm
|
|
||||||
- USB audio interface with 3.5mm mic/line input
|
|
||||||
- SMPTE LTC source (e.g. video playout, Blackmagic device)
|
|
||||||
|
|
||||||
### ⚙️ Setup Instructions
|
## 🚀 Installation
|
||||||
|
|
||||||
1. Clone the repo:
|
Clone and run the installer:
|
||||||
```bash
|
|
||||||
git clone https://github.com/cjfranko/NTP-Timeturner.git
|
```bash
|
||||||
cd NTP-Timeturner
|
wget https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/setup.sh
|
||||||
|
chmod +x setup.sh
|
||||||
|
./setup.sh
|
||||||
|
|
|
||||||
35
setup.sh
35
setup.sh
|
|
@ -89,40 +89,14 @@ sudo make install
|
||||||
sudo ldconfig
|
sudo ldconfig
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
# Step 7: Apply Custom Splash Screen and Wayland Wallpaper
|
# Step 7: Apply Custom Splash Screen
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
echo ""
|
echo ""
|
||||||
echo "Step 7: Applying Timeturner visual identity..."
|
echo "Step 7: Applying splash screen..."
|
||||||
|
|
||||||
# Splash screen
|
|
||||||
echo "Downloading splash screen..."
|
|
||||||
sudo curl -L -o /usr/share/plymouth/themes/pix/splash.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/splash.png
|
sudo curl -L -o /usr/share/plymouth/themes/pix/splash.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/splash.png
|
||||||
sudo chmod 644 /usr/share/plymouth/themes/pix/splash.png
|
sudo chmod 644 /usr/share/plymouth/themes/pix/splash.png
|
||||||
|
|
||||||
# Wallpaper for LabWC / swaybg
|
|
||||||
echo "Installing swaybg for Wayland wallpaper management..."
|
|
||||||
sudo apt install -y swaybg
|
|
||||||
|
|
||||||
echo "Downloading wallpaper..."
|
|
||||||
mkdir -p /home/hermione/Pictures
|
|
||||||
curl -L -o /home/hermione/Pictures/wallpaper.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/wallpaper.png
|
|
||||||
chown hermione:hermione /home/hermione/Pictures/wallpaper.png
|
|
||||||
|
|
||||||
# Update labwc init file
|
|
||||||
INIT_FILE="/home/hermione/.config/labwc/init"
|
|
||||||
mkdir -p "$(dirname "$INIT_FILE")"
|
|
||||||
|
|
||||||
if ! grep -q "swaybg" "$INIT_FILE" 2>/dev/null; then
|
|
||||||
echo "Adding swaybg launch command to LabWC init file..."
|
|
||||||
echo "exec swaybg -i /home/hermione/Pictures/wallpaper.png --mode fill" >> "$INIT_FILE"
|
|
||||||
else
|
|
||||||
echo "LabWC wallpaper command already present — skipping"
|
|
||||||
fi
|
|
||||||
|
|
||||||
chown hermione:hermione "$INIT_FILE"
|
|
||||||
|
|
||||||
echo "Custom splash and Wayland wallpaper applied."
|
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
# Final Message & Reboot Option
|
# Final Message & Reboot Option
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
@ -133,10 +107,11 @@ echo "────────────────────────
|
||||||
echo ""
|
echo ""
|
||||||
echo "The TimeTurner is ready. But remember:"
|
echo "The TimeTurner is ready. But remember:"
|
||||||
echo "\"You must not be seen.\" – Hermione Granger"
|
echo "\"You must not be seen.\" – Hermione Granger"
|
||||||
echo "Visual enchantments adapted for Wayland by Luna."
|
echo "Visual enhancements are in place. Terminal timeline is stable."
|
||||||
echo ""
|
echo ""
|
||||||
echo "The system will reboot in 30 seconds to complete setup..."
|
echo "The system will reboot in 30 seconds to complete setup..."
|
||||||
echo "Press [Enter] to reboot immediately, or Ctrl+C to cancel."
|
echo "Press [Enter] to reboot immediately, or Ctrl+C to cancel."
|
||||||
|
|
||||||
read -t 30 -p ""
|
read -t 30 -p "" || true
|
||||||
|
sleep 1
|
||||||
sudo reboot
|
sudo reboot
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue