Project Overview
The "Tesla Ultra Pro" is a cutting-edge IoT (Internet of Things) robotics project that fuses traditional embedded systems with modern web technologies and artificial intelligence. Unlike standard remote-controlled cars that rely on simple RF signals, the Tesla Ultra Pro utilizes a sophisticated multi-path communication architecture involving Firebase, Bluetooth, and Mediapipe Computer Vision. This project allows users to control their robot car from anywhere in the world through a secure web dashboard, offering interface options ranging from traditional buttons to gestural and voice commands.
Website to control robot car using HTML, CSS, and javascript.
The robot car is an Arduino-base with lots of sensors, and IoT devices.
The website has three user roles: controller, viewer, and administrator.
The communication map is: the website sends control data to Firebase cloud messaging over the Internet, the server connected to the same Firebase can get that control data, then send that data to the robot car via Bluetooth. In reverse, the robot car can display the status to the user on the website, which makes up the MQTT communication protocol.
Users can have 3 ways to control the car: buttons, voice recognition, and virtual wheel (computer vision) using Mediapipe javascript.
Video Demo:
I am sorry for the low-quality video because my school requires me to send files smaller than 100MB into the assignment submission. And I am lazy to take another video.
Update: More Web Security and Administrator Role. On the admin page, the user can view the car status table, can change the control page password, can force the user to log out of the control page. More secure on the website where the only way to access the control page is to log in with a password.
Github: https://github.com/Quanghihicoder/Tesla-Ultra-Pro
Thanks!
Technical System Architecture
The engineering complexity of this project lies in its distributed system components:
- Communication Pipeline:
- Frontend to Cloud: Input events (voice, hand gestures, or clicks) are processed on a web client and transmitted to Firebase Realtime Database or Cloud Messaging.
- Cloud to Local Host: A local bridge server (running Python or Node.js) monitors the Firebase node.
- Local Host to Hardware: The bridge server communicates wirelessly with the car's HC-05 Bluetooth Module using the serial protocol. This ensures that the car remains mobile while still being accessible over the public internet.
- Computer Vision (Virtual Wheel): Leveraging the Mediapipe framework, the web application tracks the user's hand landmarks in real-time. By calculating the relative angle between the thumb and index finger or the palm's center, the software generates steering PWM values that are sent to the car's H-Bridge motor driver.
- Voice Integration: The system implements the Web Speech API for natural language processing. Commands like "Move Forward" or "Stop" are converted into JSON packets, enabling hands-free navigation.
- Telemetry and MQTT: Real-time sensor data—including distance readings from the HC-SR04 Ultrasonic Sensor—is sent back to the web dashboard. This allows "Viewers" to monitor the car's environment even if they aren't authorized to control it.
Security and Administrative Controls
To prevent unauthorized hijacking of the vehicle, the Tesla Ultra Pro implements Role-Based Access Control (RBAC).
- Administrator Role: Features a high-level management page providing access to telemetry tables, the ability to change the control-gate password, and a "Force Logout" function that terminates active WebSocket or Firebase sessions for other users.
- Encrypted Payloads: Control strings are formatted as structured packets to prevent malformed data from causing motor stalls or erratic behavior. The inclusion of a password-protected control portal ensures that only verified engineers can operate the hardware.