|
1 | 1 | # Sample Applications for the AWS IoT Device SDK for JavaScript v2 |
2 | | -## MQTT5 Samples |
3 | | -#### MQTT5 is the recommended MQTT Client. It has many benefits over MQTT311 outlined in the [MQTT5 User Guide](https://github.com/awslabs/aws-crt-nodejs/blob/main/MQTT5-UserGuide.md) |
4 | | -* **Node** |
5 | | - * [Node: MQTT5 Pub/Sub](./node/pub_sub_mqtt5/README.md) |
6 | | - * [Direct MQTT with X509-based mutual TLS](./node/pub_sub_mqtt5/README.md#direct-mqtt-with-x509-based-mutual-tls) |
7 | | - * [MQTT over Websockets with Sigv4 authentication](./node/pub_sub_mqtt5/README.md#mqtt-over-websockets-with-sigv4-authentication) |
8 | | - * [Direct MQTT with Custom Authentication](./node/pub_sub_mqtt5/README.md#direct-mqtt-with-custom-authentication) |
9 | | - * [Direct MQTT with PKCS11](./node/pub_sub_mqtt5/README.md#direct-mqtt-with-pkcs11-method) |
10 | | - * [Direct MQTT with PKCS12](./node/pub_sub_mqtt5/README.md#direct-mqtt-with-pkcs12-method) |
11 | | - * [Node: MQTT5 Pub/Sub with Electron](./node/pub_sub_electron_node/README.md) |
12 | | - * [Node: MQTT5 Shared Subscription](./node/shared_subscription/README.md) |
13 | | -* **Browser** |
14 | | - * [Browser: MQTT5 Pub/Sub](./browser/pub_sub_mqtt5/README.md) |
| 2 | +This directory contains sample applications for [aws-iot-device-sdk-js-v2](../README.md) |
| 3 | + |
| 4 | +## Table of Contents |
| 5 | +### Node |
| 6 | +* [Node Samples](#node-samples) |
| 7 | + * [MQTT5 Client Samples](#mqtt5-client-samples) |
| 8 | + * [Service Client Samples](#service-client-samples) |
| 9 | +* [Instructions](#instructions) |
| 10 | +* [Enable Logging](#enable-logging-in-node-samples) |
| 11 | +* [Installing Via NPM](#installing-via-npm) |
| 12 | + |
| 13 | +### Browser |
| 14 | +* Browser Samples |
| 15 | + * [MQTT5 Sample](./browser/pub_sub_mqtt5/README.md) |
15 | 16 | * [MQTT over Websockets with Sigv4 authentication](./browser/pub_sub_mqtt5/README.md#mqtt-over-websockets-with-sigv4-authentication) |
16 | 17 | * [MQTT over Websockets with Custom Authentication](./browser/pub_sub_mqtt5/README.md#mqtt-over-websockets-with-custom-authentication) |
17 | | - * [Browser: MQTT5 Pub/Sub with React](./browser/react_sample/README.md) |
18 | | - * [Browser: MQTT5 Shared Subscription](./browser/shared_subscription/README.md) |
| 18 | + * [React Sample](./browser/react_sample/README.md) |
19 | 19 |
|
20 | | -### Sample help in Node samples |
| 20 | +## Node Samples |
| 21 | +### MQTT5 Client Samples |
| 22 | +##### MQTT5 is the recommended MQTT Client. Additional infomration and usage instructions can be found in the [MQTT5 User Guide](https://github.com/awslabs/aws-crt-nodejs/blob/main/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. |
| 23 | +| MQTT5 Client Sample | Description | |
| 24 | +|--------|-------------| |
| 25 | +| [X509-based mutual TLS](./node/mqtt/mqtt5_x509/README.md) | Demonstrates connecting to AWS IoT Core using X.509 certificates and private keys. |
| 26 | +| [Websockets with Sigv4 authentication](./node/mqtt/mqtt5_aws_websocket/README.md) | Shows how to authenticate over websockets using AWS Signature Version 4 credentials. | |
| 27 | +| [AWS Signed Custom Authorizer Lambda Function](./node/mqtt/mqtt5_custom_auth_signed/README.md) | Example of connecting with a signed Lambda-backed custom authorizer. |
| 28 | +| [AWS Unsigned Custom Authorizer Lambda Function](./node/mqtt/mqtt5_custom_auth_unsigned/) | Example of connecting with an unsigned Lambda-backed custom authorizer. |
| 29 | +| [PKCS11](./node/mqtt/mqtt5_pkcs11/README.md) | Demonstrates connecting using a hardware security module (HSM) or smartcard with PKCS#11. | |
| 30 | +| [Electron](./node/pub_sub_electron_node/README.md) | Sample using Electron. |
| 31 | +| [Other Connection Methods](https://github.com/awslabs/aws-crt-nodejs/blob/main/MQTT5-UserGuide.md) | More connection methods are available for review in the MQTT5 Userguide |
21 | 32 |
|
22 | | -All NodeJS samples will show their options by passing in `--help`. For example: |
23 | 33 |
|
24 | | -``` sh |
25 | | -# from the node/pub_sub folder |
| 34 | +### Service Client Samples |
| 35 | +##### 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. |
| 36 | +| Service Client Sample | Description | |
| 37 | +|--------|-------------| |
| 38 | +| [Shadow](./node/service_clients/shadow/README.md) | Manage and sync device state using the IoT Device Shadow service. | |
| 39 | +| [Jobs](./node/service_clients/jobs/README.md) | Receive and execute remote operations sent from the Jobs service. | |
| 40 | +| [Basic Fleet Provisioning](./node/service_clients/fleet_provisioning/basic/README.md) | Provision a device using the Fleet Provisioning template. | |
| 41 | +| [CSR Fleet Provisioning](./node/service_clients/fleet_provisioning/csr/README.md) | Demonstrates CSR-based device certificate provisioning. | |
| 42 | + |
| 43 | + |
| 44 | +### Instructions |
| 45 | +Node samples can be installed from the sample directory using the command: |
| 46 | +```sh |
26 | 47 | npm install |
27 | | -node dist/index.js --help |
| 48 | +``` |
| 49 | +And then can be run using the command: |
| 50 | +```sh |
| 51 | +node dist/index.js <arguments> |
28 | 52 | ``` |
29 | 53 |
|
| 54 | +All NodeJS samples will show their options by passing in `--help`. |
| 55 | +``` sh |
| 56 | +node dist/index.js --help |
| 57 | +``` |
30 | 58 | Which will result in output showing all of the options that can be passed in at the command line, along with descriptions of what each does and whether they are optional or not. |
31 | 59 |
|
32 | 60 | ### Enable logging in Node samples |
|
0 commit comments