Raspberry Piに、温度・湿度・気圧センサ、赤外線リモコン送信・受信機能、小型液晶表示、ハイレゾオーディオ出力機能、LED、操作ボタン、UART端子(パッド)、I2C端子(パッド)を拡張することが出来る IoT拡張ボード「Apple Pi」が発売されました。この1行で、読みつかれるほど、機能満載のボードです。
今日は、自分の手持ちのドライバで動作する以下の機能の動作確認を行いました。
・I2C接続小型液晶
・温度・湿度・気圧センサ
・赤外線リモコン受信モジュール
・赤外線リモコン送信
・LED
・タクトスイッチ(ボタン)
当ブログでは手軽に動作確認する方法を紹介していますが、適切な使い方ではありません。動作確認が終わったら、トラ技の記事にしたがって適切な使い方をお楽しみください。
I2C接続小型液晶の動作確認
本ブログでは、独自のライブラリを使った動作確認方法について説明します。正式な動かし方は、まだ理解していません。さっと確認したい人向けの情報です。
まず、以下のコマンドを入力して、ソフトをダウンロードし、コンパイルしてください。
$ cd$ cd RaspberryPi/gpio$ make
液晶に文字を表示するには、以下のように入力します。「LCD TEST」「Hello./」と表示されます。
$ ./raspi_lcd LCD TEST Hello./
温度・湿度・気圧センサ
次は温度・湿度・気圧センサです。以下のように入力すると、約1秒後に結果が得られます。
$ ./raspi_bme28038.30 35.66 987.81
左から順に、温度、湿度、気圧です。値が明らかにおかしいですが、動いたことには変わりないので、今日のところは、これで良しとします。
赤外線リモコン受信モジュール
赤外線リモコン受信を行うには、GPIOポート番号を指定する必要があります。Apple Piの赤外線リモコンモジュールはGPIO4に繋がっているので、以下のように入力します。
$ ./raspi_ir_in 4
この状態で、赤外線リモコンから赤外線を送信すると、以下のようなリモコンコードが得られます。
AA 5A 8F 12 16 D1
得られない時は、「Ctrl」+「C」で停止してから、以下のように、1か2を付与します。
$ ./raspi_ir_in 4 Panasonic, SHARP$ ./raspi_ir_in 4 1 ONKYO, NEC$ ./raspi_ir_in 4 2 SONY$ ./raspi_ir_in 4 255 自動選択
ご注意:Raspberry PiのモデルやRaspbianのバージョンによってはWiringPiのインストールが必要です(下記参照)。
赤外線リモコン送信
赤外線リモコンの送信を行うには、LEDを高速に制御する必要があるので、WiringPiのインストールが必要です。
WiringPiのインストール方法$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build
Apple Piの赤外線リモコン送信部はGPIO13に繋がっています。「raspi_ir_out 13」に続けて、赤外線方式の番号(0=AEHA、1=NEC、2=SONY SIRC)と、リモコンコードを入力すると、リモコン送信が可能です。
リモコンのコードは前述のraspi_ir_inで取得します。
$ cd ~/RaspberryPi/gpio # ディレクトリ変更(gpio以外のフォルダにいた時)$ ./raspi_ir_in 4 # リモコン受信AA 5A 8F 12 15 E1 # 受信結果$ ./raspi_ir_out 13 0 AA 5A 8F 12 15 E1 # リモコン送信
Pin = 33, Port(BCM) = 13 Port(wPi) = 23 # Raspberry Piのピン番号、ポート番号が表示される
mode = 0 # リモコン方式 0=AEHA、1=NEC、2=SONY SIRC
data[6] = AA 5A 8F 12 15 E1 # リモコンコード
LEDの制御(青色LED1=GPIO 5、白色LED2=GPIO 6)
LEDを制御するにはGPIO5と6を設定します。初期状態では、うっすらと点灯しているかもしれませんが、下記のコマンドを使って、1に設定すると明るく点灯し、0で完全に消灯します。
のように、1か2を付与します。
$ ./raspi_gpo 5 1 青色のLED1を点灯する$ ./raspi_gpo 5 0 青色のLED1を消灯する$ ./raspi_gpo 6 1 白色のLED2を点灯する$ ./raspi_gpo 6 0 白色のLED2を消灯する
スイッチ入力(GPIO 22~27)
6つの
クトスイッチは、茶色から順にGPIO22から27へ接続されています。それぞれのスイッチから値を得るには、raspi_gpiコマンドを使用しますが、基板にはプルアップ抵抗が実装されていないので、プロアップ設定で入力する必要があります。一例として、茶色のボタンGPIO22から得るには、
クトスイッチは、茶色から順にGPIO22から27へ接続されています。それぞれのスイッチから値を得るには、raspi_gpiコマンドを使用しますが、基板にはプルアップ抵抗が実装されていないので、プロアップ設定で入力する必要があります。一例として、茶色のボタンGPIO22から得るには、
$ ./raspi_gpi 22 PUP
のように「PUP」を付与します。
また、ボタンが押されるまで待ち続ける方法もあります。以下のように、末尾に待ち受ける値を記述してください。
$ ./raspi_gpi 22 PUP LOW
ボタンが押下されるまで待ち続け、ボタンが押下されると、その待ち時間(1/10秒単位)が表示されます。
お買い求めの際のポイント
製造元のBitTradeOneのほか、Yahooショッピング、Amazon、共立電子など、様々なところで売られています。
「Apple Pi」のキーワードで検索してみると良いでしょう。
パーツのみのセット(税別5480円)と、組み立て済のセット(税別6980円)が売られています。
面実装部品や、他ピンコネクタの半田付けの労力を考えつつ、選択すれば良いでしょう。あと、パーツのみのセットには基板が含まれていないので、トラ技の基板を使ってしまいます。一方、組み立て済のセットは、基板上に部品が実装された状態ですので、トラ技の基板を他の用途にとっておくことが出来ます。
写真は完成品です。すべての半田付けが手作業で行われているようです。丁寧に仕上げられていますが、フラックスが飛んでいます。気になる方は、動作確認を行ってから、除去すれば良いでしょう。
Raspberry Pi用 Apple Pi を実用的に活用するためのサンプルスクリプト
実用的なサンプルスクリプトを公開中です。
IPアドレス表示とシャットダウン機能:遠隔地の高齢者見守りサービス i.MyMimamoriPi システム(トランジスタ技術2016年9月号)
by ボクにもわかるRaspberry Pi