0

私は最近、いくつかのコンピューターフロアの温度スパイクを監視するために、Pi zeros を使用していくつかの Raspberry pi 温度センサーを構築しています。初期状態のセットアップを使用して、データをダッシュ​​ボードに送信しています。問題なく完全にセットアップされ、データが正常に送信されました。しかし、まったく同じ方法で、まったく同じコードを使用して2番目をセットアップしようとすると、次のエラーが発生し続けます。

Traceback (most recent call last):
 File "tempsensor.py", line 20, in <module>

 temp_f = format(temp_c * 9.0 / 5.0 + 32.0, ".2f")

 TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'

私はPythonに堪能ではありませんが、同様の問題を調べてみましたが、実際に私を助けるものは何もありませんでした. しかし、私が理解していないのは、このコードは基本的に他のコードのコピーペーストであり、他の人が使用しているものでもあります. 何も変更されていないのに、なぜエラーが返されるのでしょうか?

また、以下にリストされているのは、私が使用している完全なコードです。助けてくれてありがとう!

import Adafruit_DHT
from ISStreamer.Streamer import Streamer
import time

# --------- User Settings ---------
SENSOR_LOCATION_NAME = "Office"
BUCKET_NAME = ":partly_sunny: Room Temperatures"
BUCKET_KEY = "rt0129"
ACCESS_KEY = "PLACE YOUR INITIAL STATE ACCESS KEY HERE"
MINUTES_BETWEEN_READS = 10
METRIC_UNITS = False
# ---------------------------------

streamer = Streamer(bucket_name=BUCKET_NAME, bucket_key=BUCKET_KEY, access_key=ACCESS_KEY)
while True:
    humidity, temp_c = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4)
    if METRIC_UNITS:
        streamer.log(SENSOR_LOCATION_NAME + " Temperature(C)", temp_c)
    else:
        temp_f = format(temp_c * 9.0 / 5.0 + 32.0, ".2f")
        streamer.log(SENSOR_LOCATION_NAME + " Temperature(F)", temp_f)
    humidity = format(humidity,".2f")
    streamer.log(SENSOR_LOCATION_NAME + " Humidity(%)", humidity)
    streamer.flush()
    time.sleep(60*MINUTES_BETWEEN_READS)
4

2 に答える 2