Files
giglez/start_web.sh
T
leetcrypt 9f73595b20 feat: RTL_433 protocol database import - iteration 1/5
- Expanded protocol database from 18 → 299 signatures (16.6x increase)
- Imported 281 protocols from RTL_433 open-source database (286 total devices)
- Created automated import script: scripts/import_rtl433_protocols.py
- Generated rtl433_protocols_imported.py with timing/frequency/modulation data
- Updated protocol_database.py to include RTL433_PROTOCOLS
- All 26 tests passing

Breakdown by category:
  - Weather: 116 protocols
  - Sensors: 36 protocols
  - TPMS: 25 protocols
  - Security: 23 protocols
  - Home Automation: 18 protocols
  - Other: 50+ protocols

Frequency coverage:
  - 433.92 MHz: 248 protocols
  - 315.00 MHz: 32 protocols
  - 915.00 MHz: 1 protocol

This provides comprehensive coverage of Sub-GHz IoT devices for accurate
identification from raw RF captures.
2026-02-14 18:55:55 -08:00

92 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
#
# GigLez Web Interface Startup Script
#
echo "=========================================="
echo "GigLez - IoT RF Device Mapping Platform"
echo "=========================================="
echo ""
# Check Python
if ! command -v python3 &> /dev/null; then
echo "❌ Python 3 not found"
exit 1
fi
echo "✅ Python 3 found"
# More robust project directory detection
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROJECT_ROOT="$SCRIPT_DIR"
# Check for multiple project markers
if [ ! -f "$PROJECT_ROOT/src/api/main_simple.py" ] || \
[ ! -f "$PROJECT_ROOT/CLAUDE.md" ] || \
[ ! -d "$PROJECT_ROOT/src/database" ]; then
echo "❌ Not in project directory"
echo "Please run from: $PROJECT_ROOT"
echo "Or use: cd /home/dell/coding/giglez && ./start_web.sh"
exit 1
fi
# Change to project root if needed
cd "$PROJECT_ROOT"
echo "✅ Project directory confirmed ($PROJECT_ROOT)"
# Check database
if [ -f "giglez.db" ]; then
echo "✅ SQLite database found (85 signatures)"
else
echo "⚠️ Database not found (run scripts/import_flipper_sqlite.py first)"
fi
echo ""
# Find available port (try 8000-8010)
PORT=8000
MAX_PORT=8010
echo "Checking for available port..."
while [ $PORT -le $MAX_PORT ]; do
# Check if port is in use
if lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null 2>&1 ; then
# Get PID using the port
PID=$(lsof -Pi :$PORT -sTCP:LISTEN -t)
PROCESS=$(ps -p $PID -o comm= 2>/dev/null)
echo "⚠️ Port $PORT in use (PID: $PID, Process: $PROCESS)"
PORT=$((PORT + 1))
else
echo "✅ Port $PORT is available"
break
fi
done
if [ $PORT -gt $MAX_PORT ]; then
echo ""
echo "❌ No available ports in range 8000-$MAX_PORT"
echo ""
echo "Running processes:"
lsof -i :8000-8010 -sTCP:LISTEN
echo ""
echo "To kill a process: kill -9 <PID>"
exit 1
fi
# Start server
echo ""
echo "=========================================="
echo "Starting GigLez Web Server..."
echo "=========================================="
echo ""
echo "Web Interface: http://localhost:$PORT"
echo "API Docs: http://localhost:$PORT/docs"
echo "Health Check: http://localhost:$PORT/health"
echo ""
echo "Press Ctrl+C to stop"
echo ""
# Run with uvicorn
python3 -m uvicorn src.api.main_simple:app --host 0.0.0.0 --port $PORT --reload