概要
Raspberry Pi Zero WHと温湿度・気圧センサのBME280を使用して,自室の温度,湿度および気圧を測定結果をグラフ表示する仕組みを作成しました. 測定結果の保存とグラフ表示には,IoTデーター可視化サービスのAmbientを使用しました. Pythonスクリプトにより,一定周期でセンサからのデータ取得とAmbientへのデータ送信を自動実行させています.
Ambientでのグラフ表示例
Raspberry Piから送信されてきた自室の温度,湿度および気圧をAmbientでグラフ表示した例です. インターネットに接続されたPCやスマートフォンのブラウザで表示することができます.
開発環境
Raspberry Pi | Raspberry Pi Zero WH |
---|---|
OS | Raspbian GNU/Linux 9.11 (stretch) |
回路
回路図
回路図のとおりに,Raspberry Piと温湿度・気圧センサモジュールを接続してください.
Raspberry Piのピン配置については,公式Webページを参照してください.
温湿度・気圧センサモジュールのピン配置については,取扱説明書を参照してください.今回はI2Cで接続しています. 温湿度・気圧センサモジュール上にはJ1からJ3までの計3つのジャンパがありますが,全てオープンで使用しています. ただし,J3をショートしない代わりに温湿度・気圧センサモジュールの外でCSBとVDDを接続しています. また,SDOをGNDに落としているのでBME280のI2Cアドレスはデフォルトの0x76です.
回路部品
参考単価をクリックすると,秋月電子通商のページに飛びます.
番号 | 部品名 | 型番 | 数量 | 参考単価 |
---|---|---|---|---|
U1 | 温湿度・気圧センサモジュール | 秋月電子通商 BME280使用 温湿度・気圧センサモジュールキット | 1 | 1250円 |
その他 | リード線など | 適量 |
ソースコード
GitHubにて公開します.ページ右上付近の「Code」ボタンからダウンロードするかgit cloneしてください.
セットアップ
README.mdの「Example installation in pyenv environment」を参照してください. 予めPython仮想環境を構築する準備をしておくと,既存Pythonスクリプトの実行環境を破壊することなくセットアップできて便利です.ここでは,pyenv-virtualenvを使用しています. また,AmbientのチャネルIDとライトキーが必要になります.Ambientのチュートリアルなどを参照して,準備してください.
定期的にセンサデータをAmbientに送信する
セットアップと動作確認が終わったら,定期的にセンサデータをAmbientに送信するように設定します. README.mdの「Example installation in pyenv environment」の「4. (Optional) Edit cron for periodic execution」を参照してください. 単純にcronでPythonスクリプトを5分間隔で実行しているだけです.ただし,「2-57/5 * * * *」とすることで毎時0分からの5分間隔ではなく毎時2分からの5分間隔としています. これは,毎時0分などに定期的なタスクが集中することを避けるためです.この辺りはお好みで調整してください.