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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

635閲覧

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

Fhilia

総合スコア16

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/11/22 14:11

編集2018/11/24 03:08

ラズパイに配線した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%とでてきましたした。)
どこかまちがっているところがあればおしえてほしいです?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2018/11/22 14:15

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

2018/11/24 01:24

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

回答2

0

ベストアンサー

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 $

投稿2018/11/25 07:35

mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2018/11/22 14:36

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問