ボクにもわかる電子工作

Raspberry Pi、IchigoJam、Wi-Fi、BLE、XBee、RN-42、ESP-WROOM-02、ESP32

全体表示

[ リスト ]

Raspberry Pi用 Apple Pi を実用的に活用するためのサンプルスクリプトを製作しました。たいした機能ではありませんが、Raspberry Piを使用する際に便利な機能です。
 ・IPアドレスのLCD表示
 ・センサ読み取り値のLCD表示
 ・日付と現在時刻のLCD表示
 ・Apple Pi用のスクリプトの動作LED表示
 ・ボタン操作によるRaspberry Piのシャットダウン機能
サンプル・スクリプトを起動すると、LCDにRaspberry PiのIPアドレス、温度・湿度・気圧のセンサ値、今日の日付と現在時刻を表示します。
また、ボタン(SW6)を長押しすると、Raspberry Piがシャットダウンします。

※もちろん、市販の完成品のApple Piでも動作します。

イメージ 1
IPアドレス表示:HDMI出力をモニタに接続しなくても、IPアドレスを確認することが出来る。リモートで使用する場合、この機能はとても役に立つ。

イメージ 4
タクトスイッチ(SW6)を押し続けると、シャットダウンする。マウスやキーボードを接続しなくてもシャットダウンできるので便利。「shutting down」の表示が出て、すぐにボタンを離すとキャンセルできる。
タクトスイッチと並列にリードスイッチも実装した。上ぶたを取り付けた状態でも磁石を接近させるとシャットダウンすることが出来る。

Apple Piとは

Apple Piはビットトレードワンが販売するRaspberry PiをIoT実験コンピュータとして使用するための拡張基板です。
プリント基板が、CQ出版社の雑誌「トランジスタ技術2016年8月号」の付録として配布されていたので、基板だけをお持ちの方も多いでしょう。
Apple Pi (ビットトレードワン)

必要な部品を準備する

今回の実験に必要な電子部品は、以下の通りです。
スイッチSW6と並列にリードスイッチを接続すると、Raspberry Piへ磁石を接近させてシャットダウンさせることも可能です。
  • 液晶(LCD1) AQM0802A 1個
  • チップコンデンサ(C8,C9) 1uF 2個
  • センサ(U2) BME280 1個
  • LED(LED1,LED2) 1〜2個
  • LED用のチップ抵抗(R5,R6) 330〜1kΩ 1〜2個
  • タクトスイッチ(SW6) 1個
  • リードスイッチ・ノーマルオープン型(磁石を接近させてシャットダウンさせたい場合)
本来はセンサ(U2)の部分にI2CリピータIC(U5)を必要する必要がありますが、実装しない場合は、I2CのCLKとSDA信号を直結しておく必要があります(下図)。

イメージ 2
I2CリピータICが手に入らない場合は、I2C_CLKとI2C_SDA信号を直結する。ただし、I2C通信時に液晶からの応答ACKが得られなくなるので、液晶との通信時にACKを無視する必要がある。(部品コストを控えたい人向けの暫定的な方法)

ハードウェアを製作する

お手持ちのケースによっては、Apple Piの基板の外形を加工する必要があります。部品を実装する前に、基板の外形をケースに合わせて削っておくとよいでしょう。

イメージ 3
ケースに入るように基板の外形を加工しておく。タクトスイッチの、すぐ上にある永細い部品が「リードスイッチ」・ガラス管に入っているので割れないように十分に注意する。
今回は使わないが、赤外線リモコン用の赤外線LED(中央付近)も実装した。赤外線LEDが少し曲がっているのは、ケースのカバーを取り付けたときに、LEDのレンズの位置と、ラズベリーパイのロゴの穴との位置が合うようにしたため。

サンプル・スクリプトの内容

以下に製作したサンプルスクリプトを紹介します。LCDへの出力、GPIOの入出力を繰り返しているだけです。
Apple Pi 用のサンプルスクリプト
#!/bin/bash
while true; do
  /home/pi/RaspberryPi/gpio/raspi_lcd -i `hostname -I|cut -d" " -f1`
  /home/pi/RaspberryPi/gpio/raspi_gpo 5 1 >/dev/null
  sleep 0
  /home/pi/RaspberryPi/gpio/raspi_lcd -i `/home/pi/RaspberryPi/gpio/raspi_bme280`
  /home/pi/RaspberryPi/gpio/raspi_gpo 5 0 >/dev/null
  /home/pi/RaspberryPi/gpio/raspi_gpo 6 1 >/dev/null
  sleep 2
  /home/pi/RaspberryPi/gpio/raspi_lcd -i `date "+%y/%m/%d%R:%S"`
  /home/pi/RaspberryPi/gpio/raspi_gpo 6 0 >/dev/null
  sleep 2
  IN=`/home/pi/RaspberryPi/gpio/raspi_gpi 27 PUP`
  if [ $IN = "0" ]; then
    /home/pi/RaspberryPi/gpio/raspi_lcd -i "shuting down..."
    sleep 2
    IN=`/home/pi/RaspberryPi/gpio/raspi_gpi 27 PUP`
    if [ $IN = "0" ]; then
      /home/pi/RaspberryPi/gpio/raspi_lcd -i "Bye."
      sudo shutdown -h now
      exit 0
    fi
    /home/pi/RaspberryPi/gpio/raspi_lcd -i "Canceled"
  fi
done
GitHubに公開中のスクリプトおよび、液晶ドライバ、センサ用ドライバなどについては、下記の手順でダウンロードし、インストールすることが出来ます。
$ cd
$ cd RaspberryPi/gpio
$ make
実行するには、以下を実行します。
$ ./apple_pi.sh
ただし、2重に起動すると、I2C通信に失敗するようになります。再実行する場合は、必ず「Ctrl」+「C」やkillコマンドでスクリプトを終了させてから、上記のコマンドを実行してください。

Raspberry Pi起動時に自動実行するには、ファイル/etc/rc.local内のexit命令よりも手前に以下を追加し、実行属性を付与します。追加するには
(1) rc.localをテキストエディタで開く
$ sudo leafpad /etc/rc.local

(2) 「exit」よりも手前に以下を追加して、上書き保存する
/home/pi/RaspberryPi/gpio/apple_pi.sh &

(3) 実行属性を付与
$ sudo chmod a+x /etc/rc.local

各種IoT機能を使用する

各種のIoT機能(液晶、センサ、リモコン、LED、ボタン)の動作方法を下記のブログで紹介しています。
Apple Pi の各種IoT機能の動作確認

 ・I2C接続小型液晶
 ・温度・湿度・気圧センサ
 ・赤外線リモコン受信モジュール
 ・赤外線リモコン送信
 ・LED
 ・タクトスイッチ(ボタン)

遠隔地の高齢者見守りサービス i.MyMimamoriPi システム

その他のサンプルスクリプトも公開中です。
遠隔地の高齢者見守りサービス i.MyMimamoriPi システム(トランジスタ技術2016年9月号)
by ボクにもわかるRaspberry Pi


この記事に

閉じる コメント(8)

顔アイコン

ブログ拝見させていただきました。
先日、ApplePi(完成品)を購入し、実装してみました。
実装直後、エラー画面が表示(1〜、2〜、3〜:選択)
その後、全く起動しなくなり
外してもそこから脱しません。

対処方法などありましたらご教授ください。
Raspberry初心者です。
よろしくお願いします。

2017/6/1(木) 午後 9:31 [ t_y**ushi ] 返信する

実装直後や起動しないという部分をもう少し詳しく教えていただけないでしょうか?
例えば、ボードを接続して起動しようとしたときなのか、ソフト実装直後なのか、ソフト実行後なのかを知りたいです。
また起動しないについても、OSが起動しないのか、インストールしたソフトが起動しないのかも教えていただきたいです。

2017/6/2(金) 午後 0:43 [ ボク ] 返信する

顔アイコン

返信ありがとうございます
説明不足で申し訳ありません

ボードを接続してOSを起動を起動しようとしても立ち上がりません
Boot manager の画面になり
1.Insert your windows installation disc and restart your computer
2.Coose your language setting,and then click next
3.click repair your computer

File \efi\microsoft\boot\BCD
Status 0xc000014c
Info This boot configuration data for your pc is missing or contains error

と表示されてしばらくすると画面は消えます

2017/6/2(金) 午後 2:46 [ t_y**ushi ] 返信する

メッセージを見た感じではWindows 10 IoT版 をインストールされていたように見受けられます。
未確認ですが、Apple PiがWindows で動作検証されているとは非常に考えにくいです。製造元のビットトレードワンに問い合わせても、期待した回答は得られない気がします。OSの復旧だけであれば、マイクロソフトのサポートを受けられるかもしれないです。

一般的にはRaspbianを使用します。可能であれば、この機会にRaspbianをインストールし直すのが良いかと思います。

ハードが故障してしまっている可能性もあります。その場合、新品なので、新しいApple Piに交換してくれる可能性くらいは要求できると思います。
ただし、Raspberry Piのハード故障については、難しいかもしれないです。こういった製品は、ユーザーも一定のリスク負担を伴って当然のものなので、拡大損害まで補償を求めることは自粛する場合が多いと思います。

2017/6/2(金) 午後 5:26 [ ボク ] 返信する

顔アイコン

返信ありがとうございます
Raspbianをインストールし直してみました

起動問題無し
Apple piの動作も問題無し

大変助かりました
ありがとうございます
確かにapple piの説明に動作OS Raspbianとありました
最初に手にしたIOTプログラミングという本に沿ってやっていましたがもう少し基本を勉強し直します

今後もHPを参考にさせていただきます

2017/6/3(土) 午後 6:31 [ t_y**ushi ] 返信する

顔アイコン

壊れていなくて良かったです。
当方が執筆したトランジスタ技術2016年9月号や2017年3月号の特集記事についても参考にしていただければ嬉しいです。Apple Piも少し登場します。

2017/6/3(土) 午後 9:44 [ ボク ] 返信する

顔アイコン

特集記事参考にさせていただきます
ただ現在、海外赴任中ですので出張者に頼んでいる次第です

2017/6/4(日) 午後 3:15 [ t_y**ushi ] 返信する

顔アイコン

> nnさん
sleep 2 の「sleep」命令が待ち時間処理を行うコマンドです。数字は秒数です。sleep 5やsleep 10に変更すると、表示時間を長くすることが出来ます。

2018/6/30(土) 午前 8:09 [ ボク ] 返信する

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


みんなの更新記事