どうも太田アベルです。
超小型で安価でも、驚くほど高機能なコンピュータ「Raspberry Pi(ラズベリーパイ)」。
僕は初代機から購入し、趣味から会社のファイル転送サーバまで、いろいろ活用しています。
そのRaspberry Piで赤外線受光・発光、温度、湿度、気圧を得ることができる、センサキットが発売されました!
それが今回レビューする「RPi TPH Monitor Rev2組み立てキット」です。
これを使えば、計測には非常に高度な技術を要する温度や湿度を、カンタンにRaspberry Piでデジタル信号として得ることができます!
今回、体験キットを試す機会に恵まれましたので、さっそく詳細をレビューしてみますよ!
RPi TPH Monitorをチェック
まずは必要な機材を確認しましょう。
- Raspberry Pi (Raspberry Pi 3 Model Bを使用)
- ホームIoT 拡張ボード「RPi TPH Monitor Rev2.2」組み立てキット
(組み立てキットには温度・湿度・気圧センサが付属。追加の温度センサ・湿度センサはRSコンポーネンツで単体購入も可能)
RPi TPH Monitorとセンサを取り付けるだけで、Raspberry Piがデジタル温度、湿度、気圧計に早変わりします!
RPi TPH Monitorには3チャネルの入力コネクタがあり、別売りのセンサを購入することで、同時に計測できるポイントや、別のセンサ機能を拡張することも可能です。
キットのボードには、レッド・グリーン・イエローのLED、赤外線発信LED、赤外線受信センサ、簡易的な数値表示に使える小型LCDも搭載しています。プログラマブルなタクトスイッチも3個あります。
RSコンポーネンツには最新のRaspberry Pi 4ももちろんあります!センサ類もかなり安いので、まとめ買いすれば街のパーツ屋で購入するより安くなることもあります。
Raspberry Pi 4は、メモリ4GB版が7,229円(税込・送料込み)。Amazonでは7,800円前後なので、RSコンポーネンツのほうが少し安い。
準備
ではさっそく使用準備を整えましょう!
RPi TPH Monitor Rev2.2は、Raspberry Piのシリアルインターフェース I2C経由で接続。取り付けはカンタン。コネクタに差し込むだけです。
ピン数が多いので、取り付け時は曲げないように注意が必要。軽く合わせ、すべてのピンが確実に入っているのを確認してから、ゆっくり押し込みましょう。
取り付け後はCPU部分に完全にかぶりさります。長時間の駆動を考えるときは、CPUの排熱にも注意したいところ。
ちなみにこのような拡張ボードを搭載するときに、純正ケースでは開けっ放しで作業するしかありません。ホコリの侵入や、衝撃に対し無防備になってしまいます。
そういうときには、下写真のような別売りケースもおすすめ。
このケースは、フタが2重になっていて、上のフタを外すと、簡単に拡張ボードにアクセスすることができます。実験後はフタを閉めれば、ホコリの侵入を防げます。便利。
Raspberry Pi 3にはOSが必要になりますが、今回は標準OSともいえるディストリビューション Raspbian を導入。
Raspbianは執筆時点で最新のVersion February 2020、セットアップは「Raspbian Buster with desktop and recommended software」 を選択。
ISOとしてダウンロードし、「Etcher」というソフトでSDカードに書き込むのがカンタン確実。SDカードは16GB以上を推奨します。
長時間のログ取りを考えているのなら32GBなど、より大容量のものを選択しましょう。
初代Raspberry PiはLANやらディスクやらいろいろ設定が必要で、動かすだけでも知識が必要でしたが、最新版では起動と同時にLAN、Wi-Fi、USBなど、すべてが動きます。非常にお手軽!
子どもの学習用としても、よけいな時間を食わずに、目的のプログラミング作業にすぐにとりかかれます。(余計な回り道をするのもまた、新たな知識となりますけどね )
立ち上がったらI2Cインターフェースを有効にします。
ラズベリーメニュー > 設定 > Raspberry Piの設定 > インターフェイスタブ
にある、I2Cを「有効」にしておきます。
Python 3の導入
RPi TPH Monitorのサポートページから、サンプルプログラムをダウンロードしてきましょう。
展開すると、それぞれC++(シープラスプラス)とPython 3(パイソン スリー)でのコードサンプルが入っています。初めて触れるなら、構文がシンプルで理解がしやすいPythonをおすすめします。
ただし、Pythonは実行前に少し準備が必要です。
というのも、Raspbianの初期状態ではPythonのバージョンは「2.7.16」になっています。これはPython 2とよばれるもので、今回のサンプルは動きません。Python 3(バージョン3.0以上)をインストールする必要があります。
下写真はPython 2で実行してみたところ。エラーが発生し、実行できません。
記事が長くなってしまうので詳しいインストール方法は割愛しますが、以下が手順のヒントです。
- aptでPython 3をインストール(執筆時点では3.7が最新)
- /usr/bin/にPython 3のシンボリックリンクを作成
- ターミナルから「python -V」と入力し、「3.7.3」などと表示されればOK
わけのわからない言葉ばかりかもしれませんが、ぜひ自分で調べて挑戦してみてください!
サンプルを実行してみる
準備ができたらさっそくサンプルを実行してみましょう!
まずLEDとタクトスイッチのテスト。
実行すると、LED下のタクトスイッチを押すと、LCD右側のLEDが光るようになります。たったこれだけも、コードで実際の光がコントロールできることに感動します!
次に赤外線受信のテスト。
実行すると信号待ち状態(Waiting for Signal)になりますので、TVのリモコンなどをRaspberry Piに向けて、ボタンを押してみましょう。
僕はSONYのリモコンを向けてみました。
見事、「SONY Format」の表示が出ました!
そしてLCDに文字を表示するテスト。
実行すると「Test Success」という文字が表示されます。
この文字はサンプルコードの84行目あたりに書いてあり、ここを自分で書き換えることで、好きな文字や記号を表示させることができます。(日本語はカタカナのみです。使える文字はデータシートを参照)
lcd.print('Test')
上記のコードなら、'Test'
の部分を'HELLO'
に変えれば、画面には「HELLO」と表示できるのです。
Pythonならとてもわかりやすいですね!
最後に、最重要のBME280のセンサ情報です。
このコードを実行すると、一瞬で温度、気圧、湿度を取得することができました!
下が画面に表示される数値です。末尾の「Temp」「Pressure」「Humidity」が温度、気圧、湿度になります。
0x76
dig_H1 : 75
dig_H2 : 337
dig_H3 : 0
dig_H4 : 383
dig_H5 : 50BME280
dig_H6 : 30
dig_P1 : 36270
dig_P2 : -10653
dig_P3 : 3024
dig_P4 : 7002
dig_P5 : 37
dig_P6 : -7
dig_P7 : 12300
dig_P8 : -12000
dig_P9 : 5000
dig_T1 : 28363
dig_T2 : 26384
dig_T3 : 50
t_fine : 97094
adc_T : 514098
adc_P : 334484
adc_H : 34811
Temp : 19.0C
Pressure : 1027.2hPa
Humidity : 52.7%
これはおもしろい!
この情報を先ほどのLCDやLEDのコードと組み合わせれば
- LCDにリアルタイムで気温と湿度を表示する
- 温度が30度を超えたらLEDの赤を点灯させる
- 湿度が10%以下になったら、LEDの黄色を点灯させる
なんていう処理もも、カンタンに実現できます。
さらに、メールの設定を組み込めば「温度が35度を超えたら警告メールを自分へ送信」という機能も実現できますね。植物や保温機の状態などで、活用できそうです。
PythonならメールやTwitter、各種データベースと連携することも可能。気温/湿度ログをMySQLサーバに蓄積することも、朝飯前なのです。
また、赤外線発信機能を使い、湿度が10%以下になったら加湿器にON信号を送る、なんていうホームIoTのようなこともできそうです。
活用方法はまさに無限大と言えるでしょう。
これはプログラミング学習としても、または科学実験としても、非常に興味深いものとなるでしょう。
学校の授業、自由研究のネタとしても意欲を持って取り組めるのではないでしょうか。
WTS的まとめ
小さく、非常に安価ながら、十分なPC能力を持ったRaspberry Pi。
今回のようなセンサー拡張ボードを使えば、現実的に役に立つデジタルガジェットを作成することができます。
農業の現場では、何百万円もする専門機械ではなく、このようなセンサを搭載したRaspberry Piを有効活用している例もあります。
安いので導入コストが大幅に下がり、省電力。さらに同じものがいくらでも手に入るので、保守性も完璧です!
Raspberry PiとRPi TPH Monitorのタッグは、確実に将来に役立つ実用的なプログラミング学習ができそうですね。
コメント