Предложение по архитектуре для подключения устройства OBD2 к сервису AWS

Пример использования

У меня есть устройство OBD2, которое можно настроить, задав ему IP-адрес и порт для связи. Единственное средство связи с устройством OBD - это SMS. Устройство OBD имеет SIM-карту, через которую он может общаться (прилагаемое изображение документации). Я хочу получить данные с устройства и запустить код Python, который выполнит некоторое преобразование (что-то вроде AWS Lambda) и отправит данные JSON в S3.

У меня вопрос: можно ли использовать здесь какой-либо сервис AWS для получения данных с этого устройства? Мне не разрешено писать какой-либо код в ОС устройства OBD или устанавливать какой-либо SDK.

Документация по устройству OBD2

Данные, полученные через слушателя

      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

Данные после запуска кода Python для преобразования

Код Python - это функция, которая может принимать указанные выше данные, выполнять предварительную обработку и преобразовывать данные в указанное ниже значение JSON для хранения в корзине S3 или любой базе данных.

      {
  "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"
}

Заранее спасибо

1 ответ

Я бы подумал, что Lambda на основе Python будет запускаться каждые 5 минут и извлекать данные с удаленного устройства.

Затем Lambda может вставить данные в базу данных временных рядов AWS для хранения и анализа. Вы также можете сохранить его в S3 для последующих запросов в Athena.

Другие вопросы по тегам