TrackWheels is an ESP-based vehicle tracking system designed to monitor and display the real-time location of vehicles. This project consists of two main components: the hardware setup and the software for map visualization.
The hardware component of TrackWheels includes:
- ESP8266 Development Board: A low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability.
- Neo6M GPS Module: A GPS module used to retrieve the geographical coordinates of the vehicle.
The ESP8266 board reads the GPS data from the Neo-6M module and sends the vehicle coordinates to a Supabase cloud database.
The software component is built using ReactJS and is responsible for displaying a map that tracks the real-time location of the vehicle. It collects the coordinates stored in the Supabase database and visualizes them on the map.
- Connect the ESP8266 to the Neo6M GPS Module:
- VCC of Neo6M to 3.3V of ESP8266
- GND of Neo6M to GND of ESP8266
- TX of Neo6M to D1 of ESP8266
- Upload the firmware:
Use the Arduino IDE to write and upload the code to the ESP8266. The code should read the GPS data and send it to the Supabase database.
- Supabase Setup:
- Create a new project in Supabase.
- Set up a table to store the vehicle coordinates (latitude, longitude, timestamp).
- Note down the
supabaseUrl
andsupabaseAPIKey
.
CREATE TABLE GPS ( id SERIAL PRIMARY KEY, LAT FLOAT NOT NULL, LONG FLOAT NOT NULL, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL );
- Clone the repository:
git clone https://github.com/VarunMusham/TrackWheels.git cd TrackWheels
- Install the dependencies:
npm install
- Add Supabase Credentials:
Add your credentials in TrackWheels.ino and Map.js files
- Run the application:
npm start
- Open the application:
Navigate to http://localhost:3000 in your web browser to see the map displaying the real-time location of the vehicle.
- Turn on the hardware setup.
- Ensure the ESP8266 is connected to a Wi-Fi network.
- Start the React application to view the real-time tracking on the map.
- You can extract other values from Neo 6M module. (refer datasheet).
Contributions are welcome! Please fork the repository and create a pull request with your changes.
You can deploy the Map website using services like Vercel, Netlify and many more. Make sure to select correct framework while deploying