Skip to content

Commit 13f1473

Browse files
committed
added IoT Fleetwise snippet tags
1 parent 69632b4 commit 13f1473

File tree

3 files changed

+349
-1
lines changed

3 files changed

+349
-1
lines changed

javav2/example_code/iotfleetwise/src/main/java/com/example/fleetwise/scenario/FleetwiseScenario.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
88
import software.amazon.awssdk.services.iotfleetwise.model.Node;
9-
109
import java.util.List;
1110
import java.util.Scanner;
1211

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Overview
2+
This AWS IoT SiteWise Service basic scenario demonstrates how to interact with the AWS IoT SiteWise service using an AWS SDK. The scenario covers various operations such as creating an Asset Model, creating assets, sending data to assets, and retrieving data.
3+
4+
## Key Operations
5+
6+
1. **Create an AWS SiteWise Asset Model**:
7+
- This step creates an AWS SiteWise Asset Model by invoking the `createAssetModel` method.
8+
9+
2. **Create an AWS IoT SiteWise Asset**:
10+
- This operation creates an AWS SiteWise asset.
11+
12+
3. **Retrieve the property ID values**:
13+
- To send data to an asset, we need to get the property ID values for the model properties. This scenario uses temperature and humidity properties.
14+
15+
4. **Send data to an AWS IoT SiteWise Asset**:
16+
- This operation sends data to an IoT SiteWise Asset.
17+
18+
5. **Retrieve the value of the IoT SiteWise Asset property**:
19+
- This operation gets data from the asset.
20+
21+
**Note** See the Eng spec for a full listing of operations.
22+
23+
## Resources
24+
25+
This Basics scenario requires an IAM role that has permissions to work with the AWS IoT SiteWise service. The scenario creates this resource using a CloudFormation template.
26+
27+
## Implementations
28+
29+
This scenario example will be implemented in the following languages:
30+
31+
- Java
32+
- Python
33+
- JavaScript
34+
35+
## Additional Reading
36+
37+
- [AWS IoT SiteWise Documentation](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)
38+
39+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0
Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
# AWS IoT Fleetwise Service Scenario Specification
2+
3+
## Overview
4+
This SDK Basics scenario demonstrates how to interact with AWS IoT Fleetwise using an AWS SDK.
5+
It demonstrates various tasks such as creating a Fleetwise catelog, creating an fleet,
6+
creating a vehicle, and so on. Finally this scenario demonstrates how
7+
to clean up resources. Its purpose is to demonstrate how to get up and running with
8+
AWS Fleetwise SiteWise and an AWS SDK.
9+
10+
## Resources
11+
This Basics scenario does not require any additional AWS resources.
12+
13+
## Hello AWS Fleetwise SiteWise
14+
This program is intended for users not familiar with the AWS IoT Fleetwise Service to easily get up and running. The program uses a `listSignalCatalogsPaginator` to demonstrate how you can read through catalog information.
15+
16+
## Basics Scenario Program Flow
17+
The AWS IoT Fleetwise Basics scenario executes the following operations.
18+
19+
1. **Create an AWS FleetWise collection**:
20+
- Description: This step creates an AWS Fleetwise collection by invoking the `createSignalCatalog` method.
21+
- Exception Handling: Check to see if a `???` is thrown.
22+
If it is thrown, display the asset model ID and move on.
23+
24+
2. **Create an IoT Fleetwise fleet**:
25+
- Description: This operation creates an AWS Fleetwise fleet.
26+
- The method `listSignalCatalogNodes` is called to retrieve a list of nodes.
27+
- Exception Handling: Check to see if a `???` is thrown.
28+
29+
3. **Create a model manifest**:
30+
- Description: To create a model manifest, the method `listAssetModelProperties` is called. The node list is used to create the model manifest by calling `createModelManifest()`.
31+
- Exception Handling: Check to see if an `???` is thrown. If so, display the message and end the program.
32+
33+
4. **Create a decoder manifest**:
34+
- Description: This operation creates a decoder manifest.
35+
- This step uses the method `createDecoderManifest`.
36+
- Exception Handling: Check to see if a `???` is thrown. If so, display the message and end the program.
37+
38+
5. **Check the status of the model manifest**:
39+
- Description: This operation checks the status of the model manifest.
40+
- This step uses the `updateModelManifest`and `getModelManifest` methods.
41+
- Exception Handling: Check to see if a `???` is thrown. If so, display the message and end the program.
42+
43+
6. **Check the status of the decoder**:
44+
- Description: This operation creates an IoT Thing which is required to create a vehicle.
45+
- This step uses the `createThing` method.
46+
- Exception Handling: Check to see if a `???` is thrown. If so, display the message and end the program.
47+
48+
49+
7. **Create an IoT Thing**:
50+
- Description: This operation describes the portal and returns a URL for the portal.
51+
- The method `describePortal` is called and returns the URL.
52+
- Exception Handling: Check to see if a `ResourceNotFoundException` is thrown. If so, display the message and end the program.
53+
54+
8. **Create a vehicle**:
55+
- Description: This operation creates a vehicle.
56+
- The method `createVehicle` is called.
57+
- Exception Handling: Check to see if an `???` is thrown. If so, display the message and end the program.
58+
59+
9. **Display vehicle details**:
60+
- Description: This operation describes the vehicle.
61+
- The method `getVehicle` is called.
62+
- Exception Handling: Check to see if a `???` is thrown. If so, display the message and end the program.
63+
64+
10. **Delete the AWS IoT SiteWise Assets**:
65+
- The `delete` methods are called to clean up the resources.
66+
- Exception Handling: Check to see if a `???` is thrown. If so, display the message and end the program."
67+
68+
### Program execution
69+
The following shows the output of the AWS IoT Fleetwise Basics scenario in the console.
70+
71+
```
72+
AWS IoT FleetWise is a managed service that simplifies the
73+
process of collecting, organizing, and transmitting vehicle
74+
data to the cloud in near real-time. Designed for automakers
75+
and fleet operators, it allows you to define vehicle models,
76+
specify the exact data you want to collect (such as engine
77+
temperature, speed, or battery status), and send this data to
78+
AWS for analysis. By using intelligent data collection
79+
techniques, IoT FleetWise reduces the volume of data
80+
transmitted by filtering and transforming it at the edge,
81+
helping to minimize bandwidth usage and costs.
82+
83+
At its core, AWS IoT FleetWise helps organizations build
84+
scalable systems for vehicle data management and analytics,
85+
supporting a wide variety of vehicles and sensor configurations.
86+
You can define signal catalogs and decoder manifests that describe
87+
how raw CAN bus signals are translated into readable data, making
88+
the platform highly flexible and extensible. This allows
89+
manufacturers to optimize vehicle performance, improve safety,
90+
and reduce maintenance costs by gaining real-time visibility
91+
into fleet operations.
92+
93+
94+
Enter 'c' followed by <ENTER> to continue:
95+
c
96+
Continuing with the program...
97+
98+
--------------------------------------------------------------------------------
99+
--------------------------------------------------------------------------------
100+
1. Creates a collection of standardized signals that can be reused to create vehicle models
101+
The collection ARN is arn:aws:iotfleetwise:us-east-1:814548047983:signal-catalog/catelogscott1
102+
103+
Enter 'c' followed by <ENTER> to continue:
104+
c
105+
Continuing with the program...
106+
107+
--------------------------------------------------------------------------------
108+
--------------------------------------------------------------------------------
109+
2. Create a fleet that represents a group of vehicles
110+
Creating an IoT FleetWise fleet allows you to efficiently collect,
111+
organize, and transfer vehicle data to the cloud, enabling real-time
112+
insights into vehicle performance and health.
113+
114+
It helps reduce data costs by allowing you to filter and prioritize
115+
only the most relevant vehicle signals, supporting advanced analytics
116+
and predictive maintenance use cases.
117+
118+
119+
Enter 'c' followed by <ENTER> to continue:
120+
c
121+
Continuing with the program...
122+
123+
The fleet Id is fleetscott1
124+
125+
Enter 'c' followed by <ENTER> to continue:
126+
c
127+
Continuing with the program...
128+
129+
--------------------------------------------------------------------------------
130+
--------------------------------------------------------------------------------
131+
3. Create a model manifest
132+
An AWS IoT FleetWise manifest defines the structure and
133+
relationships of vehicle data. The model manifest specifies
134+
which signals to collect and how they relate to vehicle systems,
135+
while the decoder manifest defines how to decode raw vehicle data
136+
into meaningful signals.
137+
138+
139+
Enter 'c' followed by <ENTER> to continue:
140+
c
141+
Continuing with the program...
142+
143+
The manifest ARN is arn:aws:iotfleetwise:us-east-1:814548047983:model-manifest/manifestscott1
144+
145+
Enter 'c' followed by <ENTER> to continue:
146+
c
147+
Continuing with the program...
148+
149+
--------------------------------------------------------------------------------
150+
--------------------------------------------------------------------------------
151+
4. Create a decoder manifest
152+
A decoder manifest in AWS IoT FleetWise defines how raw vehicle
153+
data (such as CAN signals) should be interpreted and decoded
154+
into meaningful signals. It acts as a translation layer
155+
that maps vehicle-specific protocols to standardized data formats
156+
using decoding rules. This is crucial for extracting usable
157+
data from different vehicle models, even when their data
158+
formats vary.
159+
160+
161+
162+
Enter 'c' followed by <ENTER> to continue:
163+
c
164+
Continuing with the program...
165+
166+
The decoder manifest ARN is arn:aws:iotfleetwise:us-east-1:814548047983:decoder-manifest/decManifestscott1
167+
168+
Enter 'c' followed by <ENTER> to continue:
169+
c
170+
Continuing with the program...
171+
172+
--------------------------------------------------------------------------------
173+
5. Check the status of the model
174+
The model manifest must be in an ACTIVE state before it can be used
175+
to create or update a vehicle.
176+
177+
178+
Enter 'c' followed by <ENTER> to continue:
179+
c
180+
Continuing with the program...
181+
182+
⏱️ Elapsed: 5s | Status: ACTIVE ✅
183+
184+
Enter 'c' followed by <ENTER> to continue:
185+
c
186+
Continuing with the program...
187+
188+
--------------------------------------------------------------------------------
189+
6. Check the status of the decoder
190+
The decoder manifest must be in an ACTIVE state before it can be used
191+
to create or update a vehicle.
192+
193+
194+
Enter 'c' followed by <ENTER> to continue:
195+
c
196+
Continuing with the program...
197+
198+
⏱️ Elapsed: 5s | Decoder Status: ACTIVE ✅
199+
200+
Enter 'c' followed by <ENTER> to continue:
201+
c
202+
Continuing with the program...
203+
204+
--------------------------------------------------------------------------------
205+
--------------------------------------------------------------------------------
206+
7. Create an IoT Thing
207+
AWS IoT FleetWise expects an existing AWS IoT Thing with the same
208+
name as the vehicle name you are passing to createVehicle method.
209+
Before calling createVehicle(), you must create an AWS IoT Thing
210+
with the same name using the AWS IoT Core service.
211+
212+
213+
Enter 'c' followed by <ENTER> to continue:
214+
c
215+
Continuing with the program...
216+
217+
✅ IoT Thing created: vechile1
218+
219+
Enter 'c' followed by <ENTER> to continue:
220+
c
221+
Continuing with the program...
222+
223+
--------------------------------------------------------------------------------
224+
--------------------------------------------------------------------------------
225+
8. Create a vehicle
226+
Creating a vehicle in AWS IoT FleetWise allows you to digitally
227+
represent and manage a physical vehicle within the AWS ecosystem.
228+
This enables efficient ingestion, transformation, and transmission
229+
of vehicle telemetry data to the cloud for analysis.
230+
231+
232+
Enter 'c' followed by <ENTER> to continue:
233+
c
234+
Continuing with the program...
235+
236+
✅ Vehicle 'vechile1' created successfully.
237+
238+
Enter 'c' followed by <ENTER> to continue:
239+
c
240+
Continuing with the program...
241+
242+
--------------------------------------------------------------------------------
243+
--------------------------------------------------------------------------------
244+
9. Display vehicle details
245+
246+
Enter 'c' followed by <ENTER> to continue:
247+
c
248+
Continuing with the program...
249+
250+
🚗 Vehicle Details:
251+
• modelManifestArn : arn:aws:iotfleetwise:us-east-1:814548047983:model-manifest/manifestscott1
252+
• vehicleName : vechile1
253+
• creationTime : 2025-04-16T18:10:00.332Z
254+
• lastModificationTime : 2025-04-16T18:10:00.332Z
255+
• decoderManifestArn : arn:aws:iotfleetwise:us-east-1:814548047983:decoder-manifest/decManifestscott1
256+
• attributes : {}
257+
• arn : arn:aws:iotfleetwise:us-east-1:814548047983:vehicle/vechile1
258+
259+
Enter 'c' followed by <ENTER> to continue:
260+
c
261+
Continuing with the program...
262+
263+
--------------------------------------------------------------------------------
264+
--------------------------------------------------------------------------------
265+
10. Delete the AWS IoT Fleetwise Assets
266+
Would you like to delete the IoT Fleetwise Assets? (y/n)
267+
y
268+
✅ vechile1 was successfully deleted
269+
✅ decManifestscott1 was successfully deleted
270+
✅ manifestscott1 was successfully deleted
271+
✅ fleetscott1 was successfully deleted
272+
✅ catelogscott1 was successfully deleted
273+
--------------------------------------------------------------------------------
274+
You have successfully completed the AWS IoT Fleetwise scenario.
275+
--------------------------------------------------------------------------------
276+
277+
278+
279+
```
280+
281+
## SOS Tags
282+
283+
The following table describes the metadata used in this Basics Scenario.
284+
285+
286+
| action | metadata file | metadata key |
287+
|-----------------------|---------------------------|------------------------------------- |
288+
|`createSignalCatalog` |iot_fleetwise_metadata.yaml|iotfleetwise_CreateSignalCatalog |
289+
|`createFleet` |iot_fleetwise_metadata.yaml| iotfleetwise_CreateFleet |
290+
|`createGateway ` |iot_fleetwise_metadata.yaml| iotfleetwise_CreateGateway |
291+
|`createModelManifest` iot_fleetwise_metadata.yaml | iotfleetwise_CreateModelManifest |
292+
|`createDecoderManifest`|iot_fleetwise_metadata.yaml| iotfleetwise_CreateDecoderManifest |
293+
|`updateModelManifest` |iot_fleetwise_metadata.yaml|iotfleetwise_UpdateModelManifest |
294+
| `createPortal` |iot_fleetwise_metadata.yaml|iotfleetwise_CreatePortal |
295+
|`waitForModelManifest` |iot_fleetwise_metadata.yaml|iotfleetwise_WaitForModelManifest |
296+
|`updateDecoderManifest`|iot_fleetwise_metadata.yaml|iotfleetwise_updateDecoder |
297+
| `describeAssetModel` | iot_fleetwise_metadata.yaml|iotfleetwise_DescribeAssetModel |
298+
| `waitForDecoder ` | iot_fleetwise_metadata.yaml|iotfleetwise_WaitForDecoder |
299+
| `createVehicle` | iot_fleetwise_metadata.yaml|iotfleetwise_CreateVehicle |
300+
| `getVehicle` | iot_fleetwise_metadata.yaml|iotfleetwise_GetVehicle |
301+
| `deleteVehicle ` | iot_fleetwise_metadata.yaml|iotfleetwise_DeleteVehicle |
302+
| `deleteVehicle ` | iot_fleetwise_metadata.yaml|iotfleetwise_DeleteVehicle |
303+
| `deleteFleet ` | iot_fleetwise_metadata.yaml|iotfleetwise_DeleteFleet |
304+
| `deleteModel` | iot_fleetwise_metadata.yaml|iotfleetwise_DeleteModel |
305+
| `deleteSignal ` | iot_fleetwise_metadata.yaml|iotfleetwise_DeleteSignal |
306+
| `scenario` | iot_fleetwise_metadata.yaml|iotfleetwise_Scenario |
307+
| `hello` | iot_fleetwise_metadata.yaml|iotfleetwise_Hello |
308+
309+
310+

0 commit comments

Comments
 (0)