Files
CAR_GPS_TRACKER/README.md

31 lines
1.8 KiB
Markdown

ESP32-S3 vehicle telemetry and GPS tracker streaming location and vehicle status over Cat-M/NB-IoT cellular networks.
![Waveshare SIM7080G Cat-M / NB-IoT cellular and GNSS modem module](docs/images/hero.png)
**Status: in progress**
### What it does
* Tracks real-time GNSS location and reports vehicle coordinates over Cat-M / NB-IoT cellular data
* Manages power and deep sleep based on car ignition status to preserve vehicle battery
* Processes remote configuration and trigger commands via SMS and HTTP polling
* Supports over-the-air (OTA) firmware updates, geofencing, and ESP-NOW local fallbacks
### Bill of Materials
| Part | Quantity | Purpose |
| :--- | :---: | :--- |
| ESP32-S3 Development Board | 1 | Microcontroller running modular C++ telemetry firmware |
| Waveshare Pico SIM7080G Module | 1 | Cat-M / NB-IoT cellular modem & GNSS positioning engine |
| Hologram SIM Card | 1 | Global IoT cellular data connectivity |
| 12V-to-5V Buck Converter | 1 | Steps down car 12V DC power to 5V DC circuit power |
| LiPo Battery Charge Controller | 1 | Manages backup LiPo battery during vehicle power loss |
### How it works
Firmware isolates hardware control into dedicated C++ modules (`GNSS`, `Modem`, `PowerMgr`). Cellular communication uses AT commands over UART (Serial2, 9600 baud on pins 16/17) with dedicated power control on GPIO 4. Telemetry payloads are packaged into JSON and pushed via HTTP POST to the Laravel backend.
### What broke
* SIM7080G cold-boot PDP context attach required exact pulse timing on the PWR pin (GPIO 4) to ensure modem initialization before issuing `AT+CGNSPWR=1` for GNSS power.
### Links
* Web Dashboard: [CAR_GPS_REACT](https://gitea.lab.audasmedia.com.au/sam/CAR_GPS_REACT)
* Backend API: [Laravel-GPS-API](https://gitea.lab.audasmedia.com.au/sam/Laravel-GPS-API)