Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ There is:
* Some extra bits:
* [`mqtt-python-client`](./extra/mqtt-python-client) A Python MQTT client, for testing

Please note, much of this material remains a work in progress!

## Development

Each Rust example crate provided here can be built in the usual fashion. See
Expand Down
6 changes: 3 additions & 3 deletions advanced/button-interrupt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
anyhow = "=1.0.69"
rgb-led = { path = "../../common/lib/rgb-led" }
esp-idf-hal = "=0.40.1"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
rgb-led = { path = "../../common/lib/rgb-led" }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
6 changes: 3 additions & 3 deletions advanced/i2c-driver/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
esp-idf-hal = "=0.40.1"
anyhow = "=1.0.69"
embedded-hal = "=0.2.7"
esp-idf-hal = "=0.40.1"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
10 changes: 5 additions & 5 deletions advanced/i2c-sensor-reading/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
esp-idf-hal = "=0.40.1"
anyhow = "=1.0.69"
embedded-hal = "=0.2.7"
shtcx = "=0.11.0"
esp-idf-hal = "=0.40.1"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
icm42670 = "=0.1.1"
lis3dh = "=0.4.2"
shared-bus = "=0.2.5"
icm42670 = "=0.1.1"
shtcx = "=0.11.0"

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
9 changes: 6 additions & 3 deletions common/lib/get-uuid/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
[package]
name = "get-uuid"
version = "0.1.0"
authors = [
"Anatol Ulrich <[email protected]>",
"Sergio Gasquez <[email protected]>",
]
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
toml = "=0.5.11"
anyhow = "=1.0.69"
toml = "=0.5.11"

[build-dependencies]
anyhow = "=1.0.69"
uuid = { version = "=1.3.0", features = ["v4"] }
toml = "=0.5.11"
uuid = { version = "=1.3.0", features = ["v4"] }
8 changes: 5 additions & 3 deletions common/lib/mqtt-messages/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[package]
name = "mqtt-messages"
version = "0.1.0"
authors = [
"Tanks Transfeld <[email protected]>",
"Sergio Gasquez <[email protected]>",
]
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rgb = "0.8.36"
rgb = "=0.8.36"
9 changes: 5 additions & 4 deletions common/lib/mqtt-messages/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
use rgb::ComponentSlice;
use std::{
borrow::{Borrow, Cow},
str,
};

pub use rgb::RGB8;
use std::borrow::{Borrow, Cow};
use std::str;

/// Handles `EspMqttMessage` with MQTT hierarchy
///
/// Can be used to send ColorData(rgb) with `Command` in a hierarchical context

pub fn cmd_topic_fragment(uuid: &str) -> String {
format!("{}/command/", uuid)
}
Expand Down Expand Up @@ -49,7 +51,6 @@ impl Command {
}

/// `ColorData` is a simplified `Command`

pub enum ColorData {
BoardLed(RGB8),
}
Expand Down
10 changes: 5 additions & 5 deletions common/lib/rgb-led/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ edition = "2021"
authors = ["Sergio Gasquez <[email protected]>"]

[dependencies]
esp-idf-sys = { version = "=0.32.1" }
anyhow = "=1.0.69"
esp-idf-hal = "=0.40.1"
rgb = "=0.8.36"
esp-idf-sys = "=0.32.1"
log = "=0.4.17"
anyhow = "=1.0.69"
rgb = "=0.8.36"

[build-dependencies]
embuild = "0.31.0"
anyhow = "=1.0.69"
embuild = "0.31.0"

[dev-dependencies]
anyhow = "=1.0.69"
esp-idf-sys = { version = "=0.32.1", features = ["native", "binstart"] }
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
esp-idf-sys = { version = "=0.32.1", features = ["native", "binstart"] }
10 changes: 5 additions & 5 deletions common/lib/wifi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ edition = "2021"
authors = ["Sergio Gasquez <[email protected]>"]

[dependencies]
esp-idf-sys = { version = "=0.32.1" }
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
esp-idf-hal = "=0.40.1"
anyhow = "=1.0.69"
embedded-svc = "=0.24.0"
esp-idf-hal = "=0.40.1"
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
esp-idf-sys = "=0.32.1"
log = "=0.4.17"
anyhow = "=1.0.69"

[build-dependencies]
embuild = "0.31.0"
anyhow = "1"
embuild = "0.31.0"

[dev-dependencies]
anyhow = "1"
Expand Down
12 changes: 6 additions & 6 deletions intro/hardware-check/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
anyhow = "=1.0.69"
esp-idf-hal = "=0.40.1"
rgb-led = { path = "../../common/lib/rgb-led" }
wifi = { path = "../../common/lib/wifi" }
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
log = "=0.4.17"
anyhow = "=1.0.69"
rgb-led = { path = "../../common/lib/rgb-led" }
toml-cfg = "=0.1.3"
wifi = { path = "../../common/lib/wifi" }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
toml-cfg = "=0.1.3"
2 changes: 0 additions & 2 deletions intro/hardware-check/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
//! # Hardware Check

use anyhow::{bail, Result};
use esp_idf_hal::prelude::Peripherals;
use esp_idf_svc::eventloop::EspSystemEventLoop;
Expand Down
10 changes: 5 additions & 5 deletions intro/http-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-svc = { version = "0.45.0", features = ["experimental", "alloc"] }
anyhow = "=1.0.69"
embedded-svc = "=0.24.0"
esp-idf-hal = "=0.40.1"
esp-idf-svc = { version = "0.45.0", features = ["experimental", "alloc"] }
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
wifi = { path = "../../common/lib/wifi" }
embedded-svc = "=0.24.0"
anyhow = "=1.0.69"
toml-cfg = "=0.1.3"
wifi = { path = "../../common/lib/wifi" }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
toml-cfg = "=0.1.3"
13 changes: 6 additions & 7 deletions intro/http-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,16 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
anyhow = "=1.0.69"
embedded-svc = "=0.24.0"
esp-idf-hal = "=0.40.1"
esp-idf-svc = { version = "0.45.0", features = ["experimental", "alloc"] }
wifi = { path = "../../common/lib/wifi" }
embedded-svc = "=0.24.0"
anyhow = "=1.0.69"
toml-cfg = "=0.1.3"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
shtcx = "=0.11.0"

toml-cfg = "=0.1.3"
wifi = { path = "../../common/lib/wifi" }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
toml-cfg = "=0.1.3"
5 changes: 2 additions & 3 deletions intro/http-server/examples/http_server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@ fn main() -> Result<()> {
)?;

// Initialize temperature sensor
let pins = peripherals.pins;
let sda = pins.gpio10;
let scl = pins.gpio8;
let sda = peripherals.pins.gpio10;
let scl = peripherals.pins.gpio8;
let i2c = peripherals.i2c0;
let config = I2cConfig::new().baudrate(100.kHz().into());
let i2c = I2cDriver::new(i2c, sda, scl, &config)?;
Expand Down
5 changes: 2 additions & 3 deletions intro/http-server/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,8 @@ fn main() -> Result<()> {
)?;

// Initialize temperature sensor
let pins = peripherals.pins;
let sda = pins.gpio10;
let scl = pins.gpio8;
let sda = peripherals.pins.gpio10;
let scl = peripherals.pins.gpio8;
let i2c = peripherals.i2c0;
let config = I2cConfig::new().baudrate(100.kHz().into());
let i2c = I2cDriver::new(i2c, sda, scl, &config)?;
Expand Down
17 changes: 8 additions & 9 deletions intro/mqtt/exercise/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,20 @@ default = ["native"]
native = ["esp-idf-sys/native"]

[dependencies]
esp-idf-hal = "=0.40.1"
anyhow = "=1.0.69"
embedded-svc = "=0.24.0"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
esp-idf-hal = "=0.40.1"
esp-idf-svc = { version = "=0.45.0", features = ["experimental", "alloc"] }
rgb-led = { path = "../../../common/lib/rgb-led" }
wifi = { path = "../../../common/lib/wifi" }
log = "=0.4.17"
anyhow = "=1.0.69"
toml-cfg = "=0.1.3"
esp-idf-sys = { version = "=0.32.1", features = ["binstart"] }
get-uuid = { path = "../../../common/lib/get-uuid" }
log = "=0.4.17"
mqtt-messages = { path = "../../../common/lib/mqtt-messages" }
rgb-led = { path = "../../../common/lib/rgb-led" }
shtcx = "=0.11.0"

toml-cfg = "=0.1.3"
wifi = { path = "../../../common/lib/wifi" }

[build-dependencies]
embuild = "=0.31.0"
anyhow = "=1.0.69"
embuild = "=0.31.0"
toml-cfg = "=0.1.3"
6 changes: 4 additions & 2 deletions intro/mqtt/exercise/examples/solution_publ.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ use esp_idf_hal::{
i2c::{I2cConfig, I2cDriver},
prelude::*,
};
use esp_idf_svc::eventloop::EspSystemEventLoop;
use esp_idf_svc::mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration};
use esp_idf_svc::{
eventloop::EspSystemEventLoop,
mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration},
};
use log::{error, info, warn};
use mqtt_messages::{hello_topic, ColorData};
use rgb_led::{RGB8, WS2812RMT};
Expand Down
6 changes: 4 additions & 2 deletions intro/mqtt/exercise/examples/solution_publ_rcv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ use esp_idf_hal::{
i2c::{I2cConfig, I2cDriver},
prelude::*,
};
use esp_idf_svc::eventloop::EspSystemEventLoop;
use esp_idf_svc::mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration};
use esp_idf_svc::{
eventloop::EspSystemEventLoop,
mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration},
};
use log::{error, info, warn};
use mqtt_messages::{hello_topic, ColorData};
use rgb_led::{RGB8, WS2812RMT};
Expand Down
10 changes: 5 additions & 5 deletions intro/mqtt/exercise/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ use esp_idf_hal::{
i2c::{I2cConfig, I2cDriver},
prelude::*,
};
use esp_idf_svc::eventloop::EspSystemEventLoop;
use esp_idf_svc::mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration};
use esp_idf_svc::{
eventloop::EspSystemEventLoop,
mqtt::client::{EspMqttClient, EspMqttMessage, MqttClientConfiguration},
};
use log::{error, info};
use mqtt_messages::{cmd_topic_fragment, hello_topic, Command, RawCommandData};
use rgb_led::{RGB8, WS2812RMT};
use shtcx::{self, shtc3, PowerMode};
use std::{borrow::Cow, convert::TryFrom, thread::sleep, time::Duration};
use wifi::wifi;
// If using the `binstart` feature of `esp-idf-sys`, always keep this module imported
use esp_idf_sys as _;

// imported message topics
use mqtt_messages::{cmd_topic_fragment, hello_topic, Command, RawCommandData};

const UUID: &'static str = get_uuid::uuid();

#[toml_cfg::toml_config]
Expand Down
10 changes: 7 additions & 3 deletions intro/mqtt/host-client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
[package]
name = "host-client"
version = "0.1.0"
authors = [
"Anatol Ulrich <[email protected]>",
"Sergio Gasquez <[email protected]>",
]
edition = "2021"

[dependencies]
rumqttc = "=0.20.0"
rand = "=0.8.5"
toml-cfg = "=0.1.3"
get-uuid = { path = "../../../common/lib/get-uuid" }
mqtt-messages = { path = "../../../common/lib/mqtt-messages" }
rand = "=0.8.5"
rumqttc = "=0.20.0"
toml-cfg = "=0.1.3"
4 changes: 1 addition & 3 deletions intro/mqtt/host-client/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
use mqtt_messages::{hello_topic, temperature_data_topic, ColorData, RGB8};
use rand::Rng;
use rumqttc::{Client, MqttOptions, Packet, QoS};
use std::error::Error;
use std::thread;
use std::time::Duration;
use std::{error::Error, thread, time::Duration};

const UUID: &'static str = get_uuid::uuid();

Expand Down