This is a simple demo that we will use on the upcoming Espressif DevCon23.
ESP32 variant: https://github.com/JurajSadel/esp32-no-std-async-mqtt-demo
ESP32S3 variant: https://github.com/JurajSadel/esp32s3-no-std-async-mqtt-demo
The application measures temperature (BMP180
) and sends the results to MQTT
via WiFi - everything is done asynchronously.
It's async no_std
application that uses esp-hal, esp-wifi, and rust-mqtt crates. The main skeleton is made of embassy_dhcp and no_std_temperature_logger with a bunch of changes.
The first change is MQTT
part added. We are using MQTTv5
. As a broker, we usepublic-mqtt-broker and websocket-client to see the results.
As a next change, we had to make bmp180.rs async
.
You have to set the SSID
and PASSWORD
environment variables before building/running the program
cargo run --release
WARN: Be sure you are using
release
mode!
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.