Polish project for public release

- Add requirements.txt with Python dependencies
- Add MIT LICENSE file
- Add screenshot for README
- Expand README with better documentation:
  - Quick start with git clone
  - Configuration example
  - Compatible receivers list
  - Custom backgrounds section
  - Credits section
- Update CONFIG.md:
  - Fix Quick Start checklist (add pip install step)
  - Add systemd service instructions for auto-start
- Remove CLAUDE.md from documentation list (dev-only file)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-01-20 12:46:47 -08:00
parent 9cb0f42205
commit 6d33550081
5 changed files with 158 additions and 25 deletions

View File

@@ -217,8 +217,61 @@ All aircraft sprites should face **right (east)** - the code flips them automati
## Quick Start Checklist ## Quick Start Checklist
1. [ ] Edit `config.json` with your receiver IP (or leave as AUTO) 1. [ ] Install dependencies: `pip install -r requirements.txt`
2. [ ] Set your location name, latitude, and longitude 2. [ ] Edit `config.json` with your receiver IP (or leave as AUTO)
3. [ ] Replace `north.png`, `east.png`, `south.png`, `west.png` with your local views 3. [ ] Set your location name, latitude, and longitude
4. [ ] Start the server: `python3 server.py` 4. [ ] (Optional) Add custom backgrounds to `backgrounds/custom/` and set `"theme": "custom"`
5. [ ] Open browser to `http://your-server-ip:2001` 5. [ ] Start the server: `python3 server.py`
6. [ ] Open browser to `http://your-server-ip:2001`
---
## Running as a Service (Auto-Start)
To run Pixel-ADSB automatically on boot, create a systemd service:
### 1. Create the service file
```bash
sudo nano /etc/systemd/system/pixel-adsb.service
```
Add this content (adjust paths as needed):
```ini
[Unit]
Description=Pixel-ADSB Flight Tracker
After=network.target
[Service]
Type=simple
WorkingDirectory=/path/to/pixel-view
ExecStart=/usr/bin/python3 /path/to/pixel-view/server.py
Restart=always
RestartSec=5
StandardOutput=append:/var/log/pixel-adsb.log
StandardError=append:/var/log/pixel-adsb.log
[Install]
WantedBy=multi-user.target
```
### 2. Enable and start the service
```bash
sudo systemctl daemon-reload
sudo systemctl enable pixel-adsb
sudo systemctl start pixel-adsb
```
### 3. Check status
```bash
sudo systemctl status pixel-adsb
```
### 4. View logs
```bash
tail -f /var/log/pixel-adsb.log
```

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Allen Cross
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -2,54 +2,111 @@
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites. A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
![Pixel-ADSB Screenshot](screenshots/screenshot.png)
## Features ## Features
- Real-time aircraft tracking via ADS-B receivers - Real-time aircraft tracking via ADS-B receivers
- Custom pixel art sprites for 6 aircraft types - Custom pixel art sprites for 6 aircraft types (small prop, regional jet, narrow body, wide body, heavy, helicopter)
- Animated sun and moon with accurate positions based on location - Animated sun and moon with accurate astronomical positions
- Weather visualization (clouds, rain/snow) - Dynamic sky colors based on time of day
- Directional view (N/E/S/W) with unique backgrounds - Weather visualization with cloud sprites
- Directional view (N/E/S/W) with themed backgrounds
- Auto-discovery of ADS-B receivers on your network
- Canvas-based 10 FPS retro rendering - Canvas-based 10 FPS retro rendering
## Quick Start ## Quick Start
```bash ```bash
# Clone the repository
git clone https://gitea.chops.one/allen/Pixel-ADSB.git
cd Pixel-ADSB
# Install dependencies # Install dependencies
pip install aiohttp netifaces pip install -r requirements.txt
# Configure your location (required for weather and celestial positioning)
# Edit config.json and set your lat/lon coordinates
# Start the server # Start the server
python3 server.py python3 server.py
``` ```
Access at http://localhost:2001 (or configured port in config.json) Access at http://localhost:2001
## Requirements ## Requirements
- Python 3.8+ - Python 3.8+
- ADS-B receiver providing SBS/BaseStation format on port 30003 - ADS-B receiver providing SBS/BaseStation format on port 30003 (dump1090, readsb, etc.)
- Modern web browser with Canvas support - Modern web browser with Canvas support
## Documentation ## Configuration
- [CONFIG.md](CONFIG.md) - Configuration options and background themes Edit `config.json` to customize your installation:
- [CLAUDE.md](CLAUDE.md) - Development guidance
## Aircraft Types ```json
{
"receivers": "AUTO",
"receiver_port": 30003,
"location": {
"name": "My Location",
"lat": 36.2788,
"lon": -115.2283
},
"web_port": 2001,
"theme": "desert"
}
```
| Type | Description | **Important:** Set your `location.lat` and `location.lon` for accurate weather and sun/moon positioning.
|------|-------------|
| Small Prop | Light aircraft, N-prefix callsigns | See [CONFIG.md](CONFIG.md) for full configuration options including custom backgrounds and running as a service.
| Regional Jet | Regional carriers |
| Narrow Body | 737/A320 class |
| Wide Body | 777/787 class |
| Heavy | 747/A380 class |
| Helicopter | Low altitude, slow speed |
## Controls ## Controls
- **Arrow Keys / A/D**: Rotate view direction - **Arrow Keys / A/D**: Rotate view direction
- View cycles through North, East, South, West - View cycles through North, East, South, West
- Click aircraft in sidebar to highlight
## Aircraft Types
| Type | Detection |
|------|-----------|
| Helicopter | Low altitude + slow speed |
| Heavy (747/A380) | High altitude or specific callsigns |
| Wide Body | Very high altitude/speed |
| Narrow Body | Default commercial |
| Regional Jet | Regional carrier callsigns or lower altitude |
| Small Prop | N-prefix callsigns or very low/slow |
## Custom Backgrounds
Create backgrounds for your location:
1. Add 4 directional images to `backgrounds/custom/` (north.png, east.png, south.png, west.png)
2. Set `"theme": "custom"` in config.json
3. Restart the server
See [CONFIG.md](CONFIG.md) for image specifications and tips.
## Running as a Service
To auto-start on boot, see the systemd service instructions in [CONFIG.md](CONFIG.md#running-as-a-service-auto-start).
## Compatible Receivers
Works with any receiver providing SBS/BaseStation format on port 30003:
- dump1090 / dump1090-fa / dump1090-mutability
- readsb
- ADS-B Exchange feeders
- FlightAware PiAware
- Any SBS1 compatible receiver
## License ## License
MIT MIT License - see [LICENSE](LICENSE) for details.
## Credits
- Aircraft and environment sprites generated with AI assistance
- Weather data from [Open-Meteo](https://open-meteo.com/) (free, no API key required)

2
requirements.txt Normal file
View File

@@ -0,0 +1,2 @@
aiohttp>=3.8.0
netifaces>=0.11.0

BIN
screenshots/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB