本記事は次の記事の続編です。
私は特に用途を決めずに、キーボード一体型のRaspberry Pi 400を購入しましたが、それとは関係なしにいま手元には、「部屋の温度・湿度・気圧を自宅サーバ (Raspberry Pi 4) で計測したいな……」と考えて調達した、BME280というセンサーも届いている。
ちょうどいい。センサーの動作確認も兼ねて、Raspberry Pi 400での温度・湿度・気圧の取得に挑戦してみよう。ちなみにラズパイに電子部品をつなぐのは今回が初めてです。
テストワイヤ
サンハヤト(Sanhayat)
今回はとりあえず配線のみ試せればいいやと考えて、ブレッドボードは仕入れていません。
Raspberry Pi 400には「Raspberry Pi OS」を導入してある想定です。
sudo raspi-config
でGUIと同様に行えるらしい# 引用元: https://qiita.com/yukataoka/items/8f9046587c978e91f689
SDI (BME280) -> SDA P03 (Raspberry Pi)
SCK (BME280) -> SCL P05 (Raspberry Pi)
GND (BME280) -> GND P06 (Raspberry Pi)
SDO (BME280) -> GND P09 (Raspberry Pi)
Vio (BME280) -> 3.3v P01 (Raspberry Pi)
CSB (BME280) -> 3.3v P17 (Raspberry Pi)
$ sudo apt install i2c-tools
$ 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: -- -- -- -- -- -- 76 --
smbus2
モジュールを導入pip --version # python 2系のpipであることを確認
sudo pip install smbus2
bme280_sample.py
を取得$ git clone https://github.com/SWITCHSCIENCE/samplecodes
$ cd samplecodes/BME280/Python27
$ ls -al
合計 16
drwxr-xr-x 2 pi pi 4096 11月 17 23:42 .
drwxr-xr-x 4 pi pi 4096 11月 17 23:42 ..
-rwxr-xr-x 1 pi pi 3873 11月 17 23:42 bme280_sample.py
-rwxr-xr-x 1 pi pi 14 11月 17 23:42 requirements.txt
$ python bme280_sample.py
temp : 25.93 ℃
pressure : 1026.02 hPa
hum : 51.49 %
このように、センサーからの各種の値がラズパイで取得できれば、あとはサンプルのPythonスクリプトを参考に、煮たり焼いたり、お好みで加工すればいいですね。私はThingSpeakで、これら3つの測定値のグラフを描画することを次の目標にします。
P.S. 上の写真では、ラズパイで取得した値との比較対象として、iPadで「phyphox」というアプリを開き、気圧のグラフを表示しています。