Home Search AA
Number of visits:

M2M Vehicle Tracking



This project is intended for vehicle data storage, analysis, and visualization. M2M system must communicate with the vehicle, collect and parse the data, save it to storage and serve it on various applications. Vehicle data is collected with high frequency (1-100Hz) and there are more than 500 tracked signals. M2M applications are intended to serve two types of users: OEM and vehicle owners.

OEM users are interested to see detailed data of all vehicles for testing, development, tracking and predictive maintenance purposes. It is crucial for the OEM engineers to get needed information from all collected data and to analyze connected values for a single incident (moment in time). It is also essential to have a possibility to compare more vehicles and see some aggregated data for various vehicles across more extended time periods.

Vehicle drivers have little different needs. They want to have real-time data from their vehicle and some summary data to analyze their trips. It is also important to them to control their car, like setting the temperature before driving.


A single application cannot satisfy both needs, so the best solution is to have two, entirely different applications, each for a specific purpose - a web application for OEM engineers and a mobile application for vehicle owners. M2M Vehicle Tracking is a platform for storing, visualizing and analyzing data from the car’s sensor network and managing cars through the Web. See here (Project Vision) for more details.


Problem description

As mentioned in the background our car exports data from more than 500 sensors, but the data is not used anywhere. Collection frequency varies from 1 - 100 Hz for many different types of sensors. Getting information about engine load, vehicle speed, throttle position, GPS location, etc.  A platform for managing that stream of data is required. There are two use cases for two different types of users. The OEM user can benefit from getting all that data visualized in a single Web page in a historic manner where some analytic tools are applicable. The vehicle owner should get access to a mobile application that provides real-time data and summaries of the same values. 


Scope and Features of the project:


1- TCU:

One embedded computer connects to the TCU of the car using obd2 protecol and extract informations like:

• Engine load
• Engine coolant temperature
• Engine RPM
• Vehicle speed
• Throttle position
• GPS lat/lon

Then the embedded part send this information to the server using the MQTT protecol.


2- Server-side vehicle interface (Backend)

• server-side endpoint that will accept connection from the vehicle (TCU) and receive data.
• handle MQTT connection from the vehicle and sending data to the storage component
• receiving commands coming from mobile application and sending


3- Web application for the OEM user

The web application features:
• login (with google account using Oauth2)
• vehicles
• reports visualization
• reports export to csv

OEM Websitehttp://m2m-dev.s3-website.eu-central-1.amazonaws.com/


4- Mobile application for the vehicle owner

The Mobile application features:
• login (with google account using Oauth2)
• vehicle details
• current data
• summary data
• vehicle control

Vehicle owner Apphttp://bit.ly/2EemDMP



Website Homepage:


OEM User Home Page:


Vehicle Add:


Vehicles list:


Vehicle Info:




Mobile Application:


Architecture Overview:




Useful links 


Main Trello boardhttps://trello.com/b/1Seb5pWq

The main product backlog is held in one place. Boards for individual sprints are created by duplicating this board.


Slack workspacem2m-dsd.slack.com

All our communication except meetings is made through Slack.


GitHub repositoryhttps://github.com/dsd-m2m/vehicle-tracking

The current state of the code is all held in the same project but in different folders.


Google Drivehttps://drive.google.com/drive/folders/1XJJX6MR3fgxWRxtzMyaZhE14WqkSg6KX

The current version of all of the documents and minutes are held here.


Figma design filehttps://www.figma.com/file/JMhGoJ00rTO8Jk0ulnfRTcXi/Mobile-screens?node-id=0%3A1

The current design of the mobile app is held on figma. 


API documentationhttp://m2m-dev.eu-central-1.elasticbeanstalk.com/api-docs/#/

This is the current version of the API. Some additional endpoints might be present due to hot code.


OEM Websitehttp://m2m-dev.s3-website.eu-central-1.amazonaws.com/


Vehicle owner Apphttp://bit.ly/2EemDMP


Backend API serverhttp://m2m-dev.eu-central-1.elasticbeanstalk.com/api 

Server to which all calls are made.

Zvonimir Lončarić

Project role(s): Backend Developer

Personal info: My name is Zvonimir, 24 years old student from Karlovac, Croatia. I'm currently enrolled in master's degree programme 'Information and Communication Technology' on FER, Zagreb. I've got bachelor's degree in Sofware Engineering on the same faculty.

Skills and interests: Web & mobile development, IoT, machine learning applications

Hobbies: guitar, literature, concerts, cycling

E-mail: zvonimir.loncaric@fer.hr

Other contacts:
Facebook facebook.com/zvonimir.loncaric.9

Frano Mirković

Project role(s): Web Developer

Personal info: My name is Frano Mirković and i am 23 years old.I was born in Zagreb,Croatia where i still live.Currently i am studying computer engineering on FER.

Skills and interests: Java,C,embedded programming

Hobbies: video games,basketball,football

E-mail: frano.mirkovic@fer.hr

Other contacts:
Facebook username: Frano Mirkovic
Discord username: lex#1393

Juraj Pejnović

Project role(s): Product owner, Mobile Developer

Personal info: Just a casual 23-year-old guy from Sisak, Croatia studying Software Engineering at Faculty of Electrical Engineering and Computing, University of Zagreb.

Skills and interests: C, C++, Java, Javascript, C#, Arduino C, Project Managment, Public speaking

Hobbies: dancing, boxing, audiobooks. Member of BEST (Board of European Students of Technology) so I do a lot of traveling with them all over Europe.




Other contacts:

Skype - pejna1
Facebook - https://www.facebook.com/The.Peggia

Tomislav Skoković

Project role(s): Web and Embedded Developer

Personal info: I'm 24 years old and I come from Zagreb. I got my Bachelor's degree for embedded systems and I'm currently pursuing Master's in computer engineering at FER, Zagreb.

Skills and interests: Embedded software, Cloud Computing (DevOps), Web development

Hobbies: Playing tennis, playing the guitar, really into board games

E-mail: tomislav.skokovic@fer.hr

Other contacts:
Facebook - tomislavskokovic
LinkedIn - skokovic
Twitter - @_skokovic_

Soheil Ghanbari

Project role(s): Web Developer

Personal info: I am from Iran, I am 31 years old, I am studying computer science and engineering, I Was studying software computer in Bachelor

Skills and interests: Asp.net programming, C#

Hobbies: swimming and football

E-mail: soheilghanbari1365@gmail.com

Other contacts: Face book

M. Amin Mahboubi

Project role(s): Backend Developer, DevOps

Personal info: I'm 24 years old, I got my Bachelor degree in software engineering in 2017. I'm currently pursuing my master degree in Computer Science at POLIMI.

Skills and interests: Backend development, Databases

Hobbies: Running, Hiking, Swimming

E-mail: aminmahboobi@gmail.com

Other contacts: Skype: @aminmahboubi

Mehdi Mehdikhani

Project role(s): Embedded Developer, Scrum Master

Personal info: I'm a 24 years old Iranian boy. Currently studying Computer Science and Engineering in POLIMI and recently graduated with a bachelor degree in Computer Software Engineering.

Skills and interests:
Robotics, Embedded Systems

Hobbies: Traveling, Swimming, Hiking, Music, Reading

E-mail: mehdi.mehdikhani@mail.polimi.it

Other contacts:
Facebook: mehdikhani.mehdi
Telegram: @mdikh


Local supervisor

Igor Čavrak (igor.cavrak@fer.hr)

Remote supervisor

Raffaela Mirandola (raffaela.mirandola@polimi.it)


Project customer

Tomislav Lugarić (tomislav.lugaric@rimac-automobili.com)

Project customer

Andrea Knez Karačić (andrea.knez-karacic@rimac-automobili.com)