LoginSignup
4
8

More than 5 years have passed since last update.

Raspberry Pi - 1 - はじめのいっぽ(温度センサーを繋げて温度を表示してみる)

Last updated at Posted at 2020-07-23

はじめに

Raspberry Piや電子回路等ド素人が温度センサーをつなげて、Pythonでそれを取得するまでの備忘録です。
なお、ほとんどが他の記事から内容を流用していますので、参考サイトをそのまま見てもらう方がわかりやすいかもしれません。

最初にすること

もちろん、Raspberry Piの購入です。この辺はざっくり調べると今時点(2017年2月上旬)では、Raspberry Pi 3 Model B でよさそうです。
アマゾンで適当に、本当に適当に購入します。もっとじっくり調べれば値段は抑えられるかもしれませんが、まぁいいでしょう。

Amazon.co.jp | Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Black) | Physical Computing Lab | マザーボード

で、次のセットを購入しました。
image

また、センサーについても具体的に欲しいものが決まっていませんでしたので、次のセットを購入。使いもしないセンサーもあるため、大分割高ですが、まぁいいでしょう。
Amazon.co.jp: ベスト センサーモジュール キット 20種セット

プライム会員なので、デフォルトのお急ぎ便のままで注文したら24時間以内に届きました。(これはこれで良いのか悪いのか・・・)

Raspberry Piが届いたら、SDカードにOSイメージを書き込み

1. SDカードの接続
SDカードはそのままSDカードのスロットのあるPCがありましたので、そちらを利用します。無ければ何かしらのアダプターが必要でしょう。

2. SDカードへのイメージ書き込み用ソフトのダウンロード
SDカードに書き込むためのDD for Windows Ver.0.9.9.8を以下よりダウンロード。
DD for Windows - Tech Info

3. OSのダウンロード
RaspbianのLite版(raspbian_lite-2017-01-10)というのを以下よりダウンロード。
Index of /pub/raspberrypi/raspbian_lite/images

4. DDでSDカードへイメージ書込み
自分の環境はWindows7なので、DDWin.exeを実行する際、右クリックして[管理者として実行]で起動します。
起動後、imgファイルを選択して書込みします。

5. SSH接続用の対応
SSH接続する場合、bootパーティションにsshというファイルが必要とのことなので作成します。(新規テキストファイルの作成などでファイルを作成して名前をsshにする)

6. SSH接続用のソフトのダウンロード
SSH接続にはPuTTYを使用することにします。無ければ以下からダウンロードします。
PuTTY ごった煮版

Raspberry Piの起動とPythonの確認

1. 接続準備
SDカードをラズパイに差込、LANケーブルを繋げて、電源を接続。これでもうラズパイは起動するようですね。

2. 接続用の設定確認
IPアドレスが分からないと接続できませんので、使用している環境での必要な方法で確認します。今回はルータでの管理画面からIPアドレスを確認しましたが、コマンドプロンプトで、arp -aとするなど、いくつか方法はあるようです。

3. PuTTYから接続
一番どきどきするところですよね。といってもIPアドレスが見えてる時点で、もう何かしら動いているのはわかっていましたが、ちゃんと接続できました。
image

初期状態のユーザ:pi、パスワード:raspberryでログインします。

4. Pythonの確認
最初にやるべきことは色々ありますが、とりあえずPythonを動かしてみます。何せ、Pythonもド素人ですから。
image

さくっと動くことがわかりました。

5. 本来すべき設定など
最初はまず最低限やりたいことを動かすためのことしかしませんので、この辺は飛ばしています。

センサーを繋げて動きをみる

さすがに、ここで手間取りました。
そもそも知識が無さ過ぎてどうつなげてよいかすらわからなかったからです。GPIOI2Cやら1-Wireや、はてはSPIなどなど。
GPIOでLEDを光らせるくらいはすぐでしたが、何らかの数値を出力するセンサーからその値を取得する方法がうまくいきません。

色々と記事を参考にしつつ試していましたが、センサーを購入したメーカー?のサイトにちゃんと使い方の記事がありましたので、そのまま試したらうまくできました。

1. DS18B20温度センサーを繋げる
直接繋げます。接続するピンは参考にした記事の通りにDQピンをGPIO4に、VDDピンを3.3V、GNDピンをGNDに繋げました。
image
なお、図はFritzing Downloadからツールを入手して作成しました。最初配線がドラッグ&ドロップで何も反応しないのでおかしいなと思いましたが、ファイルを新規作成したら普通に出来ました。こちらも色々と記事がありますが、見なくてもできるくらいとても簡単です。

2. 1線通信libaryをインストールする

sudo modprobe w1-gpio
sudo modprobe w1_therm

3. /boot/config.txtを修正する

sudo nano /boot/config.txt
/boot/config.txt
dtoverlay=w1-gpio

4. Raspberry Piを再起動

sudo reboot

5. センサーを認識しているかの確認

ls /sys/bus/w1/devices/

28-からはじまるものがあれば、それのはず。

6. センサーのテスト

cat /sys/bus/w1/devices/28-xxxx/w1_slave

xxxxの部分は環境によって異なるので、28-まで打ち込んだらTabで補完すればよいです。

7. Pythonで実行する

サンプルコードほぼまんま
import time
while 1:
    tempfile = open ("/sys/bus/w1/devices/28-XXXX/w1_slave") 
    thetext = tempfile.read()
    tempfile.close()
    tempdata = thetext.split("\n")[1].split(" ")[9]
    temperature = float(tempdata[2:])
    temperature = temperature /1000
    print temperature

XXXの部分は書き換える。

実行結果。
image

途中温度が変わったところは、手で覆ったり、息を吹きかけてみました。
普通の温度計と比べると、2~3度ほど高く計測されているみたいです。

こんな感じで、とりあえず最低限やってみたいことは実現できました。

たとえば、これをVPNで繋げて、温度確認できるようにしたり、赤外線送信モジュール?なりを使って、エアコンの温度調整をしたりとかやりようは色々とあるかと思います。

参考サイト

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8