BusyCross IOT
BusyCross IOT
BusyCross IOT
1. Introduction
2. Objective
3. Development Model
4. Analysis Problem
5. Product Design
6. Detailed Methodology
9. Roles
Introduction
Railway crossings are critical points where road traffic intersects with railway
traffic, and accidents at these locations can have severe consequences. In recent
years, many countries have implemented various measures to improve safety at
railway crossings. However, despite these efforts, accidents continue to occur
due to a lack of visibility and awareness of the busyness of railway crossings.
This project aims to address this issue by creating an IoT device that can track
the busyness of railway crossings in real-time. The device uses an IR sensor and
Raspberry Pi to collect data on the number of trains passing through a particular
railway crossing. This data is then transmitted wirelessly to a mobile application
developed using Flutter, allowing users to check the busyness of a railway
crossing before attempting to cross.
Objective
The objective of this project is to create an IoT device that can track the
busyness of railway crossings in real-time using an IR sensor and Raspberry Pi.
The device will be integrated with a mobile application developed using Flutter,
which will provide users with real-time information on the busyness of specific
railway crossings and historical data on the number of trains passing through
over a specified period. The aim is to enhance safety for both drivers and
pedestrians by providing a simple and effective solution for tracking the
busyness of railway crossings.
Development Model
Our project team has chosen to follow an Agile development model to enable us
to deliver a high-quality IoT-based railway crossing safety system in a timely
and efficient manner. The Agile model emphasizes iterative development,
collaboration, and flexibility, which aligns with our project's goals of delivering
a functional system that meets the needs of our stakeholders.
Product Design
The IoT-based railway crossing safety system comprises three main
components: the hardware device, the data processing and storage
infrastructure, and the mobile application.
Hardware device:
The hardware device consists of an IR sensor and a Raspberry Pi board. The IR
sensor is used to detect the presence of trains at the railway crossing, and the
Raspberry Pi board processes the data from the sensor and sends it to the cloud
server using the MQTT protocol. The device is designed to be compact and easy
to install at any railway crossing, with power supplied either through an AC
adapter or a solar panel.
Mobile application:
The mobile application provides users with real-time information on the
busyness of railway crossings. The application is built using the Flutter
framework and is compatible with both Android and iOS devices. The
application features an intuitive user interface that enables users to view the
busyness of railway crossings near their current location or at a specific
location. The application also includes a notification system that alerts users
when the busyness of a railway crossing changes.
Detailed Methodology
The development of the IoT-based railway crossing safety system involved
several key stages, including hardware design, software development, and
integration testing. The following section provides a detailed overview of each
stage.
Hardware Design:
The hardware design phase involved selecting the appropriate components for
the system and assembling them to create a functional prototype. We selected
an IR sensor and a Raspberry Pi board as the core components for the hardware
device. The sensor was connected to the Raspberry Pi board, which was
programmed to process the data from the sensor and transmit it to the cloud
server using the MQTT protocol. We also designed a custom enclosure to house
the hardware device and protect it from environmental factors.
Software Development:
The software development phase involved developing the data processing and
storage infrastructure, as well as the mobile application. We used Python to
develop the code for the cloud server and the MQTT broker, and set up a
database to store the sensor data. For the mobile application, we used Flutter
and integrated it with the cloud server using REST APIs. The mobile
application features an intuitive user interface and includes push notifications to
alert users of changes in railway crossing busyness.
Integration Testing:
The integration testing phase involved testing the hardware device, the data
processing and storage infrastructure, and the mobile application to ensure that
they were all functioning correctly and could communicate with each other. We
tested the hardware device in real-world conditions to ensure that it was able to
detect trains at railway crossings accurately. We also conducted extensive
testing of the cloud server and the mobile application to ensure that they were
able to communicate with each other and that the application was providing
accurate real-time data to users.
Functional Testing:
The functional testing phase involved testing the hardware device, the data
processing and storage infrastructure, and the mobile application to ensure that
they were all functioning correctly and could communicate with each other. We
tested the hardware device in a variety of conditions to ensure that it was able to
accurately detect trains at railway crossings. We also conducted extensive
testing of the cloud server and the mobile application to ensure that they were
able to communicate with each other and that the application was providing
accurate real-time data to users.
User Testing:
The user testing phase involved soliciting feedback from users on the mobile
application's user interface and overall usability. We recruited a group of beta
testers to test the application and provide feedback. Based on their feedback, we
made several refinements to the application's user interface to make it more
intuitive and user-friendly.
Overall, the testing and refinement phase was critical to ensuring that the IoT-
based railway crossing safety system was reliable, accurate, and user-friendly.
The testing and refinement process enabled us to identify and address any issues
with the system and make necessary refinements and optimizations. The result
is a system that is both functional and user-friendly and has the potential to
enhance the safety and efficiency of railway crossings.
Hardware Requirements:
Raspberry Pi board with GPIO pins and internet connectivity
IR sensor to detect train presence
Power supply for Raspberry Pi board and sensors
Software Requirements:
Python programming language for Raspberry Pi board code
Flutter framework for mobile application development
Cloud storage and database for data management
Functional Specifications:
The system should be able to detect the presence of a train at a railway crossing
using the IR sensor.
The system should be able to send real-time data on train presence to the cloud
server.
The mobile application should be able to display the real-time data on train
presence to the user.
The system should be able to detect and report any errors or malfunctions in the
system.
User Requirements:
The mobile application should be easy to install and use.
The mobile application should provide a clear and intuitive interface for users to
view real-time data on train presence.
The mobile application should provide timely alerts to users when a train is
present at a railway crossing.
Security Requirements:
The system should ensure the confidentiality and integrity of user data.
The system should use secure communication protocols to transmit data
between the hardware device, cloud server, and mobile application.
Overall, the requirements and specifications of the IoT-based railway crossing
safety system have been designed to ensure that the system is reliable, accurate,
user-friendly, and secure. The requirements and specifications have guided the
development of the system and will continue to be used to ensure that the
system meets the needs of users and stakeholders.
Roles
Project Manager- Shubham Kumar Chaurasiya
User Experience Designer- Sakshi Tiwari
Hardware and software Engineer- Shivam Sharma
Documentation Specialist- Sonam Singh