質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.86%

ラズパイ dht11での温度センサー

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,435

Fhilia

score 10

ラズパイに配線したdht11から温度を計測したいのですが全く反応がありません。参考にさせていただいたサイトは下記です。
Node.jsでのやり方  

DHT11温湿度モジュール Temperature and humidity Sensor Module 使用

配線
Ground
GPIO 4
3.3v 
 
nodeとnpmのバージョン
node 8.12.0
npm 6.4.1

ディレクトリ
/home/pi/senser/node_modules/node-dht-senser
ーーーーーーーーーdht.js
ーーーーーーーーーplugins/bcm2835-1.57
ーーーーーーーーーpackage.json
ーーーーーーーーー..  -lock.json

Node.jsで参考にしたサイトの通りにやってみました。logをはりつけていきたいと思います。
ディレクトリを作りbcm2835をraspbianにインストールしました

root@raspberrypi:/home/pi/senser/plugins# wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.57.tar.gz
--2018-11-24 10:41:47--  http://www.airspayce.com/mikem/bcm2835/bcm2835-1.57.tar.gz
www.airspayce.com (www.airspayce.com) をDNSに問いあわせています... 192.185.48.187
www.airspayce.com (www.airspayce.com)|192.185.48.187|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 262227 (256K) [application/x-gzip]
`bcm2835-1.57.tar.gz' に保存中

bcm2835-1.57.tar.gz             100%[====================================================>] 256.08K   432KB/s    in 0.6s    

2018-11-24 10:41:48 (432 KB/s) - `bcm2835-1.57.tar.gz' へ保存完了 [262227/262227]

root@raspberrypi:/home/pi/senser/plugins# tar zxvf bcm2835-1.57.tar.gz
bcm2835-1.57/
bcm2835-1.57/configure.ac
・
・
・
bcm2835-1.57/doc/Makefile.am
bcm2835-1.57/test-driver
root@raspberrypi:/home/pi/senser/plugins# ^C

root@raspberrypi:/home/pi/senser/plugins# cd bcm2835-1.57
root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk・
・
・
・
config.status: creating config.h
config.status: executing depfiles commands

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# make
make  all-recursive
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' に入ります
Making all in src
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT bcm2835.o -MD -MP -MF .deps/bcm2835.Tpo -c -o bcm2835.o bcm2835.c
mv -f .deps/bcm2835.Tpo .deps/bcm2835.Po
rm -f libbcm2835.a
ar cru libbcm2835.a bcm2835.o 
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libbcm2835.a
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
Making all in doc
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' に入ります
make[2]: 'all' に対して行うべき事はありません.
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' から出ます
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' に入ります
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' から出ます

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# make check
Making check in src
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
make  test
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
gcc -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.c
mv -f .deps/test.Tpo .deps/test.Po
gcc  -g -O2   -o test test.o ./libbcm2835.a -lrt 
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
make  check-TESTS
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
make[3]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
PASS: test
============================================================================
Testsuite summary for bcm2835 1.57
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[3]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
Making check in doc
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' に入ります
make[1]: 'check' に対して行うべき事はありません.
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' に入ります
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' から出ます

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# make install
Making install in src
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' に入ります
 /bin/mkdir -p '/usr/local/lib'
 /usr/bin/install -c -m 644  libbcm2835.a '/usr/local/lib'
 ( cd '/usr/local/lib' && ranlib libbcm2835.a )
 /bin/mkdir -p '/usr/local/include'
 /usr/bin/install -c -m 644 bcm2835.h '/usr/local/include'
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/src' から出ます
Making install in doc
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' に入ります
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' に入ります
make[2]: 'install-exec-am' に対して行うべき事はありません.
make[2]: 'install-data-am' に対して行うべき事はありません.
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57/doc' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' に入ります
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' に入ります
make[2]: 'install-exec-am' に対して行うべき事はありません.
make[2]: 'install-data-am' に対して行うべき事はありません.
make[2]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' から出ます
make[1]: ディレクトリ '/home/pi/senser/plugins/bcm2835-1.57' から出ます


node-dht-sensorのインストール

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# npm install -save-dev node-dht-sensor --dht_verbose=true --unsafe-perm
[..................] / rollbackFailedOptional: verb npm-session 1b0a8067189f5976

> node-dht-sensor@0.0.34 preinstall /home/pi/senser/node_modules/node-dht-sensor
> ./check-lib.sh

Library bcm2835 found.

> node-dht-sensor@0.0.34 install /home/pi/senser/node_modules/node-dht-sensor
> node-gyp configure


> node-dht-sensor@0.0.34 postinstall /home/pi/senser/node_modules/node-dht-sensor
> node-gyp build

make: ディレクトリ '/home/pi/senser/node_modules/node-dht-sensor/build' に入ります
  CXX(target) Release/obj.target/node_dht_sensor/node-dht-sensor.o
  CXX(target) Release/obj.target/node_dht_sensor/dht-sensor.o
  SOLINK_MODULE(target) Release/obj.target/node_dht_sensor.node
  COPY Release/node_dht_sensor.node
make: ディレクトリ '/home/pi/senser/node_modules/node-dht-sensor/build' から出ます
npm WARN node@1.0.0 No description
npm WARN node@1.0.0 No repository field.

+ node-dht-sensor@0.0.34
added 42 packages from 44 contributors and audited 84 packages in 16.882s
found 0 vulnerabilities


node-gypを使って、ダウンロードしたnode-dht-sensorをビルド
install

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# npm install node-gyp -g
/home/pi/.nvm/versions/node/v8.12.0/bin/node-gyp -> /home/pi/.nvm/versions/node/v8.12.0/lib/node_modules/node-gyp/bin/node-gyp.js
+ node-gyp@3.8.0
updated 1 package in 9.578s
root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# 

root@raspberrypi:/home/pi/senser/plugins/bcm2835-1.57# cd /home/pi/senser/node_modules/node-dht-sensor


configure

root@raspberrypi:/home/pi/senser/node_modules/node-dht-sensor# node-gyp configure
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@8.12.0 | linux | arm
gyp info spawn /usr/bin/python2
gyp info spawn args [ '/home/pi/.nvm/versions/node/v8.12.0/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/pi/senser/node_modules/node-dht-sensor/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/pi/.nvm/versions/node/v8.12.0/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.node-gyp/8.12.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.node-gyp/8.12.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/pi/.nvm/versions/node/v8.12.0/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/root/.node-gyp/8.12.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/pi/senser/node_modules/node-dht-sensor',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info ok 


build

root@raspberrypi:/home/pi/senser/node_modules/node-dht-sensor# node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@8.12.0 | linux | arm
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: ディレクトリ '/home/pi/senser/node_modules/node-dht-sensor/build' に入ります
  CXX(target) Release/obj.target/node_dht_sensor/node-dht-sensor.o
  CXX(target) Release/obj.target/node_dht_sensor/dht-sensor.o
  SOLINK_MODULE(target) Release/obj.target/node_dht_sensor.node
  COPY Release/node_dht_sensor.node
make: ディレクトリ '/home/pi/senser/node_modules/node-dht-sensor/build' から出ます
gyp info ok 


プログラムの実行

//ファイル名dht.js
var sensor = require('node-dht-sensor');

sensor.read(11, 4, function(err, temperature, humidity) {
    if (!err) {
        console.log('temp: ' + temperature.toFixed(1) + '°C, ' +
        'humidity: ' + humidity.toFixed(1) + '%'
        );
    }
});

実行後
root@raspberrypi:/home/pi/senser# node dht.js
root@raspberrypi:/home/pi/senser# 


consoleになにもでてきませんでした。(一応当たり前ですがif文を消したら0℃ 0%とでてきましたした。)
どこかまちがっているところがあればおしえてほしいです?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • can110

    2018/11/22 23:15

    作業手順の漏れ、間違い、コードの転記ミスなども考えられるので、具体的にあなたのやったことを漏らさず記載ください。

    キャンセル

  • Fhilia

    2018/11/24 10:24

    すいませんでした、書き直します

    キャンセル

回答 2

checkベストアンサー

+1

Fhiliaさん、

電源、グランドと信号線の3本の接続なのですが、信号線をプルアップしてますか?

以下の環境で、動作確認できました。

  • Raspberry Pi 3B 

  • Raspbian: 2018-11-13-raspbian-stretch.zip

  • DHT11 モジュール ( センサーモジュールキットについてきたやつ。こんなやつ )
    モジュール上で、信号ピンがVCCにPull-upされている。

  • 接続は、3.3V, GND と DHT11の信号ピンを、ラズパイGPIO4番(ヘッダーピン7番, 3.3Vピンを左上にみて左側列上から4番目)に接続。

  • 普通のDHT11だけの場合は、信号ピンと電源の間に適当な抵抗(3~10Kオームくらい?)をつけて、プルアップする。

  • コマンド

cd
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT/ 
sudo python setup.py install
cd examples/
sudo ./AdafruitDHT.py 11 4
  • 実行例
pi@raspberrypi:~ $ cd
pi@raspberrypi:~ $ git clone https://github.com/adafruit/Adafruit_Python_DHT.git
pi@raspberrypi:~ $ cd Adafruit_Python_DHT/
pi@raspberrypi:~/Adafruit_Python_DHT $ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating Adafruit_DHT.egg-info
writing Adafruit_DHT.egg-info/PKG-INFO
.
.
.
Installed /usr/local/lib/python2.7/dist-packages/Adafruit_DHT-1.4.0-py2.7-linux-armv7l.egg
Processing dependencies for Adafruit-DHT==1.4.0
Finished processing dependencies for Adafruit-DHT==1.4.0
pi@raspberrypi:~/Adafruit_Python_DHT $ 
pi@raspberrypi:~/Adafruit_Python_DHT $ cd examples/
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 
Usage: sudo ./Adafruit_DHT.py [11|22|2302] <GPIO pin number>
Example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO pin #4
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11  4
Temp=19.0*  Humidity=72.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 4
Temp=22.0*  Humidity=91.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 4
Temp=21.0*  Humidity=90.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

これらの原因は配線の問題もしくはセンサーの故障とみてよいでしょうか?

あなたの使い方のミスでしょうね

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.86%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる