This shows you the differences between two versions of the page.
iothings:proiecte:2025sric:smartcar [2025/05/29 09:57] andrei.tulpan [Context] |
iothings:proiecte:2025sric:smartcar [2025/05/29 10:12] (current) andrei.tulpan [Prototype] |
||
---|---|---|---|
Line 7: | Line 7: | ||
====== Introduction ====== | ====== Introduction ====== | ||
- | SmartCar is an innovative hardware-software solution designed to bring modern vehicle intelligence to any car, especially the old ones. By plugging a compact, futuristic OBD-II device into the car’s diagnostic port, SmartCar captures real-time data from the vehicle’s CAN network and integrates WIFI connectivity to transmit insights to a secure cloud-based backend. The companion mobile app gives users instant access to detailed insights about their car’s health, fuel consumption, driving habits, trip history, and more-all in an intuitive interface. | + | **SmartCar** is an innovative hardware-software solution designed to bring modern vehicle intelligence to any car, especially the old ones. By plugging a compact, futuristic OBD-II device into the car’s diagnostic port, SmartCar captures real-time data from the vehicle’s CAN network and integrates WIFI connectivity to transmit insights to a secure cloud-based backend. The companion mobile app gives users instant access to detailed insights about their car’s health, fuel consumption, driving habits, trip history, and more-all in an intuitive interface. |
+ | |||
+ | 🔗 **[Frontend Demo]** (https://smartcar.thezion.one) | ||
+ | |||
+ | 💻 **[GitHub Repository]** (https://github.com/andreitulpan/smart-car_esp32) | ||
====== Context ====== | ====== Context ====== | ||
Line 79: | Line 83: | ||
Developed using the **Arduino Framework**, with the following libraries: | Developed using the **Arduino Framework**, with the following libraries: | ||
- | * **[`jandrassy/TelnetStream@^1.3.0`]**(https://github.com/jandrassy/TelnetStream) – Telnet-based debugging and serial stream | + | * **jandrassy/TelnetStream@^1.3.0** – Telnet-based debugging and serial stream |
- | * **[`mobizt/Firebase Arduino Client Library for ESP8266 and ESP32@^4.4.17`]**(https://github.com/mobizt/Firebase-ESP-Client) – Interface for Firebase Realtime Database | + | * **mobizt/Firebase Arduino Client Library for ESP8266 and ESP32@^4.4.17** – Interface for Firebase Realtime Database |
- | * **[`mobizt/FirebaseJson@^3.0.9`]**(https://github.com/mobizt/FirebaseJson) – Lightweight JSON handler for embedded devices | + | * **mobizt/FirebaseJson@^3.0.9** – Lightweight JSON handler for embedded devices |
- | * **[`coryjfowler/mcp_can@^1.5.1`]**(https://github.com/coryjfowler/MCP_CAN_lib) – MCP2515 CAN bus interface library for OBD-II data access | + | * **coryjfowler/mcp_can@^1.5.1** – MCP2515 CAN bus interface library for OBD-II data access |
====== Challenges ====== | ====== Challenges ====== | ||
- | ====== References ====== | + | Integrating all the advanced features into a single ESP32 board pushed the microcontroller to its **operational limits**. When all major systems are active — including **WiFi**, **Firebase communication**, **Bluetooth Low Energy (BLE)**, and **real-time logging** — the ESP32 begins to exhibit **instability**, such as **random exceptions** and **core dumps**. |
+ | These issues are likely caused by **limited RAM and processing capacity**, making resource optimization and careful task scheduling essential for reliable performance. | ||
+ | |||
+ | ====== Prototype ====== | ||
+ | |||
+ | {{:iothings:proiecte:2025sric:smartcar_prototype.jpg?800 |}} | ||
+ | ====== References ====== | ||
+ | * [[https://ocw.cs.pub.ro/courses/iothings/laboratoare/2022/lab4]] | ||
+ | * [[https://ocw.cs.pub.ro/courses/iothings/laboratoare/2022/lab5]] | ||
+ | * [[https://randomnerdtutorials.com/esp32-firebase-realtime-database/]] | ||
+ | * [[https://github.com/coryjfowler/MCP_CAN_lib]] | ||
+ | * [[https://github.com/mobizt/FirebaseJson]] | ||
+ | * [[https://github.com/mobizt/Firebase-ESP-Client]] | ||
+ | * [[https://github.com/jandrassy/TelnetStream]] |