An end-to-end intelligent IoT & Edge Computer Vision platform designed for real-time wildlife intrusion detection, automated sonic deterrence, and instant alert dispatch to mitigate Human-Wildlife Conflict (HWC).
- 🎯 Edge Object Detection: Custom-trained YOLOv8 model running over OpenCV frame buffers for real-time wildlife detection across RTSP streams, local video files, and webcams.
- 🔊 Automated Sonic Deterrents: Localized acoustic deterrent triggers upon detection to turn away animals before boundary breaches occur.
- 📡 Event-Driven MQTT Telemetry: High-throughput, low-latency publish/subscribe pipeline for real-time camera heartbeats and intrusion payloads.
- 🖥️ Central Django Management Portal: Web dashboard providing live camera monitoring, incident logs, database management, and administrative control.
- 📱 Android User Mobile App: Empowers public users and local communities to receive real-time FCM intrusion alerts and officer curfew notices, report/post animal sightings, submit eco-trekking requests, view dangerous wildlife hazard zones on interactive maps, and find nearest forest station contact details.
- 🎛️ Web Launcher GUI: A web interface (tools/web_launcher.py) to run the detection script on a camera feed, video, or image file.
graph TD
subgraph Edge Layer
Camera[IP / RTSP / Video Feed] -->|OpenCV Frame Buffer| EdgeNode[Edge Node Inference - YOLOv8]
end
subgraph Transport Layer
EdgeNode -->|Publish Event QoS 1| MQTT[MQTT Message Broker - HiveMQ / Mosquitto]
end
subgraph Central Backend
MQTT -->|Subscribe to Detections| DjangoSub[Django MQTT Listener Service]
DjangoSub --> DjangoORM[Django ORM]
DjangoORM --> MySQL[(MySQL Database)]
DjangoORM --> Web[REST APIs & Web Portal]
end
subgraph Mobile Layer
Web -->|Push Notification| FCM[Firebase Cloud Messaging]
FCM --> App[Android User Mobile App]
end
- Edge Inference Engine (
edge_node/): Lightweight YOLOv8 detector (best.pt) processing frame buffers, triggering localized sound deterrents, and publishing telemetry. - MQTT Telemetry Bus: Event-driven broker decoupling edge cameras from central storage and processing.
- Django Central Backend (
backend/): Main system portal receiving telemetry streams, logging incidents into MySQL, rendering real-time web dashboards, and managing camera nodes. - Android Mobile Application: Integrated with FCM to receive intrusion alerts & officer curfew notices. Enables community users to report animal sightings, submit trekking requests, view high-risk hazard zones, and locate nearest forest stations.
- Edge Launcher GUI (
tools/web_launcher.py): Web interface to run the detection script on a camera feed, video, or image file.
| Domain | Technologies |
|---|---|
| Backend & APIs | Python 3.10+, Django 5.x, Django REST Framework, Flask |
| AI & Computer Vision | Ultralytics YOLOv8, PyTorch, OpenCV (cv2) |
| IoT & Messaging | Paho MQTT, MQTT Broker (HiveMQ / Mosquitto), WebSockets |
| Database | MySQL 8.0+, Django ORM |
| Mobile Integration | Firebase Cloud Messaging (FCM), Android SDK |
| Engineering Quality | Ruff, Bandit, Pip-audit, Automated Launch Scripts |
git clone https://github.com/iamfebin/wildeye-web.git
cd wildeye-web
# Copy environment file blueprint
copy .env.example .env # On Windows
cp .env.example .env # On Linux / macOSEnsure your local MySQL database is running and update DB_NAME, DB_USER, and DB_PASSWORD in .env.
Run the automated startup script to create virtual environments, install dependencies, execute migrations, start the MQTT listener daemon, and launch the web portal:
# Windows
start.bat# Linux / macOS
chmod +x start.sh && ./start.shThe Django portal will be accessible at http://127.0.0.1:8000.
🛠️ Manual Setup Instructions (Click to expand)
# 1. Virtual Environment & Dependencies
python -m venv venv
source venv/bin/activate # venv\Scripts\activate on Windows
pip install -r requirements.txt
# 2. Database Migrations & Web Server
python backend/manage.py migrate
python backend/manage.py runserver 0.0.0.0:8000
# 3. MQTT Subscriber Daemon (in a new terminal)
python backend/manage.py run_mqtt_subscriber- Run Detection Script directly (CLI):
python edge_node/animal_using_video.py --camera-id 1 --camera-source 0
- Detection Web Launcher (GUI):
(Web interface to run detection on a camera feed, video, or image file)
(Access at
python tools/web_launcher.py
http://127.0.0.1:5000) - Simulate Detection Events:
python tools/mqtt_test_publisher.py
wildeye/
├── backend/ # Django Web Portal, ORM models, and MQTT listener service
├── edge_node/ # YOLOv8 Computer Vision engine, audio deterrence, & MQTT client
├── tools/ # Web GUI node launcher & MQTT event publisher simulator
├── docs/ # Architecture diagrams & visual assets
├── start.bat # One-click Windows startup script
├── start.sh # One-click Linux/macOS startup script
├── .env.example # Environment variable template
├── requirements.txt # Core production dependencies
└── LICENSE # MIT Open Source License
- 📡 Multi-Sensor Edge Expansion: Scaling edge nodes with multi-modal sensor arrays (PIR motion detectors, thermal cameras, seismic ground vibration sensors, and micro-radar).
- 🔊 Targeted & Species-Specific Deterrents: Advancing acoustic deterrence with species-tuned ultrasonic frequencies and adaptive sound profiles targeting specific animals.
- 💨 Automated Non-Lethal Countermeasures: Integrating hardware relay actuators for automated deployment of localized non-lethal deterrents (e.g., eco-friendly repellent misters, water cannons, or irritant sprayers) upon positive identification.
Distributed under the MIT License.
Designed & Developed by Febin Babu
- 🐙 GitHub: github.com/iamfebin
- 💼 LinkedIn: linkedin.com/in/iamfebin
