8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

raspberry pi zeroで温度・湿度・気圧を測定する

Last updated at Posted at 2018-09-29

raspberry pi zero wh買ってみたもののOSインストールしただけで放置状態だったので、
部屋のコンデションを測定してみようかと。

必要なもの

※前提
raspberry piには、OSがインストールされ、sshとかネットワークの設定が完了していること。

まずは配線

sym pin
VCC 11
GND 6
SCL 5
SDA 3
CSB 17
SDO 6 or 14

pin番号はこの向きで

004.png

2 4 6 8 10 12 14 16 18 20
1 3 5 7 9 11 13 15 17 19

って感じになっています。

ブレッドボードで配線。
005.png

とりあえず、動作確認だけであれば、はんだ付けはしなくても大丈夫。

raspberry pi zero

I2C用モジュールの有効化

$ sudo raspi-config

「3 interfacing options」を選択
img1.png

「I5 I2C」を選択
img2.png

「Yes」を選択
img3.png

「Ok」を選択
img4.png

あとはメニューを閉じて完了。
※メニューに関してはOSのバージョンによって違うので注意です。

インストール

$ sudo apt-get install i2c-tools
$ sudo apt-get install python3-smbus

動作確認

$ sudo i2cdetect -y 1

接触不良だと何も出てこない。

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

きちんと接続されていると

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --   

スイッチサイエンスさんがサンプルプログラムを公開しています。
bme280_sample.py

適当なディレクトリで

$ curl -L -O https://raw.githubusercontent.com/SWITCHSCIENCE/BME280/master/Python27/bme280_sample.py

とりあえず、実行してみる。とpythonのバージョン違いでエラーになります。

$ python bme280_sample.py
  File "/home/Workspace/bme280_sample.py", line 95
    print "pressure : %7.2f hPa" % (pressure/100)
          ^
SyntaxError: invalid syntax

printを括弧で囲みます。(3箇所)

- print "pressure : %7.2f hPa" % (pressure/100)
+ print("pressure : %7.2f hPa" % (pressure/100))

で実行すると、またエラー

$ python bme280_sample.py
Traceback (most recent call last):
  File "/home/Workspace/bme280_sample2.py", line 3, in <module>
    from smbus2 import SMBus
ModuleNotFoundError: No module named 'smbus2'

エラーとなるので修正:3行目

- from smbus2 import SMBus
+ from smbus import SMBus

ふたたび、実行。

$ python bme280_sample.py
temp : 28.97  ℃
pressure : 1011.68 hPa
hum :  57.37 %

とりあえず、値が取れているので、今回はここまで。
次回は、この値をどっかに保存しようかと思います。

参考

http://tk-thunder.hateblo.jp/entry/2018/02/04/210650
https://qiita.com/kamujun/items/51f85339bfd582b27752
http://kashiwamochi-raspi.blogspot.com/2016/10/blog-post_19.html

8
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
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?