Smart School Bus: System Modules
For designing and implementing various modules & sub-modules of the system described in the previous section, we utilized custom-made components as well as different off the shelf hardware & software components. Following subsections give a brief description of the designing and implementation process for each of those modules and sub-modules:
A.Seat Occupation Sensing Module:For implementing this sensing module, we needed a pressure pad device which would provide a signal if a student takes/ leaves the seat. Separating the aluminum foil covered inner sides of two opposing cardboards from each other by placing a thick foam lining along their borders, we constructed a homemade pressure sensitive device which would act as the pressure pad required for this module. The pressure pad is connected to the Arduino via a potentiometer through conventional breadboard and wire connections. When pressure is applied on the outer side of any of the cardboard, their aluminum foil-coated inner sides touch each other at the center and completes the circuit, thus producing the analog signal indicating the presence of a heavy object/ pressure being placed on the pressure pad.
B.Passenger Safety State Sensing Module:This module was implemented by incorporating a reed switch inside a conventional seat-belt. When the seat-belt is unbuckled, the magnetically sensitive reed switch remains open. When the tongue of the seat-belt goes inside the slot, the reed switch becomes closed and completes the circuit . Thus a signal is sent forward to the microcontroller via conventional wire connections indicating that the student has occupied his/ her allotted seat, fastened the seat-belt and is now in a safe state.
C.Microcontroller Module:For performing the functions of a microcontroller necessary for the proposed system, we utilized Arduino Uno microcontrollers. A single Arduino Uno could handle connections from sensing modules of three seats at a time. After receiving analog voltage signals from the sensing modules on each seat, the program running inside the Arduino converted the analog signals to digital signals. We utilized an HC-05 Bluetooth module to connect each Arduino to the central data receiver module device (an Android smartphone with Bluetooth connectivity kept with the driver/ supervisor onboard the vehicle) for sending the data packets containing individual sensing module status (based on the converted digital signal data) wirelessly.
D.Central Data Receiver Module:An Android-based smartphone kept with the supervisor of the vehicle acted as the central data receiver module (or, CDRM in short) of our proposed smart school bus system. All the microcontroller modules of the are connected using Bluetooth to this CDRM device. All of the data packets containing all the sensing modules’ status data from each Arduino onboard the vehicle are sent to this CDRM over the Bluetooth channels established by the HC-05 modules between the microcontrollers and the CDRM.
E.Central Data Processing and Storage Module:This central data processing and storage module (or CDPSM in short) was designed and implemented using the JAVA programming language for running on the Android-based CDRM device kept with the supervisor onboard the vehicle. All the sensor data received over the Bluetooth channel were processed centrally by this module and then combined with GPS coordinates received from the CDRM device’s built-in GPS sensor to produce data in an appropriate format for saving on a remote database (utilizing the ‘Firebase’ platform) and also for deciding further actions to be taken by the following sub-modules:
1)Real-time Seating Data Display Sub-module:Whenever a student activated the pressure pad by just occupying his/her allotted seat, this module marked the seat as ‘occupied’ and displayed it as such on the display screen
2)Parental Alert Sub-module: This sub-module detects the signal whenever a student fastens his/her seat-belt while sitting on the allotted seat, thus activating the reed switch circuit. The program running under this sub-module then sends a SMS to the registered phone number of that particular student’s parent/ guardian providing the safety status and location information indicating that the student has safely occupied his/ her seat on the school bus. A similar process is repeated whenever that student unbuckles his/ her seat-belt and leaves the seat.