carIOTA II—将汽车数据带入Tangle

9 个月前 · 原创文章

carIOTA II是carIOTA项目的改进版本,正如第一版的介绍文章中所解释的那样,carIOTA是IOTA和Tangle分布式帐本技术的一个现实用例,是一款可以连接汽车数据并使用IOTA/Tangle技术进行可视化的应用。实际上,该项目通过汽车的OBD-II端口基于CAN总线协议来检索车辆数据,然后利用IOTA的Masked Authenticated Messaging(MAM)发送和访问加密数据流,MAM可为物联网领域提供安全的通信和可信的数据访问管理。

第一版:


下面是第一版carIOTA的工作流程介绍。

获取OBD CAN数据


使用Arduino Yun通过OBD PID(车载诊断参数IDs)从OBD-II端口获取汽车传感器数据。

用户请求一个特殊的PID来获取车辆的特定数据,并且有标准的PID可以通过车辆的CAN总线检索。


详细信息请访问:https://en.wikipedia.org/wiki/OBD-II_PIDs

Arduino代码将定期请求传感器数据,并从CAN-Bus Shield获得快速响应。

同一代码可用于不同的车辆,以获得发动机/车辆速度和空气/冷却液温度,当然,可以对代码进行扩展来获得更多的传感器数据。

几乎所有汽车的OBD-II端口都可以轻松的访问。

通过MQTT发送传感器数据


由于Arduino Yun暂时还无法向Tangle发送MAM,因此车辆传感器数据可以格式化为JSON消息,然后首先使用MQTT协议发布。

与其它Arduino开发板不同,Arduino Yun板载linux芯片,有Wifi接口和ATmega32U4微控制器芯片。Arduino Yun的Linux芯片对于MAM来说并不是那么强大。

获取MQTT数据并通过MAM发送


之后,使用树莓派来订阅MQTT JSON消息并通过MAM发送到Tangle。可以使用thetangle提供的公共MAM解码器查看数据。


在thetangle提供的MAM解码器中查看数据


使用SensorHub进行可视化


SensorHub可用于获取多个基于MaM的数据流,监控车辆数据并显示在地图上。


通过SensorHub获取数据


第二版:


与第一个版本不同的是,在carIOTA II中没有使用Arduino Yun,也没有将MQTT作为流数据和附加到Tangle的中间系统,而是使用集成了PiCAN GPS Board的树莓派作为硬件。它允许使用Microchip MCP2515 CAN控制器的CAN总线功能和基于MTK3339芯片组模块的GPS功能。作为一个演示版本,只对少量的信号进行了测试,比如发动机/车辆速度和空气/冷却液温度。另外,在这个版本中使用了真实的GPS数据,这可以带来许多采用分布式帐本技术的地理位置用例。



装有PiCAN GPS Board的树莓派


作为一个软件接口,部分的采用了SocketCAN的开源CAN驱动和网络堆栈,大众汽车的研究部门也为这个Linux内核做出了贡献。

目前,在奥地利格拉茨的一个美丽的城市,我们使用奥迪A3和欧宝Astra这两款车型对carIOTA进行了数次道路测试。


carIOTA在途中


通常,carIOTA只是一个连接平台,联网汽车解决方案的一小步。很快,我们将更频繁地谈论x2x系统,如机器到机器(M2M),点对点(P2P),汽车到汽车(C2C),车辆到一切(V2X),企业对企业(B2B),甚至任何东西到Tangle(X2T)...

现在是时候将您的标准汽车变成智能互联汽车了。当前版本的carIOTA提供的功能还很有限,但是未来我们将在以下方面对carIOTA进行改进:


从不同类型的车辆中收集驾驶员行为数据


监测传感器流,互联汽车应用和服务


将车辆数据整合到现有的实际应用中


M2M和大数据分析(ECU<电子控制单元>开发者和其他汽车制造商的商机)


为司机和公司提供双赢的商业模式


监测发动机诊断/服务数据


地理位置和交通流量信息数据

感谢所有为该项目做出贡献的IOTA社区成员

IOTA

重新定义信任、价值和所有权