From 957e6541f518444c1834e54b4d50ca40a9d1b9bd Mon Sep 17 00:00:00 2001 From: Dimitris Date: Sun, 24 May 2026 07:14:17 +0200 Subject: [PATCH] send data with ; delimiter --- src/main.rs | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main.rs b/src/main.rs index d866372..d64df50 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,7 @@ extern crate alloc; -use alloc::string::ToString; +use alloc::string::{String, ToString}; use embassy_executor::Spawner; use embassy_sync::{blocking_mutex::raw::NoopRawMutex, mutex::Mutex}; @@ -31,9 +31,9 @@ pub const PEER_ADDRESS: [u8; 6] = [0xd4u8, 0x8cu8, 0x49u8, 0xc9u8, 0x13u8, 0x14u pub const HOME: &str = "FRITZ!Box 7590 FP DK"; -pub const HOHENWALDECK: &str = "COSMOTE-C90C60"; +pub const KEFALOVRYSO: &str = "COSMOTE-C90C60"; -pub const KEFALOVRYSO: &str = "WLAN-732533"; +pub const HOHENWALDECK: &str = "WLAN-732533"; pub const DEEP_SLEEP_TIME: u64 = 300; @@ -57,8 +57,6 @@ macro_rules! mk_static { #[esp_hal::main] async fn main(_spawner: Spawner) -> ! { - // let accessPoints = vec![ "FRITZ!Box 7590 FP DK","COSMOTE-C90C60", "WLAN-732533" ]; - esp_println::logger::init_logger_from_env(); let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max()); let peripherals = esp_hal::init(config); @@ -88,11 +86,16 @@ async fn main(_spawner: Spawner) -> ! { // Not used println!("Scan"); + let mut ap_channel = 0; let scan_config = ScanConfig::default().with_max(10); let result = controller.scan_async(&scan_config).await.unwrap(); for ap in result { - if ap.ssid.as_str() == HOME { + if ap.ssid.as_str() == HOME + || ap.ssid.as_str() == KEFALOVRYSO + || ap.ssid.as_str() == HOHENWALDECK + { println!("{:?} {:?}", ap.ssid, ap.channel); + ap_channel = ap.channel } } @@ -101,7 +104,8 @@ async fn main(_spawner: Spawner) -> ! { match controller.channel() { Ok(channel_reading) => { println!("Channel Router: {:?}", channel_reading); - esp_now.set_channel(channel_reading.0).unwrap(); + // esp_now.set_channel(channel_reading.0).unwrap(); + let _ = esp_now.set_channel(ap_channel); } Err(error) => { esp_println::dbg!( @@ -142,7 +146,8 @@ async fn main(_spawner: Spawner) -> ! { loop { ticker.next().await; - let mut temp: f32 = 0.0; + let mut temperature: f32 = 0.0; + let mut humidity: f32 = 0.0; match dht22.read() { Ok(sensor_reading) => { @@ -151,7 +156,8 @@ async fn main(_spawner: Spawner) -> ! { sensor_reading.temperature, sensor_reading.humidity ); - temp = sensor_reading.temperature; + temperature = sensor_reading.temperature; + humidity = sensor_reading.humidity } Err(error) => { esp_println::dbg!("An error occurred while trying to read sensor: {:?}", error); @@ -169,10 +175,13 @@ async fn main(_spawner: Spawner) -> ! { } }; + + let string = String::from(temperature.to_string() + ";" + &humidity.to_string()); + let fill = (0..(20-string.len())).map(|_| " ").collect::(); println!("Send temperature to peer {:?}", peer.peer_address); let mut sender = sender.lock().await; let status = sender - .send_async(&peer.peer_address, temp.to_string().as_bytes()) + .send_async(&peer.peer_address, (string + fill.as_str()).as_bytes()) .await; println!("Send status: {:?}", status); println!("Going sleep: {:?} for seconds", DEEP_SLEEP_TIME);