Freematics Esprit is an Arduino compatible dev board based on Espressif ESP32, an ARM core SoC with built-in WIFI and BLE. The board has an xBee seat for additional communication module. With a SIM5360 be module plugged in, the board can connect to Internet via cellular network when WIFI is unavailable. This post will demonstrate how to access Internet (HTTP GET) via cellular network with ESP32 and SIM5360.
This article will guide you through the simple steps to set up your own vehicle telemetry system with any computer (e.g. a PC) and some knowledge about Arduino.
A vehicle tracking system allows one or more vehicles to be monitored in real-time from a user terminal (computer or mobile device).
Telemetry Data Server
Freematics Hub is a free light-weight telemetry data server which receives, caches, stores and illustrates data received from telemetry devices. Designed with efficiency and portability in priority, it runs on systems of any footprint, servers, desktops or a SBCs like Raspberry Pi. The computer running the software, however, must have inbound WAN access, in other word, an IP address accessible from Internet. This depends on broadband companies. If you deploy the server software on a virtual private server in the cloud, then this is not an issue. Two ports are used by Freematics Hub, 8080 for HTTP and 8081 for UDP. The ports must be unblocked for access.
Freematics ONE is an Arduino UNO in the form of OBD-II dongle with an xBee socket inside that allows Freematics ONE to get different wireless communication capability by various xBee modules. Today let’s show how a ESP8266 WIFI bee module gives Freematics ONE WIFI connectivity.
To communication with xBee module in the socket, it is recommended to use xBee APIs (function names begin with xb) provided by our library. This test sketch initiates ESP8266, joins a WIFI network (with correct SSID and password set) and communicates with a remote server with HTTP GET. It runs like following. Here is ESP8266 AT command set for a reference.
Update (9 May)
A more comprehensive and well commented Arduino sketch for Freematics ONE with ESP8266 WIFI module is available here.
This new Arduino sketch is designed for testing out OBD-II Adapter (both model A and model B) and benchmarking the data access speed of OBD-II and MEMS sensor. It works with our OBD-II Telematics Kit #2 and #3 as well as an Arduino board stacked with any of the color LCD shields available in our online store. Code committed – http://github.com/stanleyhuangyc/ArduinoOBD
This will be the most comprehensive OBD-II data logger kit and also the biggest in size as it is based on Arduino MEGA2560. Te kit consists of:
This maintenance update mainly fixed the library’s compatiblity issue with Arduino Leonardo and other ATMega32U4 based new boards. The folder structure has also some adjustments. The shield library files which demo sketches use are now placed in their sub-folders respectively. A new demo sketch was added in the release package (source code) which drives a tiny cool OLED module to make a dashboard for the car. The module can be ordered here.
I just updated the OBD-II library for Arduino. The update improves initialization routine and added compatibility with adapters of new revision.
The latest source code has been committed to SF.net subversion repository.