Singapore Polytechnic Internship
A website dashboard for monitoring a fleet of autonomous vehicles
During my internship at Singapore Polytechnic, I developed a remote monitoring dashboard for a fleet of autonomous vehicles. The project addressed the limitations of a local Node-RED dashboard, which could only monitor one vehicle at a time, by enabling centralized oversight as the fleet expanded.
I created a full-stack web application consisting of a JavaScript server and a React-based frontend. The system integrated vehicle sensors, GPS data, and IP camera feeds to provide real-time and historical monitoring capabilities.
- Remote monitoring dashboard for multiple autonomous vehicles
- Live GPS tracking using Google Maps Platform
- Real-time sensor readings (speed, humidity, temperature)
- Historical charts for logged sensor data
- MySQL database for data storage and logging
- MQTT-based data pipeline for efficient sensor data transmission
- IP camera video streaming converted to HLS using ffmpeg
- Threshold-based sensor color coding for quick visualization (e.g., green for normal, red for out-of-threshold)
- Backend: JavaScript, ExpressJS, MQTT, MySQL, ffmpeg
- Frontend: ReactJS, MUI, Google Maps Platform, react-chartjs-2
- Hardware Integration: Node-RED for sensor management, IP camera with onboard router
- Transitioning from local to remote monitoring required building a scalable data pipeline.
- Implementing real-time video streaming involved converting IP camera feeds to HLS format.
- Ensuring data integrity through preprocessing, such as duplicate checks, before database storage.
- Designing and implementing MQTT-based data pipelines for IoT applications.
- Integrating multimedia streaming (video) into web dashboards.
- Using polling mechanisms to maintain server-client synchronization for real-time data.
- Applying popular frameworks like React and Express for production-ready applications.
The dashboard successfully enabled remote monitoring of multiple vehicles, with data logged to a MySQL database hosted on Huawei Cloud. It met all requested features, including live feeds and visualizations, and was valued by supervisors for its use of popular, maintainable technologies.
No GitHub repository is available, as I was not permitted to make the code public.