Skip to content

Commit 38d71d0

Browse files
committed
add back main readme
1 parent bfe878e commit 38d71d0

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

samples/README.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Sample Applications for the AWS IoT Device SDK v2 for Python
2+
This directory contains sample applications for [aws-iot-device-sdk-python-v2](../README.md).
3+
4+
### Table of Contents
5+
* [Samples](#samples)
6+
* [MQTT5 Client Samples](#mqtt5-client-samples)
7+
* [Service Client Samples](#service-client-samples)
8+
* [Greengrass Samples](#greengrass-samples)
9+
* [Instructions](#instructions)
10+
* [Sample Help](#sample-help)
11+
* [Enable Logging](#enable-logging)
12+
13+
14+
## Samples
15+
### MQTT5 Client Samples
16+
##### MQTT5 is the recommended MQTT Client. Additional infomration and usage instructions can be found in the [MQTT5 User Guide](../documents/MQTT5_Userguide.md). The samples below will create an MQTT5 client, connect using the selected method, subscribe to a topic, publish to the topic, and then disconnect.
17+
| MQTT5 Client Sample | Description |
18+
|--------|-------------|
19+
| [X509-based mutual TLS](./mqtt/mqtt5_x509.md) | Demonstrates connecting to AWS IoT Core using X.509 certificates and private keys.
20+
| [Websockets with Sigv4 authentication](./mqtt/mqtt5_aws_websocket.md) | Shows how to authenticate over websockets using AWS Signature Version 4 credentials. |
21+
| [AWS Custom Authorizer Lambda Function](./mqtt/mqtt5_custom_auth.md) | Examples of connecting with a signed and unsigned Lambda-backed custom authorizer.
22+
| [PKCS11](./mqtt/mqtt5_pkcs11_connect.md) | Demonstrates connecting using a hardware security module (HSM) or smartcard with PKCS#11. |
23+
| [Other Connection Methods](../documents/MQTT5_Userguide.md#how-to-create-an-mqtt5-client-based-on-desired-connection-method) | More connection methods are available for review in the MQTT5 Userguide
24+
25+
### Service Client Samples
26+
##### AWS offers a number of IoT related services using MQTT. The samples below demonstrate how to use the service clients provided by the SDK to interact with those services.
27+
| Service Client Sample | Description |
28+
|--------|-------------|
29+
| [Shadow](./service_clients//shadow.md) | Manage and sync device state using the IoT Device Shadow service. |
30+
| [Jobs](./service_clients//jobs.md) | Receive and execute remote operations sent from the Jobs service. |
31+
| [Basic Fleet Provisioning](./service_clients//fleet_provisioning_basic.md) | Provision a device using the Fleet Provisioning template. |
32+
| [CSR Fleet Provisioning](./service_clients//fleet_provisioning_csr.md) | Demonstrates CSR-based device certificate provisioning. |
33+
34+
35+
### Greengrass Samples
36+
##### Samples that interact with [AWS Greengrass](https://aws.amazon.com/greengrass/).
37+
| Greengrass Sample | Description |
38+
|--------|-------------|
39+
| [Greengrass Discovery](./greengrass//basic_discovery.md) | Discover and connect to a local Greengrass core. |
40+
| [Greengrass IPC](./greengrass//ipc_greengrass.md) | Demonstrates Inter-Process Communication (IPC) with Greengrass components. |
41+
42+
### Instructions
43+
44+
First, install `aws-iot-device-sdk-python-v2`. Installation instructions for the SDK are [Provided Here](../README.md#Installation).
45+
46+
Each sample's README contains prerequisites, arguments, and detailed instructions. For example, the [MQTT5 X509 Sample README](./mqtt/mqtt5_x509.md) is `mqtt5_x509.md` and the sample can be run with the following command:
47+
48+
``` sh
49+
# For Windows: replace 'python3' with 'python' and '/' with '\'
50+
python3 mqtt5_x509.py --endpoint <endpoint> --cert <path to certificate> --key <path to private key>
51+
```
52+
53+
### Sample Help
54+
55+
All samples will show their options and arguments by passing in `--help`. For example:
56+
``` sh
57+
# For Windows: replace 'python3' with 'python' and '/' with '\'
58+
python3 mqtt5_x509.py --help
59+
```
60+
61+
will result in the following print output:
62+
```
63+
MQTT5 X509 Sample (mTLS)
64+
65+
options:
66+
-h, --help show this help message and exit
67+
68+
required arguments:
69+
--endpoint IoT endpoint hostname (default: None)
70+
--cert Path to the certificate file to use during mTLS connection establishment (default: None)
71+
--key Path to the private key file to use during mTLS connection establishment (default: None)
72+
73+
optional arguments:
74+
--client_id Client ID (default: mqtt5-sample-5873a450)
75+
--topic Topic (default: test/topic)
76+
--message Message payload (default: Hello from mqtt5 sample)
77+
--count Messages to publish (0 = infinite) (default: 5)
78+
```
79+
80+
The sample will not run without the required arguments and will notify you of missing arguments.
81+
82+
### Enable Logging
83+
84+
Instructions to enable logging are available in the [FAQ](../documents/FAQ.md) under [How do I enable logging](../documents/FAQ.md#how-do-i-enable-logging).

0 commit comments

Comments
 (0)