Skip to content
 
 

Repository files navigation

Fire Management Simulator - Scientific Project

Academic project developed as part of the Computer Science & Network Communication Engineering program at CPE Lyon.

Overview

This project consists of a complete urban fire simulation and management system including:

  • Fire Simulator: Creation, tracking, and propagation of geolocated fires on an interactive map
  • Emergency Management: Deployment and coordination of fire trucks to extinguish fires
  • IoT Infrastructure: Data collection via Micro:bit sensors and MQTT communication
  • Network Infrastructure: Fire station and data center connectivity via GNS3

Project Architecture

├── Feu/                    # Web applications for simulation and management
│   ├── Emergency/          # Emergency management interface
│   │   ├── BACKEND/        # PHP API (fire, truck, database management)
│   │   └── FRONTEND/       # Web interface with Leaflet map
│   └── Simulator/          # Fire simulator interface
│       ├── BACKEND/        # PHP API
│       ├── FRONTEND/       # Web interface
│       └── JAVA/           # Java simulation logic
│
├── JAVA/                   # Main simulation engine
│   ├── Simulator.java      # Simulator entry point
│   ├── Fire.java           # Fire model (propagation, intensity)
│   ├── FireTruck.java      # Fire truck model
│   ├── EmergencyManager.java # Emergency manager
│   ├── WebService.java     # REST communication with API
│   └── Coordinate.java     # GPS coordinates handling
│
├── IOT/                    # Internet of Things infrastructure
│   ├── microbit/           # Micro:bit gateway scripts
│   └── Python_Server/      # Serial/MQTT communication servers
│
└── Réseau/                 # Network configuration
    └── Automatisation/     # Jinja2 scripts for router configuration

Technologies Used

Component Technologies
Frontend HTML5, CSS3, JavaScript, Leaflet.js, jQuery
Backend PHP, MySQL
Simulation Java, JSON Simple
IoT Python, Micro:bit, MQTT (Paho), PySerial
Network GNS3, Jinja2, YAML

Features

Fire Simulator

  • Random fire generation on the map
  • Dynamic fire propagation
  • Real-time visualization on Leaflet map

Emergency Management

  • Automatic truck assignment to fires
  • Route calculation with Leaflet Routing Machine
  • Real-time vehicle position tracking
  • Fire extinguishing upon truck arrival

IoT Infrastructure

  • Fire detection via Micro:bit sensors
  • Radio communication between sensors and gateway
  • Data transmission via MQTT and REST API
  • Encrypted communications

Installation

Prerequisites

  • PHP 7.4+ with MySQL
  • Java JDK 11+
  • Python 3.8+ with pip
  • Web server (Apache/Nginx)

Backend Setup

# Import databases
mysql -u root -p < Feu/emergency.sql
mysql -u root -p < Feu/simulateur.sql

# Configure connection in database.php

Running the Java Simulator

cd JAVA
javac -cp .:json-simple-1.1.1.jar *.java
java -cp .:json-simple-1.1.1.jar Simulator

IoT Setup (optional)

cd IOT/Python_Server
pip install paho-mqtt pyserial clint requests
python serveur-read-from-microbit.py

Documentation

  • Architecture-composant-V2.xml: Component architecture diagram
  • flowchart.drawio: Data flow diagram

Learning Objectives

  • Network Infrastructure: GNS3 model with multi-site connectivity
  • IoT Infrastructure: Sensor data collection and transmission
  • Functional Analysis: Class diagrams and database schema
  • Software Quality: SOLID principles compliance

Authors

Project developed by CPE Lyon students - Computer Science & Network Communication Engineering program


Last updated: February 2026

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages