freematics-traccar-encrypted/esp32/telelogger
Cyberes 61075a5e03 option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
..
.vscode add libraries 2024-06-30 18:59:23 -06:00
.gitignore add sort of working esp32 code 2024-06-27 22:35:58 -06:00
Kconfig.projbuild add sort of working esp32 code 2024-06-27 22:35:58 -06:00
README.md add sort of working esp32 code 2024-06-27 22:35:58 -06:00
config.h option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
config.xml add sort of working esp32 code 2024-06-27 22:35:58 -06:00
dataserver.cpp add sort of working esp32 code 2024-06-27 22:35:58 -06:00
platformio.ini add libraries 2024-06-30 18:59:23 -06:00
teleclient.cpp working encryption? 2024-06-30 19:00:22 -06:00
teleclient.h add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telecrypt.cpp working encryption? 2024-06-30 19:00:22 -06:00
telecrypt.h add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telelogger.bin add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telelogger.ino option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
telemesh.cpp add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telemesh.h add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telestore.cpp add sort of working esp32 code 2024-06-27 22:35:58 -06:00
telestore.h add sort of working esp32 code 2024-06-27 22:35:58 -06:00

README.md

This Arduino sketch is developed for Freematics ONE+ to collect vehicle telemetry data from OBD, GPS, motion sensor, to log the data in local storage and to transmit the data to a remote server in real-time. It demonstrates most capabilities of Freematics ONE+ and works well with Traccar GPS tracking platform.

Data Collection

The sketch collects following data.

  • Vehicle OBD data (from OBD port)
  • Battery voltage (from OBD port)
  • Geolocation data (from internal or external GNSS)
  • Accelerometer and gyroscope data (from internal MEMS motion sensor)
  • Cellular or WiFi network signal level
  • Device temperature

Collected data are stored in a circular buffer in ESP32's IRAM or PSRAM. When PSRAM is enabled, hours of data can be buffered in case of temporary network outage and transmitted when network connection resumes.

Data Transmission

Data transmission over UDP and HTTP(s) protocols are implemented for the followings.

  • WiFi (ESP32 built-in)
  • 3G WCDMA (SIM5360)
  • 4G LTE CAT-4 (SIM7600)
  • 4G LTE CAT-M (SIM7070)

UDP mode implements a telemetry client for Freematics Hub and Traccar. HTTP(s) mode implements OsmAnd protocol with additional data sent as POST payload.

Seamless WiFi and cellular network co-working is implemented. When defined WiFi hotspot is available, data is transmitted via WiFi and cellular module is switched off. When no WiFi hotspot can be reached, cellular module is switched on for data transmission until WiFi hotspot available again.

Data Storage

Following types of data storage are supported.

  • MicroSD card storage
  • ESP32 built-in Flash memory storage (SPIFFS)

BLE & App

A BLE SPP server is implemented in FreematicsPlus library. To enable BLE support, change ENABLE_BLE to 1 config.h. This will enable remote control and data monitoring via Freematics Controller App.

Prerequisites