amazon-web-services - 将 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"
}
先谢谢了
解决方案
我会考虑一个基于 Python 的 Lambda,它每 5 分钟触发一次,并从远程设备检索数据。
然后 Lambda 可以将数据插入 AWS 时间序列数据库,以进行存储和分析。您也可以将其存储在 S3 中,以便以后在 Athena 中进行查询。
推荐阅读
- c# - 统一继承
- php - OOP/PHP:是否可以为类的每个方法设置默认行为?
- php - 如何在控制台上打印错误?
- c# - 使用 deBoor 算法问题的统一 B 样条
- ios - 如何用可编码的方式编写变压器?
- python - RuntimeError:模型类 users.models.User 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中
- sapui5 - 获取当前重点元素
- swift - Swift WatchOS 错误:控制器的接口描述(“图像”)中的未知属性
- symfony - 配置键“page_range”分页
- c# - 如何使用 C# 驱动程序在 MongoDb 中嵌套在字典(文档数组)中的列表中插入值?