- リンクを取得
- ×
- メール
- 他のアプリ
センサーは定番の BME280。こちらも aliexpress で購入しました。
https://www.aliexpress.com/item/32817812439.html
前回の続きということにして、Orange Pi の OS やピンヘッダについてはそちらを参照してください。
i2c も有効化済みであるとして進めます。
物理的に接続する
こちらは別途購入したブレッドボードを使って接続します。aliexpress だと 1.8-5V となっているのですが、日本語で説明しているブログなどでは 3.3V 用、5V をつなげると壊れる、となっているので、一応 3.3V をつなげました。
センサーから値を読み取ってみる
こちらも、まずはセンサーを認識しているか確認します。
sudo i2cdetect -y 0 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 --
「76」と出力されていれば、何かを認識しています。
こちらはスクリプトは smbus2 を使用するので、まずは pip を導入します。
sudo apt install python3-pip
続けて、pip で smbus2 をインストールします。
sudo pip3 install smbus2
スクリプトをダウンロードします。
wget https://github.com/SWITCHSCIENCE/samplecodes/raw/master/BME280/Python27/bme280_sample.py
このスクリプトは python2.7 用のため、そのままでは python3 では動作しないようです。python2.7 を用意して実行でもいいですが、今回はスクリプトのエラーが出る箇所を修正して実行しました。
修正するのは print 文(3か所)で、文字列を () で囲むだけです。
修正したうえで、実行します。
sudo python3 bme280_sample.py temp : 27.01 ℃ pressure : 1008.61 hPa hum : 64.63 %
ちゃんと温度、気圧、湿度が取得できたようです。
コメント
コメントを投稿