send data with ; delimiter

This commit is contained in:
Dimitris
2026-05-24 07:14:17 +02:00
parent 0b173c34c1
commit 957e6541f5
+19 -10
View File
@@ -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::<String>();
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);