Running Automotive IoT Data Collection on AWS
Learn how to collect automotive data using AWS services.
- A real vehicle or a vehicle simulator (which can be built using the open source simulator, such as CARLA). To set this up as a requirement, we need a vehicle that produces CAN messages which we use for signal modeling (this usually comes in a form of a DBC file). Additionally, we can monitor other type of sensor data by installing and using the ROS2 middleware.
- The AWS IoT FleetWise Edge Agent software that receives signal and campaign information from the cloud, monitors data received on the CAN bus, and sends collected data to the cloud via AWS IoT Core.
- The AWS IoT FleetWise cloud service, that sends campaigns to the edge agent to dynamically configure what data the edge agent should collect and under which conditions, and ingests data received from the edge agent and stores it in Amazon Timestream and/or Amazon S3.
- An Amazon Managed Grafana dashboard that plots the collected data in near real-time.

- To set up the cloud resources, make sure you have the AWS CLI installed and configured.
- A vehicle knowledge graph (called a Signal Catalog), that contains a mixture of signals and sensors, both from a ROS-based perception stack on the vehicle, and the vehicle’s CAN network.
- Brake Pressure
- Speed
- Traffic Light Sensor
- Object Sensor
- RGB Camera (ROS2)
- Depth Camera (ROS2)

- Create a subset of the Signal Catalog (called the Model Manifest), to model a specific vehicle type or a specific vehicle subsystem. You can use the following AWS CLI command:
- Create the decoder manifest, using the following AWS CLI command:You can use the following decoder JSON configuration as input to the decoder creation call.
- Create a vehicle that represents the previously created Model Manifest. You can use the following AWS CLI command:
- Create a Data Collection Campaign that collects data anytime a hard braking event is detected and is sending it to S3. The Data Collection Scheme for the campaign could look like in the screenshot below:Additionally, you can specify all signals to collect:


ros2/object.json
when spawning the sensors. Additionally since we want to have compressed images we used a small script that republishes compressed images from the original topics:ros2 bag play <bagfile.db3> --loop
command.Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.