From fa1c34da41dd2742dcbd0df52d0f5b79ed313442 Mon Sep 17 00:00:00 2001 From: Anna Wojdylo Date: Mon, 10 Jun 2024 19:21:36 +0200 Subject: [PATCH] doc: doc adjustments for v2.7.0 release adjusted the documentation for 2.7.0 ncs release Signed-off-by: Anna Wojdylo --- doc/conf.py | 2 +- doc/includes/include_testing_nordic_dfu.txt | 51 ++- .../include_user_interface_common.txt | 13 - doc/includes/memory_requirement.txt | 18 +- doc/index.rst | 3 +- doc/links.rst | 82 ++++ doc/ncs_links.rst | 74 ---- doc/releases_and_migration.rst | 24 ++ .../migration_guide_v260.rst} | 12 +- .../release_notes_v250.rst | 23 ++ .../release_notes_v260.rst | 17 + .../release_notes_v2699cs1.rst} | 19 +- .../release_notes_v270.rst | 17 + doc/samples/samples_list.rst | 2 +- doc/samples/sid_end_device.rst | 4 +- doc/samples/variants/hello.rst | 383 +++++++++++++----- doc/samples/variants/sensor_monitoring.rst | 48 ++- .../setting_up_hardware.rst | 2 +- .../setting_up_sdk.rst | 102 +---- .../setting_up_sidewalk_product.rst | 104 +++-- 20 files changed, 606 insertions(+), 394 deletions(-) delete mode 100644 doc/includes/include_user_interface_common.txt create mode 100644 doc/links.rst delete mode 100644 doc/ncs_links.rst create mode 100644 doc/releases_and_migration.rst rename doc/{migration_guide.rst => releases_and_migration/migration_guide_v260.rst} (98%) create mode 100644 doc/releases_and_migration/release_notes_v250.rst create mode 100644 doc/releases_and_migration/release_notes_v260.rst rename doc/{sidewalk_release_notes.rst => releases_and_migration/release_notes_v2699cs1.rst} (50%) create mode 100644 doc/releases_and_migration/release_notes_v270.rst diff --git a/doc/conf.py b/doc/conf.py index 1abb5058a5..b7e59e8ef3 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -60,5 +60,5 @@ plantuml = 'java -jar /usr/local/bin/plantuml.jar' rst_epilog = """ -.. include:: /ncs_links.rst +.. include:: /links.rst """ diff --git a/doc/includes/include_testing_nordic_dfu.txt b/doc/includes/include_testing_nordic_dfu.txt index 0342c0dca6..7d19743ea8 100644 --- a/doc/includes/include_testing_nordic_dfu.txt +++ b/doc/includes/include_testing_nordic_dfu.txt @@ -1,21 +1,40 @@ -Testing Device Firmware Update (DFU) ------------------------------------- +Testing Device Firmware Update +------------------------------ -#. To enter the DFU mode, long press **Button 1** on your development kit. - This action sets the device in the DFU mode, in which only the `Zephyr SMP Server`_ is running and Sidewalk is not operational. - When the application is in the DFU mode, all LEDs flash every 500 ms to signal that the application is waiting for a new image. +Complete the following steps to test the Device Firmware Update (DFU) on your device: -#. To perform a firmware update, follow the Bluetooth testing steps from the `DevZone DFU guide`_. - When the update starts, the LEDs change the pattern to indicate upload in progress. +.. tabs:: -#. To exit the DFU mode, long press **Button 1** again when device is in DFU mode. - The device will set the device in the Sidewalk mode. - If the update completes successfully, the device will start a new image. - After using the DFU mode, the first bootup might take up to 60 seconds. - During the image swap the application is silent, meaning that LEDs are not blinking and the console does not output any logs. - The application, however, is running, so do not reset the device. - In case the update fails, the old image is started instead. + .. group-tab:: nRF52 and nRF53 DKs -.. include:: ../../ncs_links.rst + #. Enter the DFU mode by long pressing **Button 1** on your development kit. + This action sets the device in the DFU mode, in which only the `Zephyr SMP Server`_ is running and Sidewalk is not operational. + When the application is in the DFU mode, all LEDs flash every 500 ms to signal that the application is waiting for a new image. -.. _DevZone DFU guide: https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu#ble_testing + #. To perform a firmware update, follow the Bluetooth testing steps from the `DevZone DFU guide`_. + When the update starts, the LEDs change the pattern to indicate upload in progress. + + #. To exit the DFU mode, long press **Button 1** again when device is in DFU mode. + The device will set the device in the Sidewalk mode. + If the update completes successfully, the device will start a new image. + After using the DFU mode, the first bootup might take up to 60 seconds. + During the image swap the application is silent, meaning that LEDs are not blinking and the console does not output any logs. + The application, however, is running, so do not reset the device. + In case the update fails, the old image is started instead. + + .. group-tab:: nRF54 DKs + + #. Enter the DFU mode by long pressing **Button 0** on your development kit. + This action sets the device in the DFU mode, in which only the `Zephyr SMP Server`_ is running and Sidewalk is not operational. + When the application is in the DFU mode, all LEDs flash every 500 ms to signal that the application is waiting for a new image. + + #. To perform a firmware update, follow the Bluetooth testing steps from the `DevZone DFU guide`_. + When the update starts, the LEDs change the pattern to indicate upload in progress. + + #. To exit the DFU mode, long press **Button 0** again when device is in DFU mode. + The device will set the device in the Sidewalk mode. + If the update completes successfully, the device will start a new image. + After using the DFU mode, the first bootup might take up to 60 seconds. + During the image swap the application is silent, meaning that LEDs are not blinking and the console does not output any logs. + The application, however, is running, so do not reset the device. + In case the update fails, the old image is started instead. diff --git a/doc/includes/include_user_interface_common.txt b/doc/includes/include_user_interface_common.txt deleted file mode 100644 index 84d6910cd2..0000000000 --- a/doc/includes/include_user_interface_common.txt +++ /dev/null @@ -1,13 +0,0 @@ -Button 1 (long press): - Enter DFU state - This action disables the Sidewalk stack and starts the Bluetooth LE SMP Server. - You can update the firmware image using the nRF Connect for mobile application. - To exit the DFU state, long press **Button 1**. - -Button 2 (long press): - Factory reset - The application informs the Sidewalk stack about the factory reset event. - The Sidewalk library clears its configuration from the non-volatile storage. - After a successful reset, the device needs to be registered with the cloud services again. - -Button 3 (long press): - Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. - A log message informs about the link mask switch and the status of the operation. diff --git a/doc/includes/memory_requirement.txt b/doc/includes/memory_requirement.txt index 1b70a8a403..c092912ed7 100644 --- a/doc/includes/memory_requirement.txt +++ b/doc/includes/memory_requirement.txt @@ -3,7 +3,7 @@ .. tab:: nRF52840 DK The following table lists the total memory requirements for the default variant of the :ref:`Sidewalk_End_device` sample running on the `nRF52840 DK`_. - To determine the available space for user extension, it needs to be summarized versus the allocated partition size and its layout. + To determine the available space for user extension, it needs to be summarized against the allocated partition size and its layout. +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | Sample | MCUboot ROM [kB] | Application ROM [kB] | Factory data [kB] | Settings (Sidewalk) [kB] | Total ROM [kB] | Total RAM [kB] | @@ -12,15 +12,15 @@ +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | :ref:`Hello Sidewalk Bluetooth LE ` (``CONFIG_SIDEWALK_SUBGHZ_SUPPORT=n``, Release) | 26.33 | 352.07 | 4 | 8 | 390.40 | 89.66 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 26.33 | 496.32 | 4 | 8 | 534.65 | 109.91 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 26.33 | 496.32 | 4 | 8 | 534.65 | 109.91 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 26.33 | 430.45 | 4 | 8 | 468.78 | 105.04 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 26.33 | 430.45 | 4 | 8 | 468.78 | 105.04 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ .. tab:: nRF5340 DK The following table lists the total memory requirements for the default variant of the :ref:`Sidewalk_End_device` sample running on the `nRF5340 DK`_. - To determine the available space for user extension, it needs to be summarized versus the allocated partition size and its layout. + To determine the available space for user extension, it needs to be summarized against the allocated partition size and its layout. +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | Sample | MCUboot ROM [kB] | Application ROM [kB] | Factory data [kB] | Settings (Sidewalk) [kB] | Total ROM [kB] | Total RAM [kB] | @@ -29,15 +29,15 @@ +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | :ref:`Hello Sidewalk Bluetooth LE ` (``CONFIG_SIDEWALK_SUBGHZ_SUPPORT=n``, Release) | 30.77 | 291.68 | 4 | 8 | 334.45 | 78.46 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 30.77 | 435.18 | 4 | 8 | 477.95 | 98.34 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 30.77 | 435.18 | 4 | 8 | 477.95 | 98.34 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 30.77 | 367.13 | 4 | 8 | 409.90 | 93.64 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 30.77 | 367.13 | 4 | 8 | 409.90 | 93.64 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ .. tab:: nRF54L15 PDK The following table lists the total memory requirements for the default variant of the :ref:`Sidewalk_End_device` sample running on the `nRF54L15 PDK`_. - To determine the available space for user extension, it needs to be summarized versus the allocated partition size and its layout. + To determine the available space for user extension, it needs to be summarized against the allocated partition size and its layout. +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | Sample | MCUboot ROM [kB] | Application ROM [kB] | Factory data [kB] | Settings (Sidewalk) [kB] | Total ROM [kB] | Total RAM [kB] | @@ -46,7 +46,7 @@ +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ | :ref:`Hello Sidewalk Bluetooth LE ` (``CONFIG_SIDEWALK_SUBGHZ_SUPPORT=n``, Release) | 26.03 | 285.67 | 4 | 8 | 323.70 | 83.80 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 26.03 | 432.32 | 4 | 8 | 470.35 | 103.99 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Debug) | 26.03 | 432.32 | 4 | 8 | 470.35 | 103.99 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ - | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 26.03 | 361.94 | 4 | 8 | 399.97 | 99.17 | + | :ref:`Hello Sidewalk Bluetooth LE and sub-GHz ` (Release) | 26.03 | 361.94 | 4 | 8 | 399.97 | 99.17 | +----------------------------------------------------------------------------------------------------------------+------------------+----------------------+-------------------+--------------------------+----------------+----------------+ diff --git a/doc/index.rst b/doc/index.rst index e52c143b7e..e8310ed981 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -43,6 +43,5 @@ Browse the content by referring to the following pages: setting_up_sidewalk_environment/setting_up_environment.rst samples/samples_list.rst compatibility_matrix.rst - migration_guide.rst - sidewalk_release_notes.rst + releases_and_migration.rst additional_resources.rst diff --git a/doc/links.rst b/doc/links.rst new file mode 100644 index 0000000000..83ce248efb --- /dev/null +++ b/doc/links.rst @@ -0,0 +1,82 @@ +.. This file contains all links referenced in sdk-sidewalk documentation. + +.. ncs links (all links need to be updated manually **right before** the targeted release) + +.. _nRF Connect SDK: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/index.html +.. _nrf52840 DK: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/board_support/board_names.html +.. _nrf5340 DK: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/board_support/board_names.html +.. _Thingy53: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/board_support/board_names.html +.. _nRF54L15 PDK: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/board_support/board_names.html +.. _Getting started with nRF52 Series: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/gsg_guides/nrf52_gs.html +.. _Getting started with nRF53 Series: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/gsg_guides/nrf5340_gs.html +.. _Getting started with nRF54L Series: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/device_guides/working_with_nrf/nrf54l/ug_nrf54l15_gs.html +.. _nRF Connect SDK Getting started: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/installation.html +.. _nRF52840dk: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/boards/nordic/nrf52840dk/doc/index.html +.. _nrf5340dk: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/boards/nordic/nrf5340dk/doc/index.html +.. _thingy53_nrf5340: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/boards/nordic/thingy53/doc/index.html +.. _nrf54l15pdk: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/boards/nordic/nrf54l15pdk/doc/index.html +.. _Building and programming an application: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/programming.html +.. _Testing and debugging an application: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/test_and_optimize.html +.. _Bootloader and DFU solutions for NCS: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/config_and_build/bootloaders/index.html +.. _Zephyr SMP Server: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/services/device_mgmt/ota.html#smp_server +.. _Zephyr SMP Server sample: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/samples/subsys/mgmt/mcumgr/smp_svr/README.html +.. _Zephyr State Machine Framework: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/zephyr/services/smf/index.html +.. _NCS testing applications: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/test_and_optimize.html +.. _Installing the nRF Connect SDK: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/installation/install_ncs.html +.. _Board Configurator: https://docs.nordicsemi.com/bundle/nrf-connect-board-configurator/page/index.html + +.. ncs fixed links(do not update them) + + +.. _Release notes for the nRF Connect SDK v2.7.0: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/releases_and_maturity/releases/release-notes-2.7.0.html +.. _Release notes and limitations for the nRF Connect SDK v2.6.99-cs1: https://docs.nordicsemi.com/bundle/ncs-2.6.99-cs1/page/nrf/releases_and_maturity/releases/release-notes-2.6.99-cs1.html +.. _Release notes for the nRF Connect SDK v2.6.0: https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/nrf/releases_and_maturity/releases/release-notes-2.6.0.html +.. _Release notes for the nRF Connect SDK v2.5.0: https://docs.nordicsemi.com/bundle/ncs-2.5.0/page/nrf/releases_and_maturity/releases/release-notes-2.5.0.html +.. _Known issues for the nRF Connect SDK for the v2.7.0: https://docs.nordicsemi.com/bundle/ncs-2.7.0/page/nrf/releases_and_maturity/known_issues.html +.. _Known issues for the nRF Connect SDK for the v2.6.0: https://docs.nordicsemi.com/bundle/ncs-2.6.0/page/nrf/releases_and_maturity/known_issues.html +.. _Known issues for the nRF Connect SDK for the v2.5.0: https://docs.nordicsemi.com/bundle/ncs-2.5.0/page/nrf/releases_and_maturity/known_issues.html + +.. nordicsemi.com + +.. _Nordic nRF52840 DK: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK +.. _nRF Command Line Tools: https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools/Download#infotabs +.. _DevZone DFU guide: https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu#ble_testing + +.. github.com + +.. _Amazon license: https://raw.githubusercontent.com/nrfconnect/sdk-sidewalk/main/LICENSE.txt +.. _Amazon Sidewalk Sample IoT App: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app +.. _sdk-sidewalk repository: https://github.com/nrfconnect/sdk-sidewalk +.. _sdk-sidewalk: https://github.com/nrfconnect/sdk-sidewalk +.. _Install virtual environment: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app#1-install-virtual-environment +.. _sdk-nrf: https://github.com/nrfconnect/sdk-nrf + +.. Amazon links + +.. _Amazon Sidewalk Gateways: https://docs.sidewalk.amazon/introduction/sidewalk-gateways.html +.. _Application notes: https://docs.sidewalk.amazon/app-notes/ +.. _How to manufacture and produce devices: https://docs.sidewalk.amazon/manufacturing/manufacture-provision/ +.. _Amazon Sidewalk specification: https://docs.sidewalk.amazon/specifications/ +.. _AWS IoT MQTT client: https://docs.aws.amazon.com/iot/latest/developerguide/view-mqtt-messages.html +.. _Installing or updating the latest version of the AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html +.. _ID users change permissions: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html +.. _Sidewalk Protocol Specification: https://docs.sidewalk.amazon/specifications/ +.. _Sidewalk_Handler CloudWatch log group: https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/$252Faws$252Flambda$252FSidewalk_Handler +.. _AWS IoT MQTT client: https://docs.aws.amazon.com/iot/latest/developerguide/view-mqtt-messages.html +.. _CloudShell: https://console.aws.amazon.com/cloudshell +.. _Amazon developer account: https://developer.amazon.com/dashboard +.. _Amazon Web Service account: https://console.aws.amazon.com/console/home +.. _AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html +.. _Echo 4th Gen: https://www.amazon.com/All-New-Echo-4th-Gen/dp/B07XKF5RM3 +.. _iOS: https://apps.apple.com/us/app/amazon-alexa/id944011620 +.. _Android: https://play.google.com/store/apps/details?id=com.amazon.dee.app +.. _Amazon Sidewalk IoT Prerequisites: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app#prerequisites +.. _Onbarding your Sidewalk devices: https://docs.aws.amazon.com/iot/latest/developerguide/sidewalk-gs-workflow.html +.. _Provision your Sidewalk endpoint and flash the binary image: https://docs.sidewalk.amazon/provisioning/iot-sidewalk-provision-endpoint.html +.. _AWS: https://aws.amazon.com/ +.. _Setting up a Sidewalk gateway: https://docs.sidewalk.amazon/getting-started/sidewalk-onboard-prereq-gateway.html + +.. Other links + +.. _SX1262: https://os.mbed.com/components/SX126xMB2xAS/ +.. _Semtech SX1262MB2CAS: https://www.semtech.com/products/wireless-rf/lora-transceivers/sx1262mb2cas diff --git a/doc/ncs_links.rst b/doc/ncs_links.rst deleted file mode 100644 index b701b11e0c..0000000000 --- a/doc/ncs_links.rst +++ /dev/null @@ -1,74 +0,0 @@ -.. This file contains all links referenced in sdk-sidewalk documentation. - -.. ncs links (all links need to be updated manually **right before** the targeted release) - -.. _nRF Connect SDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/index.html -.. _nrf52840 DK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/config_and_build/board_support.html#boards-included-in-sdk-zephyr -.. _nrf5340 DK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/config_and_build/board_support.html#boards-included-in-sdk-zephyr -.. _Thingy53: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/config_and_build/board_support.html#boards-included-in-sdk-zephyr -.. _nRF54L15 PDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/config_and_build/board_support.html#boards-included-in-sdk-zephyr -.. _Getting started with nRF52 Series: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/device_guides/working_with_nrf/nrf52/gs.html -.. _Getting started with nRF53 Series: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/device_guides/nrf53.html -.. _Getting started with nRF54L Series: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/device_guides/nrf54l.html -.. _Zephyr toolchain: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/gs_installing.html#install-a-toolchain -.. _nRF Connect SDK Getting started: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/getting_started.html -.. _nRF52840dk: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/boards/arm/nrf52840dk_nrf52840/doc/index.html -.. _nrf5340dk: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/boards/arm/nrf5340dk_nrf5340/doc/index.html#nrf5340dk-nrf5340 -.. _thingy53_nrf5340: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/boards/arm/thingy53_nrf5340/doc/index.html#thingy53-nrf5340 -.. _nrf54l15pdk: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/boards/arm/nrf54l15pdk_nrf54l15/doc/index.html -.. _Building and programming an application: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/getting_started/programming.html#gs-programming -.. _Testing and debugging an application: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/getting_started/testing.html#gs-testing -.. _Bootloader and DFU solutions for NCS: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/app_bootloaders.html -.. _Zephyr SMP Server: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/services/device_mgmt/ota.html#smp-server -.. _Zephyr SMP Server sample: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/samples/subsys/mgmt/mcumgr/smp_svr/README.html#smp-svr -.. _Zephyr State Machine Framework: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/zephyr/services/smf/index.html -.. _NCS testing applications: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/gs_testing.html -.. _Known issues for the nRF Connect SDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.0/nrf/releases_and_maturity/known_issues.html -.. _Release notes for the nRF Connect SDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/releases_and_maturity/releases/release-notes-2.6.0.html -.. _v2.6.99-cs1: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.6.99-cs1/nrf/releases_and_maturity/releases/release-notes-2.6.99-cs1.html -.. _Board Configurator: https://docs.nordicsemi.com/bundle/nrf-connect-board-configurator/page/index.html -.. _Installing the nRF Connect SDK: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/installation/install_ncs.html - -.. nordicsemi.com - -.. _Nordic nRF52840 DK: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK -.. _nRF Command Line Tools: https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools/Download#infotabs - -.. github.com - -.. _Amazon license: https://raw.githubusercontent.com/nrfconnect/sdk-sidewalk/main/LICENSE.txt -.. _Amazon Sidewalk Sample IoT App: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app -.. _sdk-sidewalk repository: https://github.com/nrfconnect/sdk-sidewalk -.. _sdk-sidewalk: https://github.com/nrfconnect/sdk-sidewalk -.. _Install virtual environment: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app#1-install-virtual-environment -.. _sdk-nrf: https://github.com/nrfconnect/sdk-nrf - -.. Amazon links - -.. _Amazon Sidewalk Gateways: https://docs.sidewalk.amazon/introduction/sidewalk-gateways.html -.. _Application notes: https://docs.sidewalk.amazon/app-notes/ -.. _How to manufacture and produce devices: https://docs.sidewalk.amazon/manufacturing/manufacture-provision/ -.. _Amazon Sidewalk specification: https://docs.sidewalk.amazon/specifications/ -.. _AWS IoT MQTT client: https://docs.aws.amazon.com/iot/latest/developerguide/view-mqtt-messages.html -.. _Installing or updating the latest version of the AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html -.. _ID users change permissions: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html -.. _Sidewalk Protocol Specification: https://docs.sidewalk.amazon/specifications/ -.. _Sidewalk_Handler CloudWatch log group: https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/$252Faws$252Flambda$252FSidewalk_Handler -.. _AWS IoT MQTT client: https://docs.aws.amazon.com/iot/latest/developerguide/view-mqtt-messages.html -.. _CloudShell: https://console.aws.amazon.com/cloudshell -.. _Amazon developer account: https://developer.amazon.com/dashboard -.. _Amazon Web Service account: https://console.aws.amazon.com/console/home -.. _AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html -.. _Echo 4th Gen: https://www.amazon.com/All-New-Echo-4th-Gen/dp/B07XKF5RM3 -.. _iOS: https://apps.apple.com/us/app/amazon-alexa/id944011620 -.. _Android: https://play.google.com/store/apps/details?id=com.amazon.dee.app -.. _Amazon Sidewalk IoT Prerequisites: https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app#prerequisites -.. _Onbarding your Sidewalk devices: https://docs.aws.amazon.com/iot/latest/developerguide/sidewalk-gs-workflow.html -.. _Provision your Sidewalk endpoint and flash the binary image: https://docs.sidewalk.amazon/provisioning/iot-sidewalk-provision-endpoint.html -.. _AWS: https://aws.amazon.com/ -.. _Setting up a Sidewalk gateway: https://docs.sidewalk.amazon/getting-started/sidewalk-onboard-prereq-gateway.html - -.. Other links - -.. _SX1262: https://os.mbed.com/components/SX126xMB2xAS/ -.. _Semtech SX1262MB2CAS: https://www.semtech.com/products/wireless-rf/lora-transceivers/sx1262mb2cas diff --git a/doc/releases_and_migration.rst b/doc/releases_and_migration.rst new file mode 100644 index 0000000000..21986af542 --- /dev/null +++ b/doc/releases_and_migration.rst @@ -0,0 +1,24 @@ +.. _release_and_migration: + +Release notes and migration guides +################################## + +See information about the latest release notes and the available migration guide assisting in the transition from the previous releases: + +.. toctree:: + :maxdepth: 1 + :glob: + :caption: Release notes: + + releases_and_migration/release_notes_v270.rst + releases_and_migration/release_notes_v2699cs1.rst + releases_and_migration/release_notes_v260.rst + releases_and_migration/release_notes_v250.rst + + +.. toctree:: + :maxdepth: 1 + :glob: + :caption: Migration guides: + + releases_and_migration/migration_guide_v260.rst diff --git a/doc/migration_guide.rst b/doc/releases_and_migration/migration_guide_v260.rst similarity index 98% rename from doc/migration_guide.rst rename to doc/releases_and_migration/migration_guide_v260.rst index 3c82656c1d..8287bce07b 100644 --- a/doc/migration_guide.rst +++ b/doc/releases_and_migration/migration_guide_v260.rst @@ -1,7 +1,7 @@ -.. _migration_guide: +.. _migration_guide_v260: -Migration guide -*************** +Migration guide for the v2.6.0 of the nRF Connect SDK +***************************************************** .. contents:: :local: @@ -43,7 +43,7 @@ The new approach allows to present the same functionalities through one, unified Introduces common, configurable code base: - .. figure:: images/unify_sample_new.svg + .. figure:: ../images/unify_sample_new.svg :scale: 100 % :alt: New samples model @@ -51,7 +51,7 @@ The new approach allows to present the same functionalities through one, unified Samples are separate for each configuration: - .. figure:: images/unify_sample_old.svg + .. figure:: ../images/unify_sample_old.svg :scale: 100 % :alt: Old samples model @@ -372,8 +372,6 @@ Sidewalk and custom Bluetooth Service The :file:`sidewalk.c` file uses the state machine to demonstrate how the application can switch between Sidewalk and the `Zephyr SMP Server sample`_. You can use this as a reference design for switching between Sidewalk mode and another Bluetooth LE service-based application. -.. include:: ncs_links.rst - Using old samples model ======================= diff --git a/doc/releases_and_migration/release_notes_v250.rst b/doc/releases_and_migration/release_notes_v250.rst new file mode 100644 index 0000000000..849d491f19 --- /dev/null +++ b/doc/releases_and_migration/release_notes_v250.rst @@ -0,0 +1,23 @@ +.. _sidewalk_release_notes_250: + +Release notes for Amazon Sidewalk - nRF Connect SDK v2.5.0 +########################################################## + +For more information about the current Amazon Sidewalk release, refer to the links in the following sections. + +Changelog +********* + +See the `Release notes for the nRF Connect SDK v2.5.0`_ release. + +Limitations +*********** + +Dynamic FSK-WAN Profile switching from 2 to 1 is prohibited. + The issue is a limitation of the 1.14 Sidewalk release. + There is no workaround for this issue. + +Known issues +************ + +See `Known issues for the nRF Connect SDK for the v2.5.0`_ release. diff --git a/doc/releases_and_migration/release_notes_v260.rst b/doc/releases_and_migration/release_notes_v260.rst new file mode 100644 index 0000000000..6a891669ee --- /dev/null +++ b/doc/releases_and_migration/release_notes_v260.rst @@ -0,0 +1,17 @@ +.. _sidewalk_release_notes_260: + +Release notes for Amazon Sidewalk - nRF Connect SDK v2.6.0 +########################################################## + + +For more information about the current Amazon Sidewalk release, refer to the links in the following sections. + +Changelog +********* + +See the `Release notes for the nRF Connect SDK v2.6.0`_ release. + +Known issues +************ + +See `Known issues for the nRF Connect SDK for the v2.6.0`_ release. diff --git a/doc/sidewalk_release_notes.rst b/doc/releases_and_migration/release_notes_v2699cs1.rst similarity index 50% rename from doc/sidewalk_release_notes.rst rename to doc/releases_and_migration/release_notes_v2699cs1.rst index 091571ba06..d0f85084ae 100644 --- a/doc/sidewalk_release_notes.rst +++ b/doc/releases_and_migration/release_notes_v2699cs1.rst @@ -1,27 +1,18 @@ -.. _sidewalk_release_notes: +.. _sidewalk_release_notes_2699cs1: -Release notes -############# +Release notes for Amazon Sidewalk - nRF Connect SDK v2.6.99-cs1 +############################################################### For more information about the current Amazon Sidewalk release, refer to the links in the following sections. Changelog ********* -See the `Release notes for the nRF Connect SDK`_ for the v2.6.0 release. - -If you are participating in the customer sampling release, see the `v2.6.99-cs1`_ release notes and limitations. +If you are participating in the customer sampling release, see the `Release notes and limitations for the nRF Connect SDK v2.6.99-cs1`_. The nRF Connect SDK v2.6.99-cs is tailored exclusively for participants in the nRF54L15 customer sampling program. Do not use this release of the nRF Connect SDK if you are not participating in the program. -Limitations -*********** - -Dynamic FSK-WAN Profile switching from 2 to 1 is prohibited. - The issue is a limitation of the 1.14 Sidewalk release. - There is no workaround for this issue. - Known issues ************ -See `Known issues for the nRF Connect SDK`_ for the v2.6.0 release. +You can find known issues for this release under the release notes, in the limitations section. diff --git a/doc/releases_and_migration/release_notes_v270.rst b/doc/releases_and_migration/release_notes_v270.rst new file mode 100644 index 0000000000..8ee8fbdccd --- /dev/null +++ b/doc/releases_and_migration/release_notes_v270.rst @@ -0,0 +1,17 @@ +.. _sidewalk_release_notes_270: + +Release notes for Amazon Sidewalk - nRF Connect SDK v2.7.0 +########################################################## + + +For more information about the current Amazon Sidewalk release, refer to the links in the following sections. + +Changelog +********* + +See the `Release notes for the nRF Connect SDK v2.7.0`_ release. + +Known issues +************ + +See `Known issues for the nRF Connect SDK for the v2.7.0`_ release. diff --git a/doc/samples/samples_list.rst b/doc/samples/samples_list.rst index d0a9d0434e..a66a735f6b 100644 --- a/doc/samples/samples_list.rst +++ b/doc/samples/samples_list.rst @@ -30,7 +30,7 @@ The following table demonstrates the variants' configuration for the supported d .. note:: With the v2.6.0 release of the `nRF Connect SDK`_ a new sample model has been introduced. - To see how the changes might affect your application, see the :ref:`migration_guide`. + To see how the changes might affect your application, see the :ref:`migration_guide_v260`. .. toctree:: :maxdepth: 3 diff --git a/doc/samples/sid_end_device.rst b/doc/samples/sid_end_device.rst index 76cb06fe35..555eed9683 100644 --- a/doc/samples/sid_end_device.rst +++ b/doc/samples/sid_end_device.rst @@ -72,9 +72,9 @@ The application consists of two source files: Additionally, it has a variant-specific file: -* :file:`app.c` (:file:`app.h`) -- Implements application logic. +* :file:`app.c` (:file:`app.h`) -- A file that implements the application's logic. It communicates to the Sidewalk thread using events defined in the :file:`sidewalk.h` file, and receives Sidewalk callbacks defined in the :file:`sid_api.h` file. - An application may consist of multiple ``app_*`` files that are used to define user interface and realize application logic. + An application may consist of multiple ``app_*`` files that are used to define user interface and realize application's logic. .. _sidewalk_end_device_configuration: diff --git a/doc/samples/variants/hello.rst b/doc/samples/variants/hello.rst index 1a24c40837..3eac1a16fe 100644 --- a/doc/samples/variants/hello.rst +++ b/doc/samples/variants/hello.rst @@ -21,33 +21,91 @@ The sample variant supports the following Kconfig options: User Interface ************** -.. include:: ../../includes/include_user_interface_common.txt +.. tabs:: -Button 1 (short press): - Send Hello - This action queues a message to the cloud. - If Sidewalk is not ready, it displays an error without sending the message. - On Bluetooth LE, the application performs Connection Requests before sending the message. + .. group-tab:: nRF52 and nRF53 DKs -Button 2 (short press): - Set Connection Request - The device requests the Sidewalk Gateway to initiate a connection while the device advertises through Bluetooth LE. - Gateways may not process this request, as it depends on the number of devices connected to it. + Button 1 (long press): + Enter DFU state - This action disables the Sidewalk stack and starts the Bluetooth LE SMP Server. + You can update the firmware image using the nRF Connect for mobile application. + To exit the DFU state, long press **Button 1**. -Button 3 (short press): - Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. - A log message informs about the link mask switch and the status of the operation. + Button 2 (long press): + Factory reset - The application informs the Sidewalk stack about the factory reset event. + The Sidewalk library clears its configuration from the non-volatile storage. + After a successful reset, the device needs to be registered with the cloud services again. -LED 1: - Indicates that the application established a link and connected successfully. - The application is ready to send and receive Sidewalk messages. + Button 3 (long press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. -LED 2: - Indicates that the application time synced successfully. + Button 1 (short press): + Send Hello - This action queues a message to the cloud. + If Sidewalk is not ready, it displays an error without sending the message. + On Bluetooth LE, the application performs Connection Requests before sending the message. -LED 3: - Indicates that the application registered successfully. + Button 2 (short press): + Set Connection Request - The device requests the Sidewalk Gateway to initiate a connection while the device advertises through Bluetooth LE. + Gateways may not process this request, as it depends on the number of devices connected to it. -LED 4: - Indicates that the application woke up successfully. + Button 3 (short press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. + + LED 1: + Indicates that the application established a link and connected successfully. + The application is ready to send and receive Sidewalk messages. + + LED 2: + Indicates that the application time synced successfully. + + LED 3: + Indicates that the application registered successfully. + + LED 4: + Indicates that the application woke up successfully. + + .. group-tab:: nRF54 DKs + + Button 0 (long press): + Enter DFU state - This action disables the Sidewalk stack and starts the Bluetooth LE SMP Server. + You can update the firmware image using the nRF Connect for mobile application. + To exit the DFU state, long press **Button 0**. + + Button 1 (long press): + Factory reset - The application informs the Sidewalk stack about the factory reset event. + The Sidewalk library clears its configuration from the non-volatile storage. + After a successful reset, the device needs to be registered with the cloud services again. + + Button 2 (long press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. + + Button 0 (short press): + Send Hello - This action queues a message to the cloud. + If Sidewalk is not ready, it displays an error without sending the message. + On Bluetooth LE, the application performs Connection Requests before sending the message. + + Button 1 (short press): + Set Connection Request - The device requests the Sidewalk Gateway to initiate a connection while the device advertises through Bluetooth LE. + Gateways may not process this request, as it depends on the number of devices connected to it. + + Button 2 (short press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. + + LED 0: + Indicates that the application established a link and connected successfully. + The application is ready to send and receive Sidewalk messages. + + LED 1: + Indicates that the application time synced successfully. + + LED 2: + Indicates that the application registered successfully. + + LED 3: + Indicates that the application woke up successfully. Building and running ******************** @@ -71,113 +129,225 @@ Starting Sidewalk To start Sidewalk, do the following: -#. Connect your Nordic device to the PC through USB. - Set the device's power switch to **ON**. +.. tabs:: -#. Flash the sample application with the manufacturing data as described in the building and running section of the respective sample. + .. group-tab:: nRF52 and nRF53 DKs - You should see the following logs: + #. Connect your Nordic device to the PC through USB. + Set the device's power switch to **ON**. - .. code-block:: console + #. Flash the sample application with the manufacturing data as described in the building and running section of the respective sample. - *** Booting nRF Connect SDK 883c3709f9c8 *** - ---------------------------------------------------------------- - sidewalk v2.5.0-3-g1232aabb - nrf v2.5.0-g271e80422 - zephyr 883c3709f9 - ---------------------------------------------------------------- - sidewalk_fork_point = af5d608303eb03465f35e369ef22ad6c02564ac6 - build time = 2023-03-14 15:00:00.000000+00:00 - board = nrf52840dk - ---------------------------------------------------------------- - [00:00:00.001,373] application_state: working = true - [00:00:00.055,480] sidewalk_app: Sidewalk link switch to BLE + You should see the following logs: - When Sidewalk sample starts, **LED 4** turns on. + .. code-block:: console -#. Wait for the device to complete the registration. + *** Booting nRF Connect SDK 883c3709f9c8 *** + ---------------------------------------------------------------- + sidewalk v2.5.0-3-g1232aabb + nrf v2.5.0-g271e80422 + zephyr 883c3709f9 + ---------------------------------------------------------------- + sidewalk_fork_point = af5d608303eb03465f35e369ef22ad6c02564ac6 + build time = 2023-03-14 15:00:00.000000+00:00 + board = nrf52840dk + ---------------------------------------------------------------- + [00:00:00.001,373] application_state: working = true + [00:00:00.055,480] sidewalk_app: Sidewalk link switch to BLE - You should see the following logs: + When Sidewalk sample starts, **LED 4** turns on. - .. code-block:: console + #. Wait for the device to complete the registration. - [00:00:31.045,471] sid_thread: Device Is registered, Time Sync Fail, Link status Up + You should see the following logs: - When Sidewalk registration status changes, **LED 3** turns on. + .. code-block:: console -#. Wait for the device to complete time sync with the Sidewalk network. + [00:00:31.045,471] sid_thread: Device Is registered, Time Sync Fail, Link status Up - You should see the following logs: + When Sidewalk registration status changes, **LED 3** turns on. - .. code-block:: console + #. Wait for the device to complete time sync with the Sidewalk network. + + You should see the following logs: + + .. code-block:: console + + [00:00:35.827,789] sid_thread: status changed: ready + [00:00:35.827,850] sid_thread: Device Is registered, Time Sync Success, Link status Up + + When Sidewalk gets Time Sync, **LED 2** turns on. + + #. Wait for the status change. + + * For a Bluetooth LE device, status change occurs on request. Gateway connects over Bluetooth LE before sending down-link message, and device sends connection request before up-link message. Sidewalk automatically disconnects Bluetooth LE after some inactivity period. + + * For a LoRa and FSK device, the following messages appear in the log: + + .. code-block:: console + + [00:45:31.597,564] sid_thread: status changed: init + [00:45:31.597,564] sid_thread: on_sidewalk_status_changed: Device Is registered, Time Sync Success, Link status Up + + When Sidewalk Link Status is Up, **LED 1** turns on. + + .. group-tab:: nRF54 DKs + + #. Connect your Nordic device to the PC through USB. + Set the device's power switch to **ON**. + + #. Flash the sample application with the manufacturing data as described in the building and running section of the respective sample. + + You should see the following logs: + + .. code-block:: console + + *** Booting nRF Connect SDK 883c3709f9c8 *** + ---------------------------------------------------------------- + sidewalk v2.5.0-3-g1232aabb + nrf v2.5.0-g271e80422 + zephyr 883c3709f9 + ---------------------------------------------------------------- + sidewalk_fork_point = af5d608303eb03465f35e369ef22ad6c02564ac6 + build time = 2023-03-14 15:00:00.000000+00:00 + board = nrf52840dk + ---------------------------------------------------------------- + [00:00:00.001,373] application_state: working = true + [00:00:00.055,480] sidewalk_app: Sidewalk link switch to BLE + + When Sidewalk sample starts, **LED 3** turns on. + + #. Wait for the device to complete the registration. - [00:00:35.827,789] sid_thread: status changed: ready - [00:00:35.827,850] sid_thread: Device Is registered, Time Sync Success, Link status Up + You should see the following logs: - When Sidewalk gets Time Sync, **LED 2** turns on. + .. code-block:: console -#. Wait for the status change. + [00:00:31.045,471] sid_thread: Device Is registered, Time Sync Fail, Link status Up - * For a Bluetooth LE device, status change occurs on request. Gateway connects over Bluetooth LE before sending down-link message, and device sends connection request before up-link message. Sidewalk automatically disconnects Bluetooth LE after some inactivity period. + When Sidewalk registration status changes, **LED 2** turns on. - * For a LoRa and FSK device, the following messages appear in the log: + #. Wait for the device to complete time sync with the Sidewalk network. - .. code-block:: console + You should see the following logs: - [00:45:31.597,564] sid_thread: status changed: init - [00:45:31.597,564] sid_thread: on_sidewalk_status_changed: Device Is registered, Time Sync Success, Link status Up + .. code-block:: console - When Sidewalk Link Status is Up, **LED 1** turns on. + [00:00:35.827,789] sid_thread: status changed: ready + [00:00:35.827,850] sid_thread: Device Is registered, Time Sync Success, Link status Up + + When Sidewalk gets Time Sync, **LED 1** turns on. + + #. Wait for the status change. + + * For a Bluetooth LE device, status change occurs on request. Gateway connects over Bluetooth LE before sending down-link message, and device sends connection request before up-link message. Sidewalk automatically disconnects Bluetooth LE after some inactivity period. + + * For a LoRa and FSK device, the following messages appear in the log: + + .. code-block:: console + + [00:45:31.597,564] sid_thread: status changed: init + [00:45:31.597,564] sid_thread: on_sidewalk_status_changed: Device Is registered, Time Sync Success, Link status Up + + When Sidewalk Link Status is Up, **LED 0** turns on. Sending message to AWS MQTT --------------------------- -You can use `AWS IoT MQTT client`_ to view the received and republished messages from the device. +.. tabs:: -#. Enter ``#`` and click :guilabel:`Subscribe to topic`. - You are now subscribed to the republished device messages. + .. group-tab:: nRF52 and nRF53 DKs -#. To see the data republished into the subscribed MQTT topic, press **Button 1** on your development kit. + You can use `AWS IoT MQTT client`_ to view the received and republished messages from the device. - .. code-block:: console + #. Enter ``#`` and click :guilabel:`Subscribe to topic`. + You are now subscribed to the republished device messages. - # Logs from DK after pressing "Button 1" - [00:04:57.461,029] sid_end device: Pressed button 1 - [00:04:57.461,120] sid_thread: sending counter update: 0 - [00:04:57.461,456] sid_thread: queued data message id:3 - - - # Logs from MQTT test client - { - "MessageId": "4c5dadb3-2762-40fa-9763-8a432c023eb5", - "WirelessDeviceId": "5153dd3a-c78f-4e9e-9d8c-3d84fabb8911", - "PayloadData": "MDA=", - "WirelessMetadata": { - "Sidewalk": { - "CmdExStatus": "COMMAND_EXEC_STATUS_UNSPECIFIED", - "MessageType": "CUSTOM_COMMAND_ID_NOTIFY", - "NackExStatus": [], - "Seq": 2, - "SidewalkId": "BFFFFFFFFF" - } - } + #. To see the data republished into the subscribed MQTT topic, press **Button 1** on your development kit. - Payload data is presented in base64 format. - You can decode it using Python: + .. code-block:: console - .. code-block:: console + # Logs from DK after pressing "Button 1" + [00:04:57.461,029] sid_end device: Pressed button 1 + [00:04:57.461,120] sid_thread: sending counter update: 0 + [00:04:57.461,456] sid_thread: queued data message id:3 + + + # Logs from MQTT test client + { + "MessageId": "4c5dadb3-2762-40fa-9763-8a432c023eb5", + "WirelessDeviceId": "5153dd3a-c78f-4e9e-9d8c-3d84fabb8911", + "PayloadData": "MDA=", + "WirelessMetadata": { + "Sidewalk": { + "CmdExStatus": "COMMAND_EXEC_STATUS_UNSPECIFIED", + "MessageType": "CUSTOM_COMMAND_ID_NOTIFY", + "NackExStatus": [], + "Seq": 2, + "SidewalkId": "BFFFFFFFFF" + } + } + + Payload data is presented in base64 format. + You can decode it using Python: + + .. code-block:: console + + python -c "import sys,base64;print(base64.b64decode(sys.argv[1].encode('utf-8')).decode('utf-8'))" MDA= + 00 + + Data is republished into the subscribed MQTT topic. + + .. figure:: /images/Step7-MQTT-Subscribe.png + + .. group-tab:: nRF54 DKs - python -c "import sys,base64;print(base64.b64decode(sys.argv[1].encode('utf-8')).decode('utf-8'))" MDA= - 00 + You can use `AWS IoT MQTT client`_ to view the received and republished messages from the device. - Data is republished into the subscribed MQTT topic. + #. Enter ``#`` and click :guilabel:`Subscribe to topic`. + You are now subscribed to the republished device messages. - .. figure:: /images/Step7-MQTT-Subscribe.png + #. To see the data republished into the subscribed MQTT topic, press **Button 0** on your development kit. + + .. code-block:: console + + # Logs from DK after pressing "Button 0" + [00:04:57.461,029] sid_end device: Pressed button 0 + [00:04:57.461,120] sid_thread: sending counter update: 0 + [00:04:57.461,456] sid_thread: queued data message id:3 + + + # Logs from MQTT test client + { + "MessageId": "4c5dadb3-2762-40fa-9763-8a432c023eb5", + "WirelessDeviceId": "5153dd3a-c78f-4e9e-9d8c-3d84fabb8911", + "PayloadData": "MDA=", + "WirelessMetadata": { + "Sidewalk": { + "CmdExStatus": "COMMAND_EXEC_STATUS_UNSPECIFIED", + "MessageType": "CUSTOM_COMMAND_ID_NOTIFY", + "NackExStatus": [], + "Seq": 2, + "SidewalkId": "BFFFFFFFFF" + } + } + + Payload data is presented in base64 format. + You can decode it using Python: + + .. code-block:: console + + python -c "import sys,base64;print(base64.b64decode(sys.argv[1].encode('utf-8')).decode('utf-8'))" MDA= + 00 + + Data is republished into the subscribed MQTT topic. + + .. figure:: /images/Step7-MQTT-Subscribe.png Receiving message from AWS MQTT ------------------------------- -#. To be able to use AWS CLI, ensure you completed steps in the `Installing or updating the latest version of the AWS CLI`_ documentation. +#. To be able to use AWS CLI, you must first complete `Installing or updating the latest version of the AWS CLI`_. #. Run the following command to send a message to your Sidewalk Endpoint: @@ -187,23 +357,21 @@ Receiving message from AWS MQTT * ```` is the Wireless Device ID of your Sidewalk Device. - You can find it in the :file:`WirelessDevice.json` file, generated with the :file:`Nordic_MFG.hex` file during :ref:`setting_up_sidewalk_product`. - If you have sent a message before, you can also find your Wireless Device ID in the messages sent from your device to AWS. + You can find it in the :file:`WirelessDevice.json` file, generated with the :file:`Nordic_MFG.hex` file during :ref:`setting_up_sidewalk_product`. + If you have sent a message before, you can also find your Wireless Device ID in the messages sent from your device to AWS. * ```` is base64 encoded. + * ```` is an integer and should be different for each subsequent request. - To prepare a message payload in the base64 format, run: - - .. code-block:: console +#. Prepare a message payload in the base64 format by running the following command: - python -c "import sys,base64;print(base64.b64encode(sys.argv[1].encode('utf-8')).decode('utf-8'))" "Hello Sidewalk!" - SGVsbG8gICBTaWRld2FsayE= + .. code-block:: console - * ```` is an integer and should be different for each subsequent request. + python -c "import sys,base64;print(base64.b64encode(sys.argv[1].encode('utf-8')).decode('utf-8'))" "Hello Sidewalk!" + SGVsbG8gICBTaWRld2FsayE= - .. note:: - Ensure to increase 'Seq' number on every message. - The device will not receive a message with lower or equal sequence number. +#. Increase a sequence number on every message. + The device will not receive a message with lower or equal sequence number. Once you have populated the command with data, it should look similar to the following: @@ -219,15 +387,15 @@ Receiving message from AWS MQTT "MessageId": "eabea2c7-a818-4680-8421-7a5fa322460e" } - * Ensure your IAM user or role has permissions to send data to your wireless device in case you see the following error: + In case you receive the following error, make sure your IAM user or role has permissions to send data to your wireless device: - .. code-block:: console + .. code-block:: console - { - "Message": "User: arn:aws:iam::[AWS Account ID]:user/console_user is not authorized to perform: - iotwireless:SendDataToWirelessDevice on resource: arn:aws:iotwireless:us-east-1:[AWS Account ID]: - WirelessDevice/[Wireless Device ID]" - } + { + "Message": "User: arn:aws:iam::[AWS Account ID]:user/console_user is not authorized to perform: + iotwireless:SendDataToWirelessDevice on resource: arn:aws:iotwireless:us-east-1:[AWS Account ID]: + WirelessDevice/[Wireless Device ID]" + } Data will be received in Sidewalk logs: @@ -237,5 +405,4 @@ Receiving message from AWS MQTT 48 65 6c 6c 6f 20 20 20 53 69 64 65 77 61 6c 6b |Hello Sidewalk 21 |! - .. include:: ../../includes/include_testing_nordic_dfu.txt diff --git a/doc/samples/variants/sensor_monitoring.rst b/doc/samples/variants/sensor_monitoring.rst index d9baa178f1..8a82868271 100644 --- a/doc/samples/variants/sensor_monitoring.rst +++ b/doc/samples/variants/sensor_monitoring.rst @@ -50,13 +50,51 @@ For example: User Interface ************** -.. include:: ../../includes/include_user_interface_common.txt +.. tabs:: -Button 1-4 (short press): - Send button action message - This action works after the application successfully sends capability message. + .. group-tab:: nRF52 and nRF53 DKs -LED 1-4: - Notify LED action message - Works after the application successfully sends capability message. + Button 1 (long press): + Enter DFU state - This action disables the Sidewalk stack and starts the Bluetooth LE SMP Server. + You can update the firmware image using the nRF Connect for mobile application. + To exit the DFU state, long press **Button 1**. + + Button 2 (long press): + Factory reset - The application informs the Sidewalk stack about the factory reset event. + The Sidewalk library clears its configuration from the non-volatile storage. + After a successful reset, the device needs to be registered with the cloud services again. + + Button 3 (long press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. + + Button 1-4 (short press): + Send button action message - This action works after the application successfully sends capability message. + + LED 1-4: + Notify LED action message - Works after the application successfully sends capability message. + + .. group-tab:: nRF54 DKs + + Button 0 (long press): + Enter DFU state - This action disables the Sidewalk stack and starts the Bluetooth LE SMP Server. + You can update the firmware image using the nRF Connect for mobile application. + To exit the DFU state, long press **Button 0**. + + Button 1 (long press): + Factory reset - The application informs the Sidewalk stack about the factory reset event. + The Sidewalk library clears its configuration from the non-volatile storage. + After a successful reset, the device needs to be registered with the cloud services again. + + Button 2 (long press): + Toggles the Sidewalk link mask - This action switches from Bluetooth LE to FSK, from FSK to LoRa, and from LoRa to Bluetooth LE. + A log message informs about the link mask switch and the status of the operation. + + Button 0-3 (short press): + Send button action message - This action works after the application successfully sends capability message. + + LED 0-3: + Notify LED action message - Works after the application successfully sends capability message. Building and running ******************** diff --git a/doc/setting_up_sidewalk_environment/setting_up_hardware.rst b/doc/setting_up_sidewalk_environment/setting_up_hardware.rst index a0e9672fcf..8df1ffbd15 100644 --- a/doc/setting_up_sidewalk_environment/setting_up_hardware.rst +++ b/doc/setting_up_sidewalk_environment/setting_up_hardware.rst @@ -171,7 +171,7 @@ Sidewalk gateway .. note:: Refer to the `Amazon Sidewalk gateways`_ for the complete list of available devices. -For the exact instructions, refer to the `Setting up a Sidewalk gateway`_ documentation. +See the official Amazon Sidewalk documentation on `Setting up a Sidewalk gateway`_. .. note:: If you have multiple Echo devices registered under a single Amazon account, only one of those devices will be able to operate as an FSK gateway even if other devices have the same capability. diff --git a/doc/setting_up_sidewalk_environment/setting_up_sdk.rst b/doc/setting_up_sidewalk_environment/setting_up_sdk.rst index f813493c71..4d44af6bc7 100644 --- a/doc/setting_up_sidewalk_environment/setting_up_sdk.rst +++ b/doc/setting_up_sidewalk_environment/setting_up_sdk.rst @@ -15,20 +15,9 @@ Once confirmed, follow the `Installing the nRF Connect SDK`_ instructions. Downloading the Sidewalk repository *********************************** -The Sidewalk distribution model supports the following download methods. -Choose the right download method depending on the version of sdk-sidewalk that you are using. +Once you have installed the nRF Connect SDK, download the Sidewalk application: - * If you are using ``v2.5.0`` or later releases of sdk-sidewalk and sdk-nrf, follow the steps in :ref:`dk_building_app_in_nrf_manifest`. - * If you are using the sdk-sidewalk ``v1.14.5-dev1`` release (with sdk-nrf ``v2.4.1``), or earlier versions, follow the steps in :ref:`dk_building_app_with_manifest`. - -.. _dk_building_app_in_nrf_manifest: - -Sidewalk as an nRF Connect SDK repository ------------------------------------------ - -Follow these steps to download the Sidewalk application for the nRF Connect SDK: - -1. Open a terminal window. +1. Open a terminal window in the ncs folder. Your directory structure should look as follows: .. code-block:: console @@ -42,21 +31,6 @@ Follow these steps to download the Sidewalk application for the nRF Connect SDK: |___ zephyr |___ ... -#. If you have worked with the Sidewalk application in a previous distribution model (as a manifest repository), check the manifest file. - - Make sure the manifest path points to :file:`west.yml` inside the :file:`nrf` directory: - - .. code-block:: console - - $ west manifest --path - /path-to-ncs-folder/nrf/west.yml - - In case your manifest path points to a different file, use the following command: - - .. code-block:: console - - $ west config manifest.path nrf - #. Enable the Sidewalk group filter for west. .. code-block:: console @@ -84,77 +58,7 @@ Follow these steps to download the Sidewalk application for the nRF Connect SDK: $ pip install -r sidewalk/requirements.txt -.. _dk_building_app_with_manifest: - -Sidewalk as an application with manifest repository ---------------------------------------------------- - -Follow these steps to download the Sidewalk application for the nRF Connect SDK: - -1. Open a terminal window. - Your directory structure should look as follows: - - .. code-block:: console - - . - |___ .west - |___ bootloader - |___ modules - |___ nrf - |___ nrfxlib - |___ zephyr - |___ ... - -#. Clone the Sidewalk application repository from the `sdk-sidewalk repository`_ to the nRF Connect SDK folder and name it ``sidewalk``: - - .. code-block:: console - - $ git clone --branch https://github.com/nrfconnect/sdk-sidewalk.git sidewalk - - For example: - - .. code-block:: console - - $ git clone --branch v1.14.4 https://github.com/nrfconnect/sdk-sidewalk.git sidewalk - -#. Install Python requirements for Sidewalk. - - .. code-block:: console - - $ pip install -r sidewalk/requirements.txt - -#. Set the Sidewalk application manifest and update repositories. - - a. Check the current manifest path: - - .. code-block:: console - - $ west manifest --path - /path-to-ncs-folder/nrf/west.yml - - #. Set the manifest path to the Sidewalk repository: - - .. code-block:: console - - $ west config manifest.path sidewalk - - #. Update all repositories: - - .. code-block:: console - - $ west update - - Depending on your connection, the update might take some time. - - #. Verify the new manifest path: - - .. code-block:: console - - $ west manifest --path - /path-to-ncs-folder/sidewalk/west.yml - - Extracting nRF Command Line Tools ********************************* -To download the nRF Command Line, go to the `nRF command line tools`_ page. +Download the nRF Command Line from the `nRF command line tools`_ page. diff --git a/doc/setting_up_sidewalk_environment/setting_up_sidewalk_product.rst b/doc/setting_up_sidewalk_environment/setting_up_sidewalk_product.rst index cbb4e63009..21149dd176 100644 --- a/doc/setting_up_sidewalk_environment/setting_up_sidewalk_product.rst +++ b/doc/setting_up_sidewalk_environment/setting_up_sidewalk_product.rst @@ -15,69 +15,89 @@ Generate provisioning The tools required for provisioning are located in the repository (`sdk-nrf`_ and `sdk-sidewalk`_) under the :file:`sidewalk/tools/provision` path. -1. Follow the `Provision your Sidewalk endpoint and flash the binary image`_ documentation. +.. tabs:: - The default address of the :file:`mfg.hex` file provided in the official Amazon Sidewalk documentation is incompatible with the nRF Connect SDK applications. - To fix it, you must add an argument to the :file:`provision.py` script in order to generate the :file:`mfg.hex` file that is compatible with the nRF Connect SDK memory map. - Depending on the device, the argument will differ. + .. group-tab:: nRF52 and nRF53 DKs - * If you are using the combined device JSON file obtained from the AWS IoT console, use the ``certificate_json`` parameter. - It will specify this file as an input when running the provisioning script. + 1. Follow the `Provision your Sidewalk endpoint and flash the binary image`_ documentation. - .. tabs:: + The default address of the :file:`mfg.hex` file provided in the official Amazon Sidewalk documentation is incompatible with the nRF Connect SDK applications. + To fix it, you must add an argument to the :file:`provision.py` script in order to generate the :file:`mfg.hex` file that is compatible with the nRF Connect SDK memory map. + Depending on the device, the argument will differ. - .. tab:: nRF54L15 PDK + * If you are using the combined device JSON file obtained from the AWS IoT console, use the ``certificate_json`` parameter. + It will specify this file as an input when running the provisioning script. - .. parsed-literal:: - :class: highlight + .. parsed-literal:: + :class: highlight - python3 provision.py nordic aws --output_bin mfg.bin --certificate_json certificate.json --addr 0x17c000 + python3 provision.py nordic aws --output_bin mfg.bin --certificate_json certificate.json --addr 0xFF000 - .. tab:: Other boards + * If you are using separate device JSON files obtained as responses from the GetDeviceProfile and GetWirelessDevice API operations, use the ``wireless_device_json`` and ``device_profile_json`` parameters. + This will specify both files as input when running the provisioning script. - .. parsed-literal:: - :class: highlight + .. parsed-literal:: + :class: highlight - python3 provision.py nordic aws --output_bin mfg.bin --certificate_json certificate.json --addr 0xFF000 + python3 provision.py nordic aws --output_bin mfg.bin + --wireless_device_json wireless_device.json + --device_profile_json device_profile.json + --addr 0xFF000 - * If you are using separate device JSON files obtained as responses from the GetDeviceProfile and GetWirelessDevice API operations, use the ``wireless_device_json`` and ``device_profile_json`` parameters. - This will specify both files as input when running the provisioning script. + .. note:: + The default name of the :file:`mfg.hex` file generated from the :file:`provision.py` script is :file:`nordic_aws_nrf52840.hex`. + It is, however, compatible with other supported boards. - .. tabs:: + #. Flash the generated :file:`nordic_aws_nrf52840.hex` file with the provisioning data: - .. tab:: nRF54L15 PDK + .. code-block:: console - .. parsed-literal:: - :class: highlight + nrfjprog --sectorerase --program nordic_aws_nrf52840.hex --reset - python3 provision.py nordic aws --output_bin mfg.bin - --wireless_device_json wireless_device.json - --device_profile_json device_profile.json - --addr 0x17c000 + * If you reflashed the :file:`nordic_aws_nrf52840.hex` file on an already working device, you need to deregister the previously flashed device. + To do this, perform a factory reset by long pressing **Button 1**. + This will allow you to register a new product (new :file:`nordic_aws_nrf52840.hex`) in the Sidewalk network. - .. tab:: Other boards + .. group-tab:: nRF54 DKs - .. parsed-literal:: - :class: highlight + 1. Follow the `Provision your Sidewalk endpoint and flash the binary image`_ documentation. - python3 provision.py nordic aws --output_bin mfg.bin - --wireless_device_json wireless_device.json - --device_profile_json device_profile.json - --addr 0xFF000 + The default address of the :file:`mfg.hex` file provided in the official Amazon Sidewalk documentation is incompatible with the nRF Connect SDK applications. + To fix it, you must add an argument to the :file:`provision.py` script in order to generate the :file:`mfg.hex` file that is compatible with the nRF Connect SDK memory map. + Depending on the device, the argument will differ. - .. note:: - The default name of the :file:`mfg.hex` file generated from the :file:`provision.py` script is :file:`nordic_aws_nrf52840.hex`. - It is, however, compatible with other supported boards. + * If you are using the combined device JSON file obtained from the AWS IoT console, use the ``certificate_json`` parameter. + It will specify this file as an input when running the provisioning script. -#. Flash the generated :file:`nordic_aws_nrf52840.hex` file with the provisioning data: + .. parsed-literal:: + :class: highlight - .. code-block:: console + python3 provision.py nordic aws --output_bin mfg.bin --certificate_json certificate.json --addr 0x17c000 - nrfjprog --sectorerase --program nordic_aws_nrf52840.hex --reset + * If you are using separate device JSON files obtained as responses from the GetDeviceProfile and GetWirelessDevice API operations, use the ``wireless_device_json`` and ``device_profile_json`` parameters. + This will specify both files as input when running the provisioning script. - * If you reflashed the :file:`nordic_aws_nrf52840.hex` file on an already working device, you need to deregister the previously flashed device. - To do this, perform a factory reset by long pressing **Button 1**. - This will allow you to register a new product (new :file:`nordic_aws_nrf52840.hex`) in the Sidewalk network. + .. parsed-literal:: + :class: highlight + + python3 provision.py nordic aws --output_bin mfg.bin + --wireless_device_json wireless_device.json + --device_profile_json device_profile.json + --addr 0x17c000 + + .. note:: + The default name of the :file:`mfg.hex` file generated from the :file:`provision.py` script is :file:`nordic_aws_nrf52840.hex`. + It is, however, compatible with other supported boards. + + #. Flash the generated :file:`nordic_aws_nrf52840.hex` file with the provisioning data: + + .. code-block:: console + + nrfjprog --sectorerase --program nordic_aws_nrf52840.hex --reset + + * If you reflashed the :file:`nordic_aws_nrf52840.hex` file on an already working device, you need to deregister the previously flashed device. + To do this, perform a factory reset by long pressing **Button 0**. + This will allow you to register a new product (new :file:`nordic_aws_nrf52840.hex`) in the Sidewalk network. Add MQTT to destination *********************** @@ -91,7 +111,7 @@ Add MQTT to destination .. figure:: /images/AWSIoTCoreDestinations.png -#. Select your destination end press :guilabel:`Edit`. +#. Select your destination end click :guilabel:`Edit`. .. figure:: /images/AWSIoTCoreDestinationEdit.png