esp-idf/examples/openthread/ot_sleepy_device
2023-07-12 14:36:55 +08:00
..
main ieee802154: change BLE_BB/ieee802154_BB 2023-07-12 14:36:55 +08:00
CMakeLists.txt ieee802154: add sleep state 2023-07-12 14:36:21 +08:00
partitions.csv ieee802154: add sleep state 2023-07-12 14:36:21 +08:00
README.md openthread: add openthread autostart for sleep device 2023-07-12 14:36:41 +08:00
sdkconfig.defaults ieee802154: add sleep state 2023-07-12 14:36:21 +08:00

Supported Targets ESP32-C6

OpenThread Sleepy Device Example

The example demonstrates the Thread Sleepy End Device (SED), the device will enter Light Sleep mode during idle state.

How to use example

Hardware Required

  • Prepare an ESP32-C6 development board as an OpenThread Sleepy End Device (SED).
  • Connect the board using a USB cable for power supply and programming.
  • Choose another ESP32-C6 as the OpenThread Leader.

Configure the Openthread Dataset

  • Run ot_cli on another ESP32-C6 device to create openthread dataset configuration and start an openthread network as the leader.
  • Configure the Openthread dataset using idf.py menuconfig in Component config ---> Openthread ---> Thread Operation Dataset, ensuring that the openthread sleepy device's dataset matches the dataset of the leader.

Erase the ot_storage

If desired, erase the ot_storage by running idf.py -p <PORT> erase-flash before flashing the board to remove previous examples or other project data.

Build and Flash

Build the project and flash it to the board. Use the following command: idf.py -p <PORT> build flash monitor.

Example Output

As the example runs, you will see the log output indicating the initialization and operation of OpenThread, including the device joining the OpenThread network as a Sleepy End Device (SED) and periodic polling of the leader.

I (769) btbb_init: btbb sleep retention initialization
I (769) ieee802154: ieee802154 mac sleep retention initialization
I(769) OPENTHREAD:[I] ChildSupervsn-: Timeout: 0 -> 190
I (699) main_task: Returned from app_main()
I (799) OPENTHREAD: OpenThread attached to netif
I(799) OPENTHREAD:[N] Mle-----------: Mode 0x0f -> 0x04 [rx-on:no ftd:no full-net:no]
I(809) OPENTHREAD:[N] Mle-----------: Role disabled -> detached
I (819) OPENTHREAD: netif up
I(1519) OPENTHREAD:[N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
I(2479) OPENTHREAD:[N] Mle-----------: RLOC16 fffe -> 5023
I(2529) OPENTHREAD:[N] Mle-----------: Role detached -> child