Sidewalk endpoint devices can be provisioned and registered using either of two flows, the prototyping flow or the manufacturing flow. The prototyping flow is used to create a Sidewalk prototype device, and is primarily used for experimental and testing purposes. The mass production flow, also known as the manufacturing flow, uses a number of factory tools and is designed for manufacturing in large volumes. For more information, see Sidewalk device provisioning flows. The prototyping flow is explained in this section, while the manufacturing flow is described in Manufacturing flow.
This section walks through the steps that are part of the prototyping flow for onboarding your Sidewalk devices. In this flow, you provision devices one at a time, which will help you learn more about the flow and prototyping your application.
This section focuses on how to connect your device and programmatically run the application on your hardware development kit. You’ll use Python and Python-pip3 to run the scripts that provision the Sidewalk endpoint and connect to the hardware board. After you’ve added your Sidewalk credentials using AWS IoT Core for Amazon Sidewalk, you can provision your Sidewalk endpoints and connect your device. To see messages that are exchanged between your device and the cloud, you register the endpoint and connect your Sidewalk device to the AWS Cloud.
The following steps provide information about the prototyping flow and how to provision and register your Sidewalk endpoint.
- Step 1: Add your device to AWS IoT Core for Amazon Sidewalk
- Step 2: Provision Sidewalk endpoint and flash the binary image
- Step 3: Register and test Sidewalk endpoint
To add your Sidewalk device and destination, and to provision and register your device, perform the following steps. For more information about setting up your account and AWS CLI, see Setting up your account and AWS CLI in the AWS IoT Core Developer Guide.
- Set up an AWS account.
- Install and configure the AWS CLI to programmatically onboard your devices.
Use a native Ubuntu machine running version 18.04 or higher, or a Windows or Mac machine. You’ll use common Linux commands and software packages, and you’ll need Python3 and pip to run the Sidewalk tools.
(Optional) If you want to register your device manually, you’ll also need a Bluetooth wireless interface on your Ubuntu machine or a USB bluetooth adapter.
Using a virtual machine is not recommended as there are known compatibility issues.
- Use a hardware development kit (HDK) from a third-party vendor, which can be Nordic Semiconductor, Texas Instruments, or Silicon Laboratories.
Before you can provision your device as a Sidewalk endpoint, you must obtain the device JSON data that’s used by the provisioning script. You obtain this information when adding your device to AWS IoT Core for Amazon Sidewalk. The device JSON contains the following information:
- The device certificates and private keys
- The application server public key
- The Sidewalk manufacturing serial number (SMSN), which is a unique serial number for each Sidewalk device.
DeviceTypeID, which is a unique ID to identify the profile that a Sidewalk device is associated with.
For more information, see Add your device to AWS IoT Core for Amazon Sidewalk in the AWS IoT Core Developer Guide.