Cabot developing Device Tracking Solution using AWS IoT core

January 22, 2020

A recent challenging project assignment was from a client whose business domain is Automotive. They are having a system that provides pain-free mileage tracking using GPS technology. The system caters a means for individuals and groups of individuals to actively record their vehicular travel. It gives a simple and effective way to track mileage driven for reimbursement purposes using GPS technology and is used by consumers and businesses.

This is accomplished with a device that is carried with the user or an application running on their smartphones. The user plugs the device into his car's power outlet, and it begins tracking when he starts his car. The resulting travel trip information can be used to provide documentation for reimbursement for mileage driven, auditing of client meetings and any other purpose that the user may desire. It uploads data automatically to the Cloud via the Verizon Cat M1 network, and the user can easily access detailed mileage reports through the dashboard application. This dashboard application provides the user with a listing of trips taken and offers a graphical representation of each trip on a geographical map. Trips can be entered manually by providing a start and end address.

The problem with the present system is that the current 3G network i.e. Verizon Cat M1 network becomes obsolete on 12/31/2019. As of January 1, 2020, Verizon will no longer support 3G based devices on their network. The client devices will not be working and hence not able to record travel information. The client approached Cabot with this problem. They need to develop a solution to tackle this issue before December 31, 2019. Cabot had done thorough research on the client's business domain and requirement and then proposed to develop the solution using AWS services ( AWS IoT Core, DynamoDB, Lambda).

The proposed system would be developed based on the principles of the Internet of Things. AWS IoT Core would be the foundation of the system. It would be designed using AWS IoT Core architecture. AWS IoT would manage all incoming connections from devices and relay the information to other AWS modules for trip calculation and storage.

The requirement was to develop new hardware and software to record trip travel and upload it to the system server on AWS. The hardware used was the Micron Prime ATA CATM, which is pre-programmed and communicates on the Verizon CAT M1 network using the AT+ 4G Command set. The device would be kept with the user and would detect motion using an internal accelerometer and send location data to cloud servers over LTE CAT M1. This device would be then connected to the system via TCP/IP. The hardware is pre-configured in-house by the client.

The software would be based on AWS IoT Core design principles. The Micron device would communicate with AWS servers using a modified AT+ command set. These would be converted to MQTT using a custom API and sent to AWS IOT Core. The benefit of using AWS IoT Core is that it provides increased security via their certificate protocol. The system collects, collates and reports GPS tracking information collected from cell phones and proprietary devices. In order to accomplish this task, servers and devices are connected via a set of protocols that shuttle information from the devices into the system.

The Prime ATA CATM would communicate directly to an AWS EC2 instance running a custom python script. The script would intake AT+ messages and convert them to MQTT messages. The custom API would need to communicate with AWS IoT Core. It would also store the AWS IoT certificates for each device in the system. The custom API would then communicate with the IoT Message broker to inject messages to AWS IoT Core.

AWS IoT Core would be used to manage and broker connections for each device. The device message receiver would be programmed to send MQTT messages to the AWS IoT Message broker. The message broker would verify security certificates from the Device Message Receiver for the device. Once a message is received it would trigger one of two AWS Lambda functions. The converter is one of the AWS Lambda functions that would be triggered when a Start or Stop Message is received. AWS DynamoDB table used to temporarily store start/endpoints before they are converted to trips. When a start/stop message is received at AWS IoT, it would trigger the AWS Lambda function to populate a DynamoDB table with temporary location information. When a stop message is received from AWS IoT, it would trigger the AWS Lambda converter function to read the temporary location data from DynamoDB table. The Lambda instance would then interface with Google API and calculate total mileage. This data is then sent to an AWS RDS database for storage. After confirmation of trip storage, the DynamoDB table data would be erased. The database is an AWS RDS database that will house trip data from completed trips. It will contain start/end location data as well as total trip mileage for that trip. It will also contain all appropriate user data as well as permissions for the usage of the data.

In order to view travel information, there would be a dashboard application. This application provides users with a list of trips they have made. The users could view the graphical representation of their trips on the geographical map. Apart from the trips captured by the device, the users should have the provision to manually create trips by entering travel start & endpoints, date & time.

We have used the following technologies for developing the Dashboard application. The frontend layer is built using AngularJS. We have used MySQL as the database. API Layer is developed using Node JS.

Cabot has developed a system for tracking mileage and assets for reimbursement. The developed system consists of hardware & software, and a dashboard application. The system developed was based on the principles of IoT. Being Customer-centric and Domain-Specific experts, Cabot was able to develop a perfect solution for the client. Cabot's team of dedicated engineers worked closely with our client to build a highly scalable application for tracking travel information using a device.

As Pioneers in Software Development, Cabot develops innovative and cutting-edge solutions and delivers quality development bunched with creativity and passion.

Interested in building an application with us? Contact us today!





Our Industry Experience

volunteer_activism

Healthcare

shopping_cart

Ecommerce

attach_money

Fintech

houseboat

Travel and Tourism

fingerprint

Security

directions_car

Automobile

bar_chart

Stocks and Insurance

flatware

Restaurant