sound_sensor_node: add threshold configuration option

This commit is contained in:
Evgeny Zinoviev 2022-09-18 21:50:55 +03:00
parent 52544fdacd
commit a69344d91a
3 changed files with 14 additions and 1 deletions

10
doc/sound_sensor_node.md Normal file
View File

@ -0,0 +1,10 @@
## Configuration
`/etc/sound_sensor_node.toml`:
```toml
[node]
name = "diana"
pin = "PC0"
server_addr = "192.168.1.2:8311"
threshold = 10
```

View File

@ -16,6 +16,7 @@ class SoundSensorNode:
name: str,
pinname: str,
server_addr: Optional[Addr],
threshold: int = 1,
delay=0.005):
if not hasattr(gpioport, pinname):
@ -24,6 +25,7 @@ class SoundSensorNode:
self.pin = getattr(gpioport, pinname)
self.name = name
self.delay = delay
self.threshold = threshold
self.server_addr = server_addr
@ -43,7 +45,7 @@ class SoundSensorNode:
hits = self.hits
self.hits = 0
if hits > 0:
if hits >= self.threshold:
try:
if self.server_addr is not None:
send_datagram(stringify([self.name, hits]), self.server_addr)

View File

@ -27,6 +27,7 @@ if __name__ == '__main__':
node = SoundSensorNode(name=config['node']['name'],
pinname=config['node']['pin'],
threshold=config['node']['threshold'] if 'threshold' in config['node'] else 1,
server_addr=server_addr,
**kwargs)
node.run()