obd ii gps tracker can detect vehicle quickly


Project's profile:

Duto company is of of the biggest automobile company around the world, C auto is a design, research and development, production, assembly, sales in one of the international companies.


Project s background:

Vehicle operation monitoring system has long been the focus of intelligent traffic development areas. Through the wireless communication network, the monitoring and management of the operating parameters of electric vehicles, is the current level of technology to improve the safety of electric vehicles a practical way, and the car network is the best available resources. At the international level, the United States IVHS, Japan's VICS and other systems through the vehicle and the road between the establishment of effective information communication, has realized the intelligent traffic management and information services.


Technical requirement:

Vehicles IoT protocol compliance and 100% security are two most important things.  As a pre-loaded project, device stable enough, firmware safe enough, communication with server safe enough,.


Final solution provide by Thinkrace:

Base one the requirement from C auto company, Final solution provide by Thinkrace summary as below:

1, OBD II tracker recommend VT200B

The VT200 OBD 2 support real time time car status, mileage, fuel consumption, trip report, engine error code, car DTS, driving behavior,RPM, speed, air intake pressure, water temperature, intake air temperature, air flow, etc.

2, Use IoT protocol MQTT as new communication protocol

MQTT (Message Queuing Telemetry Transport) is an instant messaging protocol developed by IBM that may become an important part of the Internet of Things. The protocol supports all platforms, which can connect almost all of the networking items to the outside and are used as a communication protocol for sensors and actuators (such as networking via Twitter).

3, TLS security method

Secure Transport Layer Protocol (TLS) is used to provide confidentiality and data integrity between two communication applications. The protocol consists of two layers: TLS Record and TLS Handshake. The lower layer is a TLS record protocol, located on a reliable transport protocol (eg TCP), regardless of the specific application. Therefore, the TLS protocol is generally classified as a transport layer security protocol.

4, Use AWS IoT SDKs.

Extend reading: MQTT, next generation protocol for IoT

MQTT is an IBM-developed Internet of Things protocol that is designed for lightweight publish / subscribe messaging and is designed to provide reliable network services for Internet-connected devices in low-bandwidth and unstable network environments The Its core design idea is open source, reliable, lightweight, simple, with the following main features:

1.Very small communication overhead (minimum message size is 2 bytes);

2.Support for a variety of popular programming languages (including C, Java, Ruby, Python, etc.) and easy to use the client;

3.Support the release / reservation model, simplify the development of the application;

4.Provide three different messaging levels, so that the message can reach the destination on demand, to adapt to the work of unstable network transmission needs.

Low protocol overhead

The unique feature of MQTT is that it can be as short as 2 bytes per message. Both MQ and HTTP have a much higher cost per message. For HTTP, reestablishing an HTTP connection for each new request message can cause significant overhead. The permanent connection used by MQ and MQTT significantly reduces this overhead.

Tolerance on unstable networks

MQTT and MQ can recover from disruptions and other failures, and there is no further code requirements. However, HTTP can not achieve this purpose in its native form, requiring the client to retry the code, which may increase the idempotency problem.

Low power consumption

MQTT is designed specifically for low power consumption targets. HTTP design does not take into account this factor, thus increasing power consumption.

Millions of connected clients

On the HTTP stack, maintaining millions of concurrent connections requires much work to support. Although this support can be achieved, most commercial products are optimized to handle this order of magnitude of permanent connections. IBM provides IBM MessageSight, a single-rack load server that has been tested to handle up to 1 million devices connected via MQTT concurrently. In contrast, MQ is not designed for a large number of concurrent clients.

Push notifications

You need to be able to deliver the notification to the customer in a timely manner. To do this, you must use some kind of periodic polling or push method; from the battery, system load and bandwidth point of view, push is the best solution.

Our business may need to send sensitive information without third party mediation. This reduces the value of operating system-specific solutions (such as Apple iOS, Google Play notifications) as the primary transport mechanism.

HTTP only allows the use of a method called COMET, the use of persistent HTTP request to implement the push. From the perspective of the client and the server, this method is very expensive. Both MQ and MQTT support push, which is a basic feature of them.

Client platform differences

Both HTTP and MQTT clients are implemented on a number of platforms. The simplicity of MQTT helps to implement MQTT on additional clients with minimal effort.

Firewall is fault tolerant

Some enterprise firewalls limit outbound connections to some defined ports. These ports are usually limited to HTTP (port 80), HTTPS (port 443), and so on. HTTP can obviously run in these situations. MQTT can be encapsulated in a WebSockets connection and displayed as an HTTP upgrade request, allowing it to run in these cases. MQ does not allow this mode.

In fact, MQTT application is very wide, almost now casually find a large hardware, Internet companies, can find MQTT figure, such as Facebook, BP, alibaba, baidu, etc.