Your Car data to IOTA Tangle

Get OBD CAN data:

Arduino Yun is used to fetch a car sensor data from OBD-II port via OBD PIDs (On-Board Diagnostics Parameter IDs).

User request a special PID to get the specific data from the vehicle and there are standard PIDs which can be retrieved by vehicle’s CAN Bus.

Detailed info can be found: https://en.wikipedia.org/wiki/OBD-II_PIDs

Arduino code will request the sensor data periodically and will get quick responses from CAN-Bus Shield.

Same code can be used in different vehicles to get Engine/Vehicle speeds and Air/Coolant temperatures. (Of course, it is possible to extend and get more sensor data)

OBD-II port can be accessed easily almost for each cars.

Send Sensor Data via MQTT:

Since Arduino Yun is not able to send MAM / Masked Authentication Messaging to Tangle (lets say not yet), vehicle sensor data can be formatted as JSON messages and then be published using MQTT protocol firstly.

Unlike any other Arduino boards, Arduino Yun has linux chip on board with Wifi interface and ATmega32U4 microcontroller chip. Arduino Yun’s linux chip is not that strong for MAM.

Get MQTT data and send via MAM:

After that, Raspberry Pi is used to subscribe MQTT JSON messages and to send via MAM to Tangle. It will be possible to view data with Public MAM decoder. (https://thetangle.org/mam)

Use SensorHub for Visualization:

SensorHub can be used to fetch multiple MaM-based streams and monitor vehicle data on the map.

Looking forward to testing on different cars.

Of course there is always room for improvements, Updates coming soon…

Thanks to All who contributed:

Antonio Nardella

https://gitlab.com/antonionardella

rckey SensorHub

https://github.com/rckey/SensorHub/

Christopher Aldave

https://github.com/chrislaive

CAN Bus Shield library & Adafruit MQTT library

https://ecosystem.iota.org/projects/cariota