2

Use case

I have a OBD2 device which can be configured by setting it with a IP and Port for communication. The only means of communication to the OBD device is through SMS. The OBD device has a SIM card through which it can communicate (attached image of documentation). I want to get data from the device and run a python code that will do some transformation (something like AWS Lambda) and send the JSON data to S3.

My question is can any AWS Service be used here to get data from this device? I am not allowed to write any code on the OBD device's OS or install any SDK.

OBD2 Device Documentation

OBD2 documentation

Data received through listener

4/7/2019 12:57:12 PM
L,ATLOBD,866795030623415,03,6806,072703,070419,CAN,0101:00076100,0103:0100,0104:48,0105:49,010A:XX,010B:26,010C:16DB,010D:00,010E:81,010F:50,0110:XXXX,0111:34,011C:06,011F:000B,0121:0000,0122:XXXX,012F:XX,0162:XX,0132:XXXX,0133:60,0143:006F,0145:10,0146:XX,0147:24,0148:XX,0149:23,014A:12,014B:XX,014C:19,0151:XX,0131:9172,0144:XXXX,015E:XXXX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0902:XXXXXXXXXXXXXXXXXXXX,$ATLOBD,*N

Data after running python code for transformation

Python code is a function that can take in the above data do preprocessing and transform the data into the below JSON value to be stored in a S3 bucket or any database.

{
  "Live/Memory": "L",
  "Signature": "ATLOBD",
  "IMEI": "866795030623415",
  "Message Type": "03",
  "Sequence No": "6816",
  "Time (GMT)": "073203",
  "Date": "070419",
  "OBD Protocol": "CAN",
  "0101": "00076100",
  "0103": "0200",
  "0104": "69",
  "0105": "7F",
  "010A": "XX",
  "010B": "4D",
  "010C": "1977",
  "010D": "2F",
  "010E": "BC",
  "010F": "54",
  "0110": "XXXX",
  "0111": "2B",
  "011C": "06",
  "011F": "012D",
  "0121": "0000",
  "0122": "XXXX",
  "012F": "XX",
  "0162": "XX",
  "0132": "XXXX",
  "0133": "60",
  "0143": "006E",
  "0145": "13",
  "0146": "XX",
  "0147": "2E",
  "0148": "XX",
  "0149": "2F",
  "014A": "17",
  "014B": "XX",
  "014C": "1F",
  "0151": "XX",
  "0131": "9174",
  "0144": "XXXX",
  "015E": "XXXX",
  "0902": "XXXXXXXXXXXXXXXXXXXX"
}

Thanks in advance :D

Aneesh Prabu
  • 165
  • 1
  • 8

1 Answers1

1

I would consider a Python based Lambda that would fire off every 5 minutes, and retrieve the data from the remote device.

The Lambda could then insert the data into AWS Time Series Database, for storage and analysis. You could also store it in S3 for later queries in Athena.

Rodrigo Murillo
  • 13,080
  • 2
  • 29
  • 50