This repository was archived by the owner on Apr 15, 2022. It is now read-only.
File tree 2 files changed +26
-11
lines changed
2 files changed +26
-11
lines changed Original file line number Diff line number Diff line change 9
9
10
10
from prometheus_client import Gauge , start_http_server
11
11
12
- import Adafruit_DHT
12
+ import board
13
+ import adafruit_dht
13
14
14
15
# Create a metric to track time spent and requests made.
15
16
dht22_temperature_celsius = Gauge (
19
20
dht22_humidity = Gauge (
20
21
'dht22_humidity' , 'Humidity in percents provided by dht sensor' )
21
22
22
- SENSOR = Adafruit_DHT .DHT22
23
-
24
-
25
- def read_sensor (pin ):
26
- humidity , temperature = Adafruit_DHT .read_retry (SENSOR , pin )
23
+ def read_sensor (sensor ):
24
+ print (sensor )
25
+ try :
26
+ temperature = sensor .temperature
27
+ humidity = sensor .humidity
28
+ except Exception as error :
29
+ print (f"Exception: { error .args [0 ]} " )
30
+ time .sleep (2.0 )
31
+ return
27
32
28
33
if humidity is None or temperature is None :
29
34
return
@@ -51,14 +56,18 @@ def main():
51
56
52
57
args = parser .parse_args ()
53
58
59
+ pin = getattr (board , "D" + str (args .gpio ))
60
+ sensor = adafruit_dht .DHT22 (pin , use_pulseio = False )
61
+
54
62
if args .addr is not None :
55
63
start_http_server (args .port , args .addr )
56
64
else :
57
65
start_http_server (args .port )
58
66
59
67
while True :
60
- read_sensor (pin = args . gpio )
68
+ read_sensor (sensor )
61
69
time .sleep (args .interval )
62
70
63
71
64
- main ()
72
+ if __name__ == "__main__" :
73
+ main ()
Original file line number Diff line number Diff line change 1
- prometheus_client
2
- Adafruit_DHT
3
- ConfigArgParse
1
+ Adafruit-Blinka == 6.20.1
2
+ adafruit-circuitpython-dht == 3.7.0
3
+ Adafruit-PlatformDetect == 3.19.4
4
+ Adafruit-PureIO == 1.1.9
5
+ prometheus-client == 0.13.1
6
+ pyftdi == 0.53.3
7
+ pyserial == 3.5
8
+ pyusb == 1.2.1
9
+ RPi.GPIO == 0.7.0
You can’t perform that action at this time.
0 commit comments