Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
a90b1fa6c6
|
|||
|
e75eea3fb0
|
|||
|
6780c41582
|
|||
|
f29ced6b61
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -139,7 +139,7 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "energyPulseCounter"
|
name = "energyPulseCounter"
|
||||||
version = "1.0.0"
|
version = "1.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam",
|
"crossbeam",
|
||||||
"mqtt-client",
|
"mqtt-client",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "energyPulseCounter"
|
name = "energyPulseCounter"
|
||||||
version = "1.0.0"
|
version = "1.0.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ use rppal::gpio::{Gpio, Trigger};
|
|||||||
|
|
||||||
pub fn pulse_counter(pulses: Arc<AtomicCell<u32>>) {
|
pub fn pulse_counter(pulses: Arc<AtomicCell<u32>>) {
|
||||||
let gpio = Gpio::new().expect("failt to get gpio driver");
|
let gpio = Gpio::new().expect("failt to get gpio driver");
|
||||||
let mut pulse_gpio = gpio.get(15)
|
let mut pulse_gpio = gpio.get(23)
|
||||||
.expect("failt to get gpio pin")
|
.expect("failt to get gpio pin")
|
||||||
.into_input();
|
.into_input_pullup();
|
||||||
pulse_gpio.set_interrupt(Trigger::FallingEdge, None)
|
pulse_gpio.set_interrupt(Trigger::FallingEdge, None)
|
||||||
.expect("failt to set inerupt");
|
.expect("failt to set inerupt");
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ fn main() {
|
|||||||
match read_config() {
|
match read_config() {
|
||||||
Ok(conf) =>{
|
Ok(conf) =>{
|
||||||
|
|
||||||
let pulses: Arc<AtomicCell<u32>> = Arc::new(AtomicCell::new(1));
|
let pulses: Arc<AtomicCell<u32>> = Arc::new(AtomicCell::new(0));
|
||||||
|
|
||||||
let pulses_counter = pulses.clone();
|
let pulses_counter = pulses.clone();
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,12 @@ impl PulseTx {
|
|||||||
retain: false,
|
retain: false,
|
||||||
qos: mqtt_client::QoS::AtMostOnce,
|
qos: mqtt_client::QoS::AtMostOnce,
|
||||||
}});
|
}});
|
||||||
|
self.tx({ mqtt_client::MqttMessage {
|
||||||
|
topic: String::from("/kees/energy/metalbox/data"),
|
||||||
|
payload: format!("{{\"pulses\":{pulses},\"watt\":{}}}", pulses * 60),
|
||||||
|
retain: false,
|
||||||
|
qos: mqtt_client::QoS::AtMostOnce,
|
||||||
|
}});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user