Raspberry Pi Zero WH と BME280

Raspberry Pi Zero WH

Raspberry Pi Zero WH

Raspberry Pi Zero WH に気温、圧力、湿度を同時に測定できるモジュールBME280を接続し、データの取得に挑戦しました。Raspberry Pi Zero WHは、コロナ禍の前に東京へ出張したときに、秋月電子の店頭で特に目的もなく買ってきて引き出しに眠っていました。Raspberry Pi Zero WHにOSをインストールし、これにセンサーモジュールをI2C接続しました。Pythonのプログラムと悪戦苦闘して、気温、圧力、湿度を表示することができたときの備忘録です。

準備:miniHDMI-HDMI変換ケーブル(miniHDMIって一般的?)、microUSB-USB(A type)変換ケーブル、SDカード(128GB 大きすぎる容量かな?)、USBハブ(USBポートが1つしかないのでマウスとキーボードを使うために必須)、 BME280(秋月電子の通販利用)

センサーについて

ボッシュ社のBME280を搭載したセンサモジュールで、温度、湿度、気圧の3つの環境情報を同時に測定できます。マイコンとの通信方式は、I2CまたはSPIを選択することができます。今回はI2C通信を選択しました。

配線・回路図について

RaspberryPiと温湿度・気圧センサーモジュールの接続

Raspberry PiBME280モジュール 
ピン番号ピンの役割ピン番号ピンの役割
13.3V1VDD
3SLA I2C4SLA
5SCL I2C6SCL
6GND2 & 5GND

Pythonのプログラムについて

SWITCH SCIENCEさんの公開リポジトリで提供されているPythonのソースコード SWITCHSCIENCE/BME280 をお借りして少し手を加えることにしました。右上のDownload ZIPからダウンロードし、Python27フォルダ内の「bme_280_sample.py」ファイルを、ラズベリーパイ内の適当な場所に置きましょう。また、このプログラムを動かすには、「python-smbus」パッケージのインストールが必要です。なお、取得したデータをCSVファイルに書き出せるように少し手直ししました。ソースコードは、公開して良いのかどうかよくわからないので、今はやめておきます。

一定時間ごとのデータ取得

10分ごとにデータ取得ができるように、RaspberryPiの機能であるCRONを利用しています。取得した1日分のデータをEXCELでグラフにしてみました。

元データ EXCELファイルです→ 20210724