bytebeamio/bytebeam-esp-idf-sdk

1.0.1

uploaded 10 months ago
Application for connecting ESP devices to Bytebeam IoT platform

readme

# Bytebeam ESP IDF SDK

<div>
    <img alt="Bytebeam ESP IDF SDK Logo" src="docs/logo.png" />
</div>

This SDK consist of components that can be used for connecting ESP devices to [Bytebeam](https://bytebeam.io/) IoT platform

## Features :-

- Efficiently send data to cloud.
- Receive commands from the cloud, execute them and update progress of execution.
- Download Firmware images from cloud in case of OTA updates being triggered from cloud.

## What's included in the SDK :-

- **components/bytebeam_esp_sdk** :-  This section contains source code for various functions that can be used by applications for interacting with Bytebeam platform. 
- **examples** :- This folder conatins demo application's which demonstrates establishing secure connection with Bytebeam platform. Also, it demonstrates periodic data pushing and receiving actions.
- **provisioning** :- This folder contains application for pushing device config data to file system of device (say SPIFFS).

## Dependencies :-

- [ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/) 
- ESP32 Dev Board

We recommend to install the latest version of the ESP-IDF.

## SDK Setup and Integration :-

This SDK can be integrated with new as well as existing ESP projects. Follow the [instruction guide](https://bytebeam.io/docs/esp-idf) for setting up and integrating SDK with your projects. 

## Community :-

- Follow us on [Twitter](https://twitter.com/bytebeamhq)
- Connect with us on [LinkedIn](https://www.linkedin.com/company/bytebeam/)
- Read our official [Blog](https://bytebeam.io/blog/)

## Contributing :-

Contributions are welcome! Not only you’ll encourage the development of the SDK, but you’ll also learn how to best use the SDK and probably some C too.

See [the contributing guide](CONTRIBUTING.md) for detailed instructions on how to get started with the SDK. Please follow the [code of conduct](CODE_OF_CONDUCT.md) while contributing.

## License :-

This SDK is licensed under the Apache License, Version 2.0 (see [LICENSE](LICENSE) for details).

changelog

# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.1] - 2023-06-03

### Changed
- Re-Structured the project as per the idf component registry

## [1.0.0] - 2023-05-17

### Added
- The Initial Release :)

readme of actions_handling example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Actions Handling Example
This example demonnstrates how to manage actions triggered from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5674) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Initializing SNTP
I (5684) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (1/10)
I (7694) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (2/10)
I (9694) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (3/10)
I (9784) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Notification of a time synchronization event
I (11694) BYTEBEAM_SDK: SPIFFS file system detected !
I (11714) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (11804) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (11804) BYTEBEAM_SDK: [APP] Free memory: 226224 bytes
I (11804) BYTEBEAM_SDK: Normal reboot
I (11804) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (11814) BYTEBEAM_SDK: Other event id:7
I (11814) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683884907742,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11218,
                "Status":       "Device is Up!",
                "Software_Type":        "actions-handling-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (11844) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (11984) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (14344) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (14344) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:32194
I (14354) BYTEBEAM_SDK: sent publish successful, msg_id=9592, message:[{
                "timestamp":    1683884907742,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11218,
                "Status":       "Device is Up!",
                "Software_Type":        "actions-handling-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (14374) BYTEBEAM_SDK: Bytebeam Client started !!
I (14384) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (14384) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (14904) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=32194
I (16024) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=9592
I (24394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (24394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (34394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of basic_ota example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Basic OTA Example
This example demonnstrates how to do over the air firmware upgrades from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5689) BYTEBEAM_BASIC_OTA_EXAMPLE: Initializing SNTP
I (5699) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (1/10)
I (7709) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (2/10)
I (9709) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (3/10)
I (10489) BYTEBEAM_BASIC_OTA_EXAMPLE: Notification of a time synchronization event
W (10489) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (11709) BYTEBEAM_SDK: SPIFFS file system detected !
I (11729) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (11819) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (11819) BYTEBEAM_SDK: [APP] Free memory: 225932 bytes
I (11819) BYTEBEAM_SDK: Normal reboot
I (11819) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (11829) BYTEBEAM_SDK: Other event id:7
I (11829) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683885220737,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (11859) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (13409) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (13419) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:13749
I (13419) BYTEBEAM_SDK: sent publish successful, msg_id=33045, message:[{
                "timestamp":    1683885220737,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (13449) BYTEBEAM_SDK: Bytebeam Client started !!
I (13449) BYTEBEAM_BASIC_OTA_EXAMPLE: Application Firmware Version : 1.0.0
I (13459) BYTEBEAM_BASIC_OTA_EXAMPLE: Status : Connected
I (13459) BYTEBEAM_BASIC_OTA_EXAMPLE: Project Id : ota, Device Id : 1
I (13469) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=13749
I (13499) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=33045
I (23479) BYTEBEAM_BASIC_OTA_EXAMPLE: Status : Connected
I (23479) BYTEBEAM_BASIC_OTA_EXAMPLE: Project Id : ota, Device Id : 1
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of basic_ota_rollback example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Basic OTA Rollback Example
This example demonnstrates how to rollback over the air firmware upgrades from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5690) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Initializing SNTP
I (5700) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Waiting for system time to be set... (1/10)
I (7710) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Waiting for system time to be set... (2/10)
I (8810) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Notification of a time synchronization event
I (9710) BYTEBEAM_SDK: SPIFFS file system detected !
I (9730) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9820) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9820) BYTEBEAM_SDK: [APP] Free memory: 226008 bytes
I (9820) BYTEBEAM_SDK: Normal reboot
I (9820) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9830) BYTEBEAM_SDK: Other event id:7
I (9830) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683888550813,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-rollback-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9860) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (10060) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (13030) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (13040) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:59862
I (13040) BYTEBEAM_SDK: sent publish successful, msg_id=6432, message:[{
                "timestamp":    1683888550813,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-rollback-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (13070) BYTEBEAM_SDK: Bytebeam Client started !!
I (13070) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Application Firmware Version : 1.0.0
I (13080) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Status : Connected
I (13090) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Project Id : ota, Device Id : 1
I (13160) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=59862
I (14670) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=6432
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of cloud_logging example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Cloud Logging Example
This example demonnstrates how to log the useful information to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5674) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Initializing SNTP
I (5684) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Waiting for system time to be set... (1/10)
I (6304) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Notification of a time synchronization event
I (7694) BYTEBEAM_SDK: SPIFFS file system detected !
I (7714) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (7804) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (7804) BYTEBEAM_SDK: [APP] Free memory: 226212 bytes
I (7804) BYTEBEAM_SDK: Normal reboot
I (7804) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (7814) BYTEBEAM_SDK: Other event id:7
I (7814) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683885926173,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7219,
                "Status":       "Device is Up!",
                "Software_Type":        "cloud-logging-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (7844) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (7884) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:1, winSize:64
I (9364) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (9374) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:37143
I (9374) BYTEBEAM_SDK: sent publish successful, msg_id=5985, message:[{
                "timestamp":    1683885926173,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7219,
                "Status":       "Device is Up!",
                "Software_Type":        "cloud-logging-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (9404) BYTEBEAM_SDK: Bytebeam Client started !!
I (9404) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Cloud Logging is Enabled.
I (9414) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=37143
I (9414) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/logs/jsonarray
I (9424) BYTEBEAM_SDK: sent publish successful, msg_id=62988, message:[{
                "timestamp":    1683885927774,
                "sequence":     1,
                "level":        "Info",
                "tag":  "BYTEBEAM_CLOUD_LOGGING_EXAMPLE",
                "message":      "Status : Connected"
        }]
I (9444) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Status : Connected
I (9454) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=5985
I (9454) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/logs/jsonarray
I (9474) BYTEBEAM_SDK: sent publish successful, msg_id=36305, message:[{
                "timestamp":    1683885927814,
                "sequence":     2,
                "level":        "Info",
                "tag":  "BYTEBEAM_CLOUD_LOGGING_EXAMPLE",
                "message":      "Project Id : ota, Device Id : 1"
        }]
I (9484) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Project Id : ota, Device Id : 1
I (9494) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=62988
I (9534) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=36305
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of esp_touch example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam ESP Touch Example
This example demonnstrates how to push board capacitive touch GPIOs readings to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/actions_handling example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Actions Handling Example
This example demonnstrates how to manage actions triggered from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5674) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Initializing SNTP
I (5684) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (1/10)
I (7694) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (2/10)
I (9694) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (3/10)
I (9784) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Notification of a time synchronization event
I (11694) BYTEBEAM_SDK: SPIFFS file system detected !
I (11714) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (11804) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (11804) BYTEBEAM_SDK: [APP] Free memory: 226224 bytes
I (11804) BYTEBEAM_SDK: Normal reboot
I (11804) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (11814) BYTEBEAM_SDK: Other event id:7
I (11814) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683884907742,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11218,
                "Status":       "Device is Up!",
                "Software_Type":        "actions-handling-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (11844) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (11984) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (14344) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (14344) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:32194
I (14354) BYTEBEAM_SDK: sent publish successful, msg_id=9592, message:[{
                "timestamp":    1683884907742,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11218,
                "Status":       "Device is Up!",
                "Software_Type":        "actions-handling-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (14374) BYTEBEAM_SDK: Bytebeam Client started !!
I (14384) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (14384) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (14904) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=32194
I (16024) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=9592
I (24394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (24394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (34394) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/basic_ota example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Basic OTA Example
This example demonnstrates how to do over the air firmware upgrades from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5689) BYTEBEAM_BASIC_OTA_EXAMPLE: Initializing SNTP
I (5699) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (1/10)
I (7709) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (2/10)
I (9709) BYTEBEAM_BASIC_OTA_EXAMPLE: Waiting for system time to be set... (3/10)
I (10489) BYTEBEAM_BASIC_OTA_EXAMPLE: Notification of a time synchronization event
W (10489) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (11709) BYTEBEAM_SDK: SPIFFS file system detected !
I (11729) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (11819) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (11819) BYTEBEAM_SDK: [APP] Free memory: 225932 bytes
I (11819) BYTEBEAM_SDK: Normal reboot
I (11819) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (11829) BYTEBEAM_SDK: Other event id:7
I (11829) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683885220737,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (11859) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (13409) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (13419) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:13749
I (13419) BYTEBEAM_SDK: sent publish successful, msg_id=33045, message:[{
                "timestamp":    1683885220737,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       11219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (13449) BYTEBEAM_SDK: Bytebeam Client started !!
I (13449) BYTEBEAM_BASIC_OTA_EXAMPLE: Application Firmware Version : 1.0.0
I (13459) BYTEBEAM_BASIC_OTA_EXAMPLE: Status : Connected
I (13459) BYTEBEAM_BASIC_OTA_EXAMPLE: Project Id : ota, Device Id : 1
I (13469) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=13749
I (13499) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=33045
I (23479) BYTEBEAM_BASIC_OTA_EXAMPLE: Status : Connected
I (23479) BYTEBEAM_BASIC_OTA_EXAMPLE: Project Id : ota, Device Id : 1
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/basic_ota_rollback example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Basic OTA Rollback Example
This example demonnstrates how to rollback over the air firmware upgrades from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5690) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Initializing SNTP
I (5700) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Waiting for system time to be set... (1/10)
I (7710) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Waiting for system time to be set... (2/10)
I (8810) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Notification of a time synchronization event
I (9710) BYTEBEAM_SDK: SPIFFS file system detected !
I (9730) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9820) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9820) BYTEBEAM_SDK: [APP] Free memory: 226008 bytes
I (9820) BYTEBEAM_SDK: Normal reboot
I (9820) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9830) BYTEBEAM_SDK: Other event id:7
I (9830) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683888550813,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-rollback-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9860) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (10060) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (13030) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (13040) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:59862
I (13040) BYTEBEAM_SDK: sent publish successful, msg_id=6432, message:[{
                "timestamp":    1683888550813,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9219,
                "Status":       "Device is Up!",
                "Software_Type":        "basic-ota-rollback-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (13070) BYTEBEAM_SDK: Bytebeam Client started !!
I (13070) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Application Firmware Version : 1.0.0
I (13080) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Status : Connected
I (13090) BYTEBEAM_BASIC_OTA_ROLLBACK_EXAMPLE: Project Id : ota, Device Id : 1
I (13160) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=59862
I (14670) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=6432
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/cloud_logging example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Cloud Logging Example
This example demonnstrates how to log the useful information to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5674) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Initializing SNTP
I (5684) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Waiting for system time to be set... (1/10)
I (6304) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Notification of a time synchronization event
I (7694) BYTEBEAM_SDK: SPIFFS file system detected !
I (7714) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (7804) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (7804) BYTEBEAM_SDK: [APP] Free memory: 226212 bytes
I (7804) BYTEBEAM_SDK: Normal reboot
I (7804) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (7814) BYTEBEAM_SDK: Other event id:7
I (7814) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683885926173,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7219,
                "Status":       "Device is Up!",
                "Software_Type":        "cloud-logging-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (7844) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (7884) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:1, winSize:64
I (9364) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (9374) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:37143
I (9374) BYTEBEAM_SDK: sent publish successful, msg_id=5985, message:[{
                "timestamp":    1683885926173,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7219,
                "Status":       "Device is Up!",
                "Software_Type":        "cloud-logging-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (9404) BYTEBEAM_SDK: Bytebeam Client started !!
I (9404) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Cloud Logging is Enabled.
I (9414) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=37143
I (9414) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/logs/jsonarray
I (9424) BYTEBEAM_SDK: sent publish successful, msg_id=62988, message:[{
                "timestamp":    1683885927774,
                "sequence":     1,
                "level":        "Info",
                "tag":  "BYTEBEAM_CLOUD_LOGGING_EXAMPLE",
                "message":      "Status : Connected"
        }]
I (9444) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Status : Connected
I (9454) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=5985
I (9454) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/logs/jsonarray
I (9474) BYTEBEAM_SDK: sent publish successful, msg_id=36305, message:[{
                "timestamp":    1683885927814,
                "sequence":     2,
                "level":        "Info",
                "tag":  "BYTEBEAM_CLOUD_LOGGING_EXAMPLE",
                "message":      "Project Id : ota, Device Id : 1"
        }]
I (9484) BYTEBEAM_CLOUD_LOGGING_EXAMPLE: Project Id : ota, Device Id : 1
I (9494) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=62988
I (9534) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=36305
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/esp_touch example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam ESP Touch Example
This example demonnstrates how to push board capacitive touch GPIOs readings to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/hello_wokwi example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Hello Wokwi Example
This example demonnstrates how integrate Wokwi with Bytebeam IoT Platform.

## Hardware Required
- None, As we are going to use [Wokwi](https://wokwi.com/) Simulator.

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "hello-wokwi-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "hello-wokwi-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/push_data example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Push Data Example
This example demonnstrates how to push data to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5673) BYTEBEAM_PUSH_DATA_EXAMPLE: Initializing SNTP
I (5683) BYTEBEAM_PUSH_DATA_EXAMPLE: Waiting for system time to be set... (1/10)
I (7693) BYTEBEAM_PUSH_DATA_EXAMPLE: Waiting for system time to be set... (2/10)
W (9263) wifi:I (9273) BYTEBEAM_PUSH_DATA_EXAMPLE: Notification of a time synchronization event
<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:5, ssn:0, winSize:64
I (9693) BYTEBEAM_SDK: SPIFFS file system detected !
I (9713) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9803) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9803) BYTEBEAM_SDK: [APP] Free memory: 225936 bytes
I (9803) BYTEBEAM_SDK: Normal reboot
I (9803) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9813) BYTEBEAM_SDK: Other event id:7
I (9813) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887056505,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9218,
                "Status":       "Device is Up!",
                "Software_Type":        "push-data-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9853) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11543) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11553) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:13944
I (11553) BYTEBEAM_SDK: sent publish successful, msg_id=64772, message:[{
                "timestamp":    1683887056505,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9218,
                "Status":       "Device is Up!",
                "Software_Type":        "push-data-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (11573) BYTEBEAM_SDK: Bytebeam Client started !!
I (11583) BYTEBEAM_PUSH_DATA_EXAMPLE:
Status to send:
[{
                "timestamp":    1683887058275,
                "sequence":     1,
                "Status":       "Device Status Working !"
        }]

I (11593) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=13944
I (11603) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11613) BYTEBEAM_SDK: sent publish successful, msg_id=56914, message:[{
                "timestamp":    1683887058275,
                "sequence":     1,
                "Status":       "Device Status Working !"
        }]
I (11633) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=64772
I (11683) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=56914
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/setup_client example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Setup Client Example
This example demonnstrates how to setup the client for Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5673) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Initializing SNTP
I (5683) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (1/10)
I (7673) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Notification of a time synchronization event
I (7693) BYTEBEAM_SDK: SPIFFS file system detected !
I (7713) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (7803) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (7803) BYTEBEAM_SDK: [APP] Free memory: 226228 bytes
I (7803) BYTEBEAM_SDK: Normal reboot
I (7803) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (7813) BYTEBEAM_SDK: Other event id:7
I (7813) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887369738,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7217,
                "Status":       "Device is Up!",
                "Software_Type":        "setup-client-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (7843) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (8043) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (10033) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (10043) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:54213
I (10053) BYTEBEAM_SDK: sent publish successful, msg_id=20343, message:[{
                "timestamp":    1683887369738,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7217,
                "Status":       "Device is Up!",
                "Software_Type":        "setup-client-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (10073) BYTEBEAM_SDK: Bytebeam Client started !!
I (10073) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (10083) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (10203) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=54213
I (10613) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=20343
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/temp_humid example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Temp Humid Example
This example demonnstrates how to push the sht31 sensor readings to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming
- Sensiron SHT31 sensor

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/toggle_led example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Toggle LED Example
This example demonnstrates how to control the led gpio from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "toggle-led-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "toggle-led-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of examples/update_config example

                                        
                                        # Bytebeam Update Config Example
This example demonnstrates how to update the device configurations from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "update-config-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "update-config-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of hello_wokwi example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Hello Wokwi Example
This example demonnstrates how integrate Wokwi with Bytebeam IoT Platform.

## Hardware Required
- None, As we are going to use [Wokwi](https://wokwi.com/) Simulator.

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "hello-wokwi-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "hello-wokwi-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of push_data example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Push Data Example
This example demonnstrates how to push data to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5673) BYTEBEAM_PUSH_DATA_EXAMPLE: Initializing SNTP
I (5683) BYTEBEAM_PUSH_DATA_EXAMPLE: Waiting for system time to be set... (1/10)
I (7693) BYTEBEAM_PUSH_DATA_EXAMPLE: Waiting for system time to be set... (2/10)
W (9263) wifi:I (9273) BYTEBEAM_PUSH_DATA_EXAMPLE: Notification of a time synchronization event
<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:5, ssn:0, winSize:64
I (9693) BYTEBEAM_SDK: SPIFFS file system detected !
I (9713) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9803) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9803) BYTEBEAM_SDK: [APP] Free memory: 225936 bytes
I (9803) BYTEBEAM_SDK: Normal reboot
I (9803) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9813) BYTEBEAM_SDK: Other event id:7
I (9813) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887056505,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9218,
                "Status":       "Device is Up!",
                "Software_Type":        "push-data-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9853) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11543) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11553) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:13944
I (11553) BYTEBEAM_SDK: sent publish successful, msg_id=64772, message:[{
                "timestamp":    1683887056505,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9218,
                "Status":       "Device is Up!",
                "Software_Type":        "push-data-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (11573) BYTEBEAM_SDK: Bytebeam Client started !!
I (11583) BYTEBEAM_PUSH_DATA_EXAMPLE:
Status to send:
[{
                "timestamp":    1683887058275,
                "sequence":     1,
                "Status":       "Device Status Working !"
        }]

I (11593) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=13944
I (11603) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11613) BYTEBEAM_SDK: sent publish successful, msg_id=56914, message:[{
                "timestamp":    1683887058275,
                "sequence":     1,
                "Status":       "Device Status Working !"
        }]
I (11633) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=64772
I (11683) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=56914
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of setup_client example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Setup Client Example
This example demonnstrates how to setup the client for Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5673) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Initializing SNTP
I (5683) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Waiting for system time to be set... (1/10)
I (7673) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Notification of a time synchronization event
I (7693) BYTEBEAM_SDK: SPIFFS file system detected !
I (7713) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (7803) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (7803) BYTEBEAM_SDK: [APP] Free memory: 226228 bytes
I (7803) BYTEBEAM_SDK: Normal reboot
I (7803) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (7813) BYTEBEAM_SDK: Other event id:7
I (7813) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887369738,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7217,
                "Status":       "Device is Up!",
                "Software_Type":        "setup-client-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (7843) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
W (8043) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:3, ssn:0, winSize:64
I (10033) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (10043) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:54213
I (10053) BYTEBEAM_SDK: sent publish successful, msg_id=20343, message:[{
                "timestamp":    1683887369738,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       7217,
                "Status":       "Device is Up!",
                "Software_Type":        "setup-client-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (10073) BYTEBEAM_SDK: Bytebeam Client started !!
I (10073) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Status : Connected
I (10083) BYTEBEAM_SETUP_CLIENT_EXAMPLE: Project Id : ota, Device Id : 1
I (10203) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=54213
I (10613) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=20343
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of temp_humid example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Temp Humid Example
This example demonnstrates how to push the sht31 sensor readings to Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming
- Sensiron SHT31 sensor

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of toggle_led example

                                        
                                        | Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- |

# Bytebeam Toggle LED Example
This example demonnstrates how to control the led gpio from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "toggle-led-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "toggle-led-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

readme of update_config example

                                        
                                        # Bytebeam Update Config Example
This example demonnstrates how to update the device configurations from Bytebeam IoT Platform.

## Hardware Required
- A development board with Espressif SoC (e.g.,ESP32-DevKitC, ESP-WROVER-KIT, etc.)
- A USB cable for Power supply and programming

## Software Required
- ESP-IDF
- Bytebeam ESP-IDF SDK

## Project Configurations

Open the project configuration menu (`idf.py menuconfig`).

In the `Example Configuration` menu:

- Set the Wi-Fi configuration.
  - Set `WiFi SSID`.
  - Set `WiFi Password`.

Optional: If you need, change the other options according to your requirements.

## Build and Flash

Run `idf.py -p PORT flash monitor` to build, flash and monitor the project.

(To exit the serial monitor, type Ctrl-].)

See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects.

## Example Output

```
I (5697) BYTEBEAM_TOGGLE_LED_EXAMPLE: Initializing SNTP
I (5707) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (1/10)
I (7717) BYTEBEAM_TOGGLE_LED_EXAMPLE: Waiting for system time to be set... (2/10)
I (9417) BYTEBEAM_TOGGLE_LED_EXAMPLE: Notification of a time synchronization event
W (9417) wifi:<ba-add>idx:1 (ifx:0, 5c:8c:30:c2:24:39), tid:1, ssn:0, winSize:64
I (9717) gpio: GPIO[2]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (9717) BYTEBEAM_SDK: SPIFFS file system detected !
I (9737) BYTEBEAM_SDK: Reading file : /spiffs/device_config.json
I (9827) BYTEBEAM_SDK: The uri  is: mqtts://cloud.bytebeam.io:8883

I (9827) BYTEBEAM_SDK: [APP] Free memory: 225880 bytes
I (9837) BYTEBEAM_SDK: Normal reboot
I (9837) BYTEBEAM_SDK: Bytebeam Client Initialized !!
I (9837) BYTEBEAM_SDK: Other event id:7
I (9847) BYTEBEAM_SDK:
Status to send:
[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "update-config-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]

I (9877) BYTEBEAM_SDK: Topic is /tenants/ota/devices/1/events/device_shadow/jsonarray
I (11977) BYTEBEAM_SDK: MQTT_EVENT_CONNECTED
I (11977) BYTEBEAM_SDK: MQTT SUBSCRIBED!! Msg ID:58285
I (11987) BYTEBEAM_SDK: sent publish successful, msg_id=10976, message:[{
                "timestamp":    1683887741980,
                "sequence":     1,
                "Reset_Reason": "Power On Reset",
                "Uptime":       9242,
                "Status":       "Device is Up!",
                "Software_Type":        "update-config-app",
                "Software_Version":     "1.0.0",
                "Hardware_Type":        "ESP32 DevKit V1",
                "Hardware_Version":     "rev1"
        }]
I (12007) BYTEBEAM_SDK: Bytebeam Client started !!
I (12217) BYTEBEAM_SDK: MQTT_EVENT_SUBSCRIBED, msg_id=58285
I (12307) BYTEBEAM_SDK: MQTT_EVENT_PUBLISHED, msg_id=10976
```

## Troubleshooting

- Ensure you've provisioned the device correctly
- Ensure working Wi-Fi connectivity

For any technical queries, please open an [issue](https://github.com/bytebeamio/bytebeam-esp-idf-sdk/issues) on GitHub. We will get back to you soon.
                                    

Links

Supports all targets

Maintainer

  • Mayank Narang <https://github.com/mayankbytebeam>

License: Apache-2.0

To add this component to your project, run:

idf.py add-dependency "bytebeamio/bytebeam-esp-idf-sdk^1.0.1"

or download archive

Dependencies

  • ESP-IDF >=4.4
  • Examples:

    actions_handling

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:actions_handling"

    or download archive

    basic_ota

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:basic_ota"

    or download archive

    basic_ota_rollback

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:basic_ota_rollback"

    or download archive

    cloud_logging

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:cloud_logging"

    or download archive

    esp_touch

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:esp_touch"

    or download archive

    examples/actions_handling

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/actions_handling"

    or download archive

    examples/basic_ota

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/basic_ota"

    or download archive

    examples/basic_ota_rollback

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/basic_ota_rollback"

    or download archive

    examples/cloud_logging

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/cloud_logging"

    or download archive

    examples/esp_touch

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/esp_touch"

    or download archive

    examples/hello_wokwi

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/hello_wokwi"

    or download archive

    examples/push_data

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/push_data"

    or download archive

    examples/setup_client

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/setup_client"

    or download archive

    examples/temp_humid

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/temp_humid"

    or download archive

    examples/toggle_led

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/toggle_led"

    or download archive

    examples/update_config

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:examples/update_config"

    or download archive

    hello_wokwi

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:hello_wokwi"

    or download archive

    push_data

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:push_data"

    or download archive

    setup_client

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:setup_client"

    or download archive

    temp_humid

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:temp_humid"

    or download archive

    toggle_led

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:toggle_led"

    or download archive

    update_config

    more details

    To create a project from this example, run:

    idf.py create-project-from-example "bytebeamio/bytebeam-esp-idf-sdk^1.0.1:update_config"

    or download archive

    Stats

    • Downloaded in total
      Downloaded in total 17 times
    • Downloaded this version
      This version: 17 times

    Badge

    bytebeamio/bytebeam-esp-idf-sdk version: 1.0.1
    |