bytebeam-esp-rs-sdk
Connect ESP32 with Bytebeam IoT platform using Rust 🦀
Check out
docs to get started
Bytebeam is one stop IoT backend which let's you manage OTA updates, analytics, device-mobile communication & much more :sparkles: so that you can take your project to next level without hassel.
The **bytebeam-esp-rs-sdk** allows you to connect your ESP32 board with Bytebeam using **Rust** 🦀 . You can use any ESP32 board, we used ESP32-DevkitV1 board for testing and it worked like charm! Want to try it out? see the [examples](https://github.com/bytebeamio/bytebeam-esp-rs-sdk/blob/main/examples).
> **IMPORTANT** : `bytebeam-esp-rs` requires that the certificates file ( provided by Bytebeam cloud ) exists in SPIFFS partition with name `spiffs/device_config.json`. Check out [`/tools/provision`](https://github.com/bytebeamio/bytebeam-esp-rs-sdk/tree/main/tools/provision) to know how to flash it!
## ⚡ Running examples
Rename `cfg.toml.example` to `cfg.toml` and put your Wi-Fi credentials.
You can use [cargo espflash](https://github.com/esp-rs/espflash) to build the project and flash it. Connect your ESP board using USB and run the following command:
```sh
cargo espflash --release --monitor --partition-table --example --erase-otadata
```
> For developing in Rust on ESP, we will need to setup rust compiler and toolchains. This can easily be done by [`espup`](https://esp-rs.github.io/book/installation/installation.html#espup).
Use the same `` which you have used for provisioning certificates!
e.g. To run [actions](https://github.com/bytebeamio/bytebeam-esp-rs-sdk/blob/main/examples/actions.rs) example, with the given [partitions_example.csv](https://github.com/bytebeamio/bytebeam-esp-rs-sdk/blob/main/partitions_example.csv)
```sh
cargo espflash --example actions --release --monitor --partition-table ./partitions_example.csv --erase-otadata
```
## ⚙️ Advance Configs
If you want to use different version of ESP IDF, or want to change the install location, you can change `[env]` in `.cargo/config.toml`.
## 🚧 Need Help?
Found some bug or need help with something? Feel free to open issues. You can open PRs as well for contributing.