
Step 1.
Set up Amazon IoT Core.
I am going to set up Amazon IoT Core as the central hub to receive telemetry data from the OBD-II device. This allows me to securely connect the car’s telemetry to the cloud over HTTP, MQTT, or WebSockets.
I will configure Amazon IoT Core to capture real-time data from the OBD-II adapter.
AWS IoT Core lets you connect billions of IoT devices and route trillions of messages to AWS services without managing infrastructure. As I blog I will also share what the features are of each product or service used. I only want one connection!
Key features of AWS IoT Core
The AWS IoT Device SDK helps your devices connect, authenticate, and exchange messages with AWS IoT Core using the MQTT, HTTP, or WebSockets protocols.
Device Advisor is a fully managed cloud-based test capability for validating IoT devices during development.
The Device Gateway serves as the entry point for IoT devices connecting to AWS.
The Message Broker is a high throughput Pub/Sub messaging agent that securely transmits messages to and from all of your IoT devices and applications with low latency based on the MQTT Version 5.0 Message Standard.
Constrained Application Protocol (CoAP) is a specialized Internet application layer protocol that is purpose-built for constrained devices like battery-powered IoT sensors.
AWS IoT Core provides mutual authentication and encryption at all points of connection so that data is never exchanged between devices and AWS IoT Core without a proven identity.
The registry establishes an identity for devices and tracks metadata, such as the devices’ attributes and capabilities.
With AWS IoT Core, you can create a persistent, virtual version, or Device Shadow, of each device.
The Rules Engine helps you build IoT applications that gather, process, analyze, and act on data generated by connected devices at a global scale without having to manage any infrastructure.
AWS IoT Core for LoRaWAN helps customers connect wireless devices that use low-power, long-range wide area network (LoRaWAN) technology.
AWS IoT Core Device Location helps you track and manage your IoT devices using their location data, such as latitude and longitude coordinates, without traditional Global Positioning Service (GPS) hardware.

First I went and created a free tier AWS Account
It's a fairly intuitive process and you just go to Amazon IoT Core services once in the console area. Go to ...
Connect one device
The Quick Connect wizard walks you through the steps to create the resources and download the software required to connect your IoT device to AWS IoT.
The first challenge I came across is that you need to have a browseable or terminal connection to the internet from your device. All standard ODB 11 adapters are either Bluetooth and proprietary to an app (e.g. IOS) and all the open-source systems like Carloop are no longer sold, developed or supported. This means I am going to need something to need something to integrate into the cloud. The second challenge and learning I came across was that the TopGuru OBD11 adaptor is too basic. While it is good at clearing fault codes, its feature set is not as rich as OBDLink MX+ (e.g. car's data can be directly downloaded or instantaneously uploaded and shared with others using Dropbox).
OBDLink MX+ Overview
Compatibility: The OBDLink MX+ is compatible with iOS, Android, and Windows, making it highly versatile. It supports multiple third-party apps like Torque, FORScan, and BimmerCode, giving users more flexibility in how they use it. It also provides enhanced diagnostics for certain manufacturers.
Performance: The MX+ offers fast data sampling, which is useful for real-time monitoring. It can handle advanced diagnostics such as ABS, SRS, and TPMS reset. Its intelligent sleep mode helps conserve the car’s battery when not in use, a standout feature in its category.
Usability: Users appreciate its user-friendly app and ability to display real-time sensor data in graph form, making it ideal for detailed diagnostics and vehicle monitoring. Although I don't want to use any of the user-friendly apps and real-time data in graph form. This is what I want SolarWinds to be able to do.
So let's go back to Step 0.
I have 3 options
Try and follow this https://vehicle-hacks.com/2021/10/22/connect-your-car-to-iot-using-raspberry-pi-and-aws
Try and follow this https://freematics.com/pages/products/arduino-telematics-kit-3/
Have a go and build my own Raspberry 5 with 4/5G get the server into the SolarWinds Observability SaaS platform and then figure out how to solve the ODB and AWS cloud integration for the car data..
I have decided looking at all the costs to go with option 3. If I have to follow someone else recipe and get it wrong it will be an expensive mistake. If I take bits of other folks' ingredients I can customise my own recipe and share it.
First up. Raspberry. Which one, what do I need and who do I buy it from?
For a full desktop setup, I will need a MicroSD Card, USB-C 5v 5A power supply, Micro-HDMI cable, monitor and a keyboard/mouse. I will also need an IoT SIM and a fixed public IP address. So will need a dongle that supports 4G.
I decided to purchase the following from Pi Hut.
Raspberry 5. Including a power supply, 32GB micro SD card, micro HDMI to HDMI cable, case and 4MB RAM.
A 4G USB Dongle
A GPS Antenna
Keyboard and Mouse from Amazon due to out-of-stock issues on Pi HUT.
I will use an old iMac as the HDMI monitor.
Total costs from Pi Hut are £191 including VAT. Should arrive in one week.
Next, I need an IoT SIM Card. I took a slight tangent on this one, curious how much data a car typically generates. Holy Moly. Some estimates suggest a connected vehicle produces more than 25 gigabytes of data per hour. Others claim it’s more like 383 gigabytes an hour. While either of these figures is mind-boggling enough, more data will be produced if and when autonomous vehicles become commonplace. Siemens suggests that vehicles at the lower end of the autonomous spectrum will produce about 1.4 terabytes every hour. At higher levels of autonomy, this will be approximately 19 terabytes per hour.
Researchers from ‘*Privacy Not Included’ looked at the data collection policies of the 25 largest car manufacturers, and compiled a list of all the information they can gather. Here’s a sample:
Data about you: Address, date of birth, bank account details, sexual orientation, medical information, genetic data, facial features, sleep data, marital status, employment history, and ancestry.
Data about what you do in your car: Route history, voice recordings, gestures, vehicle speed, driving habit and style, seatbelt use, swerving events, and crash or near-crash information.
Data about the world around your car: Road surface conditions, traffic signs, weather, temperature, and 3-D images around your vehicle.
The amount of data logged by any one particular car will vary between manufacturers. For example, according to auto-data-aggregation company, Otonomo, vehicles made by Stellantis collect 50+ parameters. Mercedes-Benz vehicles collect more than 80 data points
I don't want to be collecting this amount of data, but was still left wondering how much data will I need to prepay for this test.
The amount of telemetry data captured during a standard OBD-II (On-Board Diagnostics) test can vary based on several factors, including the specific parameters being monitored and the duration of the test. Here’s a breakdown of the key variables:
Number of Parameters (PIDs):
OBD-II systems can report various PIDs (Parameter IDs) such as engine RPM, vehicle speed, fuel system status, oxygen sensor data, etc. The more PIDs you monitor, the more data is generated.
Typical OBD-II readers monitor between 10 and 20 PIDs for a basic scan, but advanced diagnostic tools can track many more.
Sampling Rate:
The rate at which data is sampled and logged affects the total data size. A high sampling rate (e.g., multiple readings per second) increases the amount of data captured over time.
Duration of the Test:
Longer tests capture more data. For example, a quick diagnostic scan may last a few minutes, while continuous monitoring for performance or troubleshooting could last hours.
Data Format:
OBD-II telemetry data is typically compact. Each PID readout is a small packet of bytes (often less than 100 bytes per reading). Logging data to a file, the size will grow accordingly based on the number of PIDs and the sampling interval.
For a standard diagnostic test lasting around 5 minutes, monitoring 10 to 20 PIDs at a reasonable sampling rate (1-2 reads per second per PID), the data might amount to Roughly 1-2 MB of data for a basic test. That's more in my wheelhouse.
Now I need to figure out which data SIM is cost-effective with no long-term contract tie-in for this project. I want a 1GB a month contract with a fixed public Ipv4 address. There are a lot of options out there and some ridiculously expensive ones, either folks charging premiums for the address or premiums for the data. New tangent, find the most cost-effective nano SIM with as much data and a fixed IP address for as low a cost as possible.
UPDATE AWS NOT ACCEPTING NEW IoT CORE CUSTOMERS - GOING TO TAKE A DIFFERENT ROUTE.
Comments