Sidewalk: The IoT network from Amazon
08.05.2024
Elektronik | Funk | Software
Der Technik-Blog
Sidewalk is a wireless protocol for IoT devices developed by Amazon. This article discusses the setup of the CC1352P7 LaunchPad (Development Board) with Amazon Sidewalk.
Note: Sidewalk is currently available only in the United States. Those outside the United States who wish to test Sidewalk will need an OpenVPN tunnel with a U.S. IP address. The Amazon Echo or other Sidewalk bridges must also be routed through the VPN tunnel and linked to a U.S. Amazon account.
Attention: Operating Sidewalk with FSK in the 915 MHz range is prohibited in Europe! Alternatively, Sidewalk can be operated using Bluetooth technology only. It is essential to comply with the applicable telecommunications laws for operating radio equipment in each respective country!
Python 3.6 oder neuer
Code Composer Studio (CCSTUDIO IDE), Testet with version: 13.3.0
SIMPLELINK-LOWPOWER-F2-SDK (Sidewalk SDK), Testet with version: 7.40.00.77
Operating System FreeRTOS, Testet with version: 202212.01
ARM GNU Compiler, Testet with version: 13.2.Rel1
Active Amazon Web Services (AWS) Account
Python is not actually required for the TI LaunchPad. After compiling, the Sidewalk example automatically creates a webpage in AWS for testing initial bidirectional connections between the LaunchPad and AWS over the bridges. These are Python scripts that require Python installation after compilation.
Texas Instruments Code Composer Studio serves as the development environment for the TI LaunchPad. This software is used to write and compile programs for the microcontroller. A Sidewalk example provided by TI also includes a web application that automatically deploys to AWS. CCS is installed via a Windows installer. During installation, the checkbox "SimpleLink CC13xx, ..." for the LaunchPad have to be selected:
After successfully installing CCS, the SIMPLELINK-LOWPOWER-F2-SDK can be installed.
The Sidewalk SDK for the CC1352P7 LaunchPad is included in the SIMPLELINK-LOWPOWER-F2-SDK package. The SDK installation is also done via the Windows Installer:
To open the Sidewalk example in CCS, some preparations need to be done beforehand. FreeRTOS is used as the operating system for the microcontroller. FreeRTOS is downloaded as a ZIP archive from the website and extracted into the CCS installation directory according to the following path:
C:\ti\FreeRTOSv20XXXX.XX
Subsequently, the installation path of FreeRTOS must be specified in CCS. CCS is opened, and under the tab "Window"->"Preferences," the options menu is accessed. Under the tab "Code Composer Studio"->"Build"->"Variables," a new variable is created with the following data:
Variable Name: FREERTOS_INSTALL_DIR
Type: Path
Value: C:\tiF\reeRTOSv20XXXX.XX (Path to the extracted ZIP archive)
Finally, the ARM GNU Compiler must be added. After downloading from the manufacturers website, the ZIP archive is also extracted into the CCS installation directory according to the following path: C:\ti\ccsXX\ccs\tools\compiler\
The path to the compiler must also be specified in CCS. In the "Preferences" window, under the tab "Code Composer Studio"->"Build"->"Compilers", there is an option to add additional compilers. Here, the path to the compiler must be specified:
The Sidewalk SDK comes with a code example that configures not only the LaunchPad but also sets up a complete Sidewalk project with AWS. The project is imported into CCS and is located in the following directory C:\ti\simplelink_cc13xx_cc26xx_sdk_7_XX_XX_XX\examples\rtos\LP_CC1352P7_1\ti_sidewalk
If the project was successfully imported into CCS, the aws_credentials.yaml file should automatically open. AWS keys are inserted here:
The keys for the device are created in the AWS Console in the IAM (Identity and Access Management) module. To do this, a new user is created under the "Access Management"->"Users" tab:
Then, role assignment follows. For straightforward setup, the "AdministratorAccess" role should be assigned to the user:
If the AdministratorAccess policy is not desired or too high, it can alternatively be limited to the following policies: IoT Core, DynamoDB, S3, CloudFront After creating the new user, the access keys can be generated:
As the case, "Other" is specified:
The keys are then displayed and can be downloaded as a CSV file:
It is recommended to download the CSV file, as later viewing is not possible.
After inserting the keys into "aws_credentials.yaml," this file can be closed. Then, the "sid_demo.syscfg" file is opened. Under the "TI-Sidewalk" tab, it is selected how the TI LaunchPad connects with Sidewalk. Outside of the USA, a connection should be made only via BLE! The following settings are to be selected here:
Further settings need to be defined below, which relate to operation with AWS and the web app:
With the specified credentials, one can then log in to the web app. The AWS profile setting is "default," and the currently functional region is "us-east-1." Once all required data is entered, the project can be compiled:
The compilation process typically takes a few minutes. First, the actual program for the LaunchPad is compiled, and then the device and dashboard setup with AWS begins automatically. Once everything is ready, a web browser should open with the login page for the Sidewalk Demo project.
The firmware for the LaunchPad still needs to be flashed onto the controller. In CCS, under the "Run"->"Load" tab, there is an option called "Build Project Before Load," which must not be activated. Then, click on the top tab "Select Program To Load":
A window opens where you select the previously compiled project from the Debug folder:
Clicking OK starts the upload process. You may need to perform a firmware update beforehand, which is simply done at that point:
The upload process typically takes only a few seconds:
The LaunchPad performs a reset after the upload and starts to establish the connection. A few minutes later, the LaunchPad should communicate with the AWS web app via Sidewalk:
Every day hundreds of meteorological radiosondes fall from the sky. In this article we convert a radiosonde into a GPS tracker for APRS, RTTY & CW
read moreWith newer versions of TTGO & LILYGO LoRaWAN GPS boards there are problems with the serial processing of GPS data. The reason is the deactivation of NMEA
read moreAEQ-WEB © 2015-2024 All Right Reserved