GrovePi+のセッティングと光センサーGrove-Light sensorや温湿度センサーGrove DHT Pro(DHT22)の接続(その3)
今回は前回の光センサーGrove-Light sensorの接続に引き続き温湿度センサーGrove-Temperature & Humidity Sensor Pro 2,100円(DHT22)の接続です。以前に当ブログで取り上げた「パイ専ボードで温湿度センサーDHT22のデータ取り込み」で紹介したように温湿度計DHT11の上位機種であり小数点以下の精度でデータを取り込むことができますが、データの読み込みもシリアル接続の独自のものでドライバーが無いととても厄介です。今回は、試行錯誤があったもののデータの読み込みが何とか出来るようになったので備忘録です。
Grove-Temperature & Humidity Sensor Pro(DHT22)
Grove-Temperature & Humidity Sensor Pro(DHT22)
Grove-Temperature & Humidity Sensor ProをGrovePi+のD4ポート(写真左上)に接続したところ(前に使ったのと同じ写真でGrove-Light sensorがA0ポートに接続されています。)
まず、/home/pi/Documents/grove/GrovePi/Software/Python/grove_dht_pro_filter(当方は、/home/pi/Documents/groveにディレクトリを作ったのでこうなっていますが/home/pi/Desktopに作っている方は読み替えて動作させてくださいませ。)内にドライバーであるgrove_dht.pyと作動例コードのgrove_dht_example1.py、grove_dht_example2.py、grove_dht_example3.pyがあります。これを動作させるとgrove_dht_example1.pyでは、
pi@raspberrypi:~/Documents/grove/GrovePi/Software/Python/grove_dht_pro_filter $ python grove_dht_example1.py
[2018-06-24 17:32:06][waiting for buffer to fill]
[2018-06-24 17:32:07][waiting for buffer to fill]
[2018-06-24 17:32:08][waiting for buffer to fill]
[2018-06-24 17:32:08][waiting for buffer to fill]
と、エラー表示となってしまいます。ここでpython grove_dht_example2.pyではexample1と同じような表示。 python grove_dht_example3.pyでは、
pi@raspberrypi:~/Documents/grove/GrovePi/Software/Python/grove_dht_pro_filter $ python ./grove_dht_o_filter/grove_dht_example3.py
[program is running][please wait]
[2018-06-24 18:47:49][temperature = 1.0][humidity = 1.0]
[2018-06-24 18:48:01][temperature = 1.0][humidity = 1.0]
[2018-06-24 18:48:16][temperature = 1.0][humidity = 1.0]
[2018-06-24 18:48:30][temperature = 1.0][humidity = 1.0]
と、温度と湿度の表示が1℃と1%になってしまいます。
もしかしたら、デジタルポートのPin番号が間違っているのかと思い。つなげなおしてみたり、grove_dht_example1.py等のport番号を変えてみたりと(Light sensor同様にサンプルプログラムのファイルはそのままでは、ファイルを変更して上書きすることができませんでしたのでgrovepi.py、grove_dht.pyやgrove_dht_example1.py等を/home/pi/Documentsにコピーして修正することとしました。)してみたのですが一向にうまくゆかず、grove_dht.pyをしげしげ見ていたところ47行目と48行目になんとも意味有りげな
もしかしたら、デジタルポートのPin番号が間違っているのかと思い。つなげなおしてみたり、grove_dht_example1.py等のport番号を変えてみたりと(Light sensor同様にサンプルプログラムのファイルはそのままでは、ファイルを変更して上書きすることができませんでしたのでgrovepi.py、grove_dht.pyやgrove_dht_example1.py等を/home/pi/Documentsにコピーして修正することとしました。)してみたのですが一向にうまくゆかず、grove_dht.pyをしげしげ見ていたところ47行目と48行目になんとも意味有りげな
47 self.blue_sensor = 0
48 self.white_sensor = 1
の表示がありました。/grove_dht_pro_filterディレクトリーの中にあるのになぜblue_sensorなのかと、青色センサーはDHT11のはずです。と、言うことでgrove_dht_example1.py等の改変を試みたもののうまく行かず、また、Webで探していたところ「Grove - Temperature&Humidity Sensor」とseeed studio社のWikiの中にそれらしいコードを以下のように発見したのでした。
import grovepi
import math
# Connect the Grove Temperature & Humidity Sensor Pro to digital port D4
# This example uses the blue colored sensor.
# SIG,NC,VCC,GND
sensor = 4 # The Sensor goes on digital port 4.# temp_humidity_sensor_type
# Grove Base Kit comes with the blue sensor.
blue = 0 # The Blue colored sensor.
white = 1 # The White colored sensor.while True:
try:
# This example uses the blue colored sensor.
# The first parameter is the port, the second parameter is the type of sensor.
[temp,humidity] = grovepi.dht(sensor,blue)
if math.isnan(temp) == False and math.isnan(humidity) == False:
print("temp = %.02f C humidity =%.02f%%"%(temp, humidity))except IOError:
print ("Error")
早速、17行目がblueになっているのでこれをwhiteになおしてgrove_dht_example4.pyとして実行したところ、
pi@raspberrypi:~/Documents $ python grove_dht_example4.py
temp = 1.00 C humidity =1.00%
temp = 28.70 C humidity =50.90%
temp = 28.40 C humidity =52.10%
temp = 28.50 C humidity =52.20%
temp = 28.40 C humidity =52.00%
と、最初こそ誤っているもののちゃんとした数字が出てきます。
いやー、seeed studio社(Groveブランドを作っている会社)様ほんと勘弁してくだせーって感じです。
結局、grove_dht_example1.py等がgrove_dht.pyやgrovepi.pyの中にブルーとホワイトのセンサーの違いを入れ込んで作られていたのに対応していなかったのです。このずさんさは中国企業のなせる技なのでしょうか?しかも、Wikiでは直しているのに事例コードは直していない!!コネクターでつなぐだけのセンサーで、種類も多く規格が優れているのでそれほどコケにもできませんが、なんとかしてほしいものです。
以上で今回のGrovePi+備忘録の最後にしたいと思います。
いやー、seeed studio社(Groveブランドを作っている会社)様ほんと勘弁してくだせーって感じです。
結局、grove_dht_example1.py等がgrove_dht.pyやgrovepi.pyの中にブルーとホワイトのセンサーの違いを入れ込んで作られていたのに対応していなかったのです。このずさんさは中国企業のなせる技なのでしょうか?しかも、Wikiでは直しているのに事例コードは直していない!!コネクターでつなぐだけのセンサーで、種類も多く規格が優れているのでそれほどコケにもできませんが、なんとかしてほしいものです。
以上で今回のGrovePi+備忘録の最後にしたいと思います。
« GrovePi+のセッティングと光センサーGrove-Light sensorや温湿度センサーGrove DHT Pro(DHT22)の接続(その2) | トップページ | 当方の資産増加率は11%弱に »
「パソコン・インターネット」カテゴリの記事
- logicool M720 Triathlon マルチデバイスマウスが故障(2022.08.20)
- UbuntuのFirefoxだと雑音が入る(未解決)(2022.02.13)
- イントロンのブログが60,000カウントを達成(2022.01.13)
- GrovePi+をRaspberry Pi 4に導入してみた(上手くゆかなかった)(2021.12.26)
- Raspberry Pi 4でVLCメディアプレイヤー起動時にフリーズがなぜか解消(2021.12.20)
トラックバック
この記事へのトラックバック一覧です: GrovePi+のセッティングと光センサーGrove-Light sensorや温湿度センサーGrove DHT Pro(DHT22)の接続(その3):
« GrovePi+のセッティングと光センサーGrove-Light sensorや温湿度センサーGrove DHT Pro(DHT22)の接続(その2) | トップページ | 当方の資産増加率は11%弱に »


コメント