carIOTA – Your Car data to IOTA Tangle
The full article was originally published by IOTA at Tangle on Medium. Read the full article here.
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)