Wireless sensor network project for race control of a motorsport GP
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
.
Discussions
Table of Contents
This project implements a Wireless Sensor Network (WSN) system designed for race control applications in motorsport events, specifically Grand Prix (GP) racing. The system demonstrates how sensor networks can be utilized to monitor critical race conditions, automatic hazard detection and alerting, and data visualization for real-time analysis and decision-making.
The WSN consists of multiple TelosB sensor nodes programmed with TinyOS in NesC programming language, capable of collecting environmental data, monitoring track conditions, and communicating wirelessly to a central PC-based management system. The project includes simulation capabilities for testing and development without requiring physical hardware.
- Implementing a non-invasive system for race track control that can be implemented without any complex infrastructure needed.
- Using Wireless Sensor Networks (WSN) technologies for interconnecting all the different devices, with easy and fast deployment.
- Automatization of hazard detection and alerting systems.
- Implementing Track2Car and Car2Track communication.
- Easy to use centralized GUI for monitoring and control.
- Real-time Environmental Monitoring: Track temperature, humidity, and weather conditions
- Vehicle Tracking: Monitor vehicle positions and lap times through sensor data fusion
- Safety Alert System: Automatic detection of dangerous conditions and emergency situations, with real-time on track alerts and countermeasures deploying
- Data Visualization: PC-based dashboard for real-time monitoring, analysis and manual control
- Simulation Mode: Test the system without physical sensor deployment, or using only a reduced number of nodes
- Academic Focus: Designed as a demonstration project for WSN concepts in motorsport applications
- TinyOS - Embedded operating system for wireless sensor networks
- NesC - Programming language for network embedded systems
- TelosB - Sensor node platform for WSN applications
- ESP32/ESP8266 - Microcontroller modules for vehicle and track units
- BMI160 - 6-axis accelerometer/gyroscope sensor
- I2C - Inter-integrated circuit communication protocol
- Python 3 - Primary language for dashboard and management system
- Tkinter - GUI framework for dashboard interface
- Serial Communication - For sensor node programming and monitoring
- Git - Version control system
- TinyOS Toolchain - Compilation and programming tools
- NesC Compiler - For embedded application development
- Python Serial Libraries - For communication with sensor nodes
- Make - Build system for embedded components
- Wireless Sensor Networks (WSN) - Mesh networking for sensor communication
- Serial Communication - USB programming and monitoring
- I2C Bus - Sensor interface communication
- Custom Python GUI - Real-time dashboard for race control
- Matplotlib - Data visualization and plotting (if used)
- Real-time Monitoring - Live data streams from sensor network
This project serves as an academic demonstration of Wireless Sensor Networks applied to motorsport environments. It includes both physical hardware components (TelosB nodes, ESP32/8266 modules and other MCUs for different purposes) and simulation capabilities for testing and development.
- TelosB sensor nodes (programmed with TinyOS in NesC)
- Environmental sensors (temperature, humidity, light intensity)
- Vehicle position sensors (GPS, accelerometer)
- Hazard detection sensors (accelerometer for crash detection)
- Alert displays (for track and vehicle flag signals)
- Central PC for management system
- TinyOS development environment
- NesC programming language
- Python (for dashboard development)
- Wireless communication protocols (for WSN connectivity)
- Environmental monitoring stations (on track)
- Sector detection points (vehicle position tracking)
- Alert display systems (flag signals, safety car information)
- Central management hub (PC-based dashboard)
- Air parameters
- Air temperature monitoring
- Air humidity monitoring
- Light intensity monitoring
- Track parameters
- Track temperature monitoring
- Track humidity monitoring
- Real-time vehicle positions (rough estimate)
- Lap times
- Sector times calculation
- Total lap times calculation
- Vehicle abnormal stop detection (malfunction detection)
- Vehicle abnormal acceleration detection (crash detection)
- Automatic yellow flag deployment
- Automatic green flag deployment
- Automatic blue flag deployment
- Automatic wet flag deployment
- Automatic penalty system
- Yellow flag infringement detection
- Virtual safety car infringement detection
- False start detection
- Manual yellow flag deployment
- Manual green flag deployment
- Manual red flag deployment
- Manual black flag deployment
- Manual virtual safety car deployment
- Real-time environmental data visualization
- Real-time vehicle data visualization
- Real-time hazard data visualization
- Real-time control data visualization
- Historical data visualization
- Software interface
- Better starting procedure
- Setup menu for editing data
- Editing track
- Editing vehicle
- Better log display
- More colorful
- More information
- Add interaction
- Dismiss events
- Hint for virtual safety car on yellow flag event
- Car information
- Flag information
- Virtual safety car information
- Penalty information
- Time synchronization protocol
- Sector position correction
- Multi-hoop radio networking
- Ack system for radio communication
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow TinyOS coding conventions for NesC components
- Document all functions and modules using general conventions
- Include unit tests for new functionality
- Update simulation parameters when adding new sensor types
- Maintain compatibility with both real hardware and simulation modes
Distributed under the MIT License License. See LICENSE for more information.
S. Scarcelli - xblayz.github@protonmail.com
Project Link: https://github.com/XBlayz/WSN-RaceControl
- Prof. R. Gravina
