- Instructions
- Introduction
- Project Overview
- Unmanned Ground Vehicle
- Web Interface
- Block Diagram
- System Architecture
- Conclusion
-
Install YOLOv5 on your device:
# Example command for installation pip install yolov5
-
Clone this repository and place it in the YOLOv5 folder:
# Example commands for cloning the repository git clone https://github.com/your-username/WiFi-Controlled-Unmanned-Ground-Vehicle-with-Real-Time-Fire-Detection.git mv WiFi-Controlled-Unmanned-Ground-Vehicle-with-Real-Time-Fire-Detection yolov5/ cd yolov5
-
To run the Flask Application, navigate to the project directory and execute:
cd Codes python main.py
-
Additionally, on the Raspberry Pi, execute the following files in separate terminals:
-
To run AWS BME280 integration:
python aws_bme280.py
-
To run the AWS IoT Remote Control:
python remote_control_aws.py
-
To stream live video feed over the internet using Remote.it:
python webstream_cv.py
-
-
Ensure that Remote.it is properly configured for live video streaming.
-
Setup the IoT Architecture in AWS:
- The user needs to set up the IoT architecture in AWS by following the provided documentation.
Ensure that you have YOLOv5 installed and the required dependencies for the Flask application. Additionally, make sure the necessary configurations are done for AWS IoT and Remote.it on the Raspberry Pi.
The remotely operated unmanned ground vehicle is a complex system that combines hardware and software to enable remote control and monitoring. It utilizes a Raspberry Pi as its core controller and leverages AWS cloud services for data transmission and processing. The project integrates sensors for environmental data collection, real-time video streaming for visual feedback, and machine learning for fire detection. Additionally, it provides multiple control interfaces, including on-screen, keyboard, and voice commands.
The project aims to create a versatile remotely operated unmanned ground vehicle system that integrates various technologies such as IoT, machine learning, and real-time data transmission. This system is designed to be highly adaptable and capable of performing tasks such as remote surveillance, environmental monitoring, and rapid response to critical events. It brings together a diverse set of components and software tools to achieve its objectives.
- Raspberry Pi 4: The central controller of the robotic car.
- Logitech C270 Webcam: Captures live video feed.
- 4WD Four Wheel Drive Kit: The chassis for the robotic car.
- Dual Shaft 200 RPM BO Gear Motor: Drives the wheels.
- L298N Motor Driver Board: Controls motor operations.
- BME280 Sensor Module: Monitors environmental data.
- 10000mAh 18W Power Bank: Powers the system.
- 9V Alkaline Battery: Backup power source.
- Raspberry Pi Imager: Used for OS installation.
- PuTTy: Establishes remote connections.
- VNC Viewer: Provides a graphical interface.
- Installation of Raspbian OS.
- OS upgrade and update.
- Installation of required Python packages.
- Integration of Python libraries and Remote.It for remote access.
- Chassis assembly and component integration.
- Wiring connections and component mounting.
- Establishment of GPIO Pin connections.
- Utilization of Thonny Python Editor IDE for Python code development and testing.
- Development of code for live video feed streaming.
- Creation of an HTTP Server on the Raspberry Pi.
- Secure transmission of live video feed via Remote.It.
- Integration of BME280 sensor with Raspberry Pi.
- I2C address identification for the sensor.
- Development of code for sensor data acquisition.
- Setup of a local WiFi access point and connection to AWS IoT Core using MQTT.
- Registration of Raspberry Pi as a single "Thing."
- Generation of device and root CA certificates for MQTT authentication.
- Integration of Paho MQTT library.
- Development of code for publishing sensor data to AWS IoT Core.
- Secure, lightweight, and reliable data transmission over MQTT.
- Utilization of JavaScript, jQuery, Node.js, HTML, and CSS.
- WebSocket API integration for real-time data reception.
- Browserify for cross-browser compatibility.
- Flask application framework for backend.
- Integration of a machine learning model for fire detection using Torch.
- On-screen, keyboard, and voice controls for the robotic car.
- Loading of a fire detection Convolutional Neural Networks (CNN) model based on YOLOv5.
In conclusion, this project has successfully achieved its objectives by integrating various technologies to create a highly versatile robotic car system. The project's uniqueness lies in its ability to seamlessly combine elements of IoT, machine learning, and real-time data transmission to build a system that is not only novel but also holds great promise for practical applications.
One of the project's key innovations is the use of MQTT as the primary communication protocol for transmitting sensor data and remote control commands. This choice, over traditional HTTP or other application layer protocols, offers several advantages. MQTT's lightweight nature results in minimal overhead and efficient data transmission, making it well-suited for resource-constrained devices like the Raspberry Pi. The low latency and bidirectional communication capabilities of MQTT ensure real-time interaction between the user and the robotic car, enhancing the user experience.
Furthermore, the incorporation of real-time fire detection using YoloV5 and the live video feed adds a unique dimension to the project. This feature not only makes the robotic car suitable for remote surveillance and safety applications but also showcases its potential for deployment in scenarios where rapid response to critical events is required.
In summary, this project not only delivers a highly functional robotic car system but also serves as a testament to innovation at the intersection of IoT, robotics, and machine learning. Its emphasis on efficient data transmission through MQTT, coupled with its successful integration of diverse technologies, positions it as a pioneering solution with broad applicability.