mirror of
https://github.com/FliegendeWurst/raspi-oled.git
synced 2024-11-28 13:05:53 +00:00
Sanity-check sensor readings, display time
This commit is contained in:
parent
68fb4c13ba
commit
9cc84258eb
17
src/main.rs
17
src/main.rs
@ -135,17 +135,19 @@ fn main() {
|
|||||||
let mut chip = Chip::new("/dev/gpiochip0").unwrap();
|
let mut chip = Chip::new("/dev/gpiochip0").unwrap();
|
||||||
let line = chip.get_line(26).unwrap();
|
let line = chip.get_line(26).unwrap();
|
||||||
for _attempt in 0..5 {
|
for _attempt in 0..5 {
|
||||||
let time = std::time::SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs();
|
let time = std::time::SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap();
|
||||||
if let Ok((rh, temp)) = raspi_oled::am2302_reading(&line) {
|
if let Ok((rh, temp)) = raspi_oled::am2302_reading(&line) {
|
||||||
database.execute("INSERT INTO sensor_readings (time, humidity, celsius) VALUES (?1, ?2, ?3)", params![time, rh, temp]).unwrap();
|
if rh > 0 && temp < 500 {
|
||||||
display_on_ssd1306(rh, temp);
|
database.execute("INSERT INTO sensor_readings (time, humidity, celsius) VALUES (?1, ?2, ?3)", params![time.as_secs(), rh, temp]).unwrap();
|
||||||
break;
|
display_on_ssd1306(rh, temp, time);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn display_on_ssd1306(rh: u16, temp: u16) {
|
fn display_on_ssd1306(rh: u16, temp: u16, time: Duration) {
|
||||||
let i2c = I2cdev::new("/dev/i2c-1").unwrap();
|
let i2c = I2cdev::new("/dev/i2c-1").unwrap();
|
||||||
let interface = I2CDisplayInterface::new(i2c);
|
let interface = I2CDisplayInterface::new(i2c);
|
||||||
let mut disp = Ssd1306::new(
|
let mut disp = Ssd1306::new(
|
||||||
@ -165,6 +167,11 @@ fn display_on_ssd1306(rh: u16, temp: u16) {
|
|||||||
Text::new(&text, Point::new(0, 10), text_style)
|
Text::new(&text, Point::new(0, 10), text_style)
|
||||||
.draw(&mut disp)
|
.draw(&mut disp)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
let secs = time.as_secs();
|
||||||
|
let time = format!("{:02}:{:02} Uhr", (secs / 3600 + 2) % 24, secs / 60 % 60);
|
||||||
|
Text::new(&time, Point::new(0, 32), text_style)
|
||||||
|
.draw(&mut disp)
|
||||||
|
.unwrap();
|
||||||
disp.flush().unwrap();
|
disp.flush().unwrap();
|
||||||
/*
|
/*
|
||||||
sleep(Duration::from_secs(2));
|
sleep(Duration::from_secs(2));
|
||||||
|
Loading…
Reference in New Issue
Block a user