< トラ技第1弾 Apple Piの機能検証その1 >
Raspberry Pi3へのApple Pi搭載が一応完了しましたので、Apple Piの機能の確認作業(Apple Piが正常に組立てられているかどうかも含め、)を通じて、LinuxとPythonの扱い方を学習するために、小野寺氏記載の IoT電子工作ガジェット教材「Apple Pi」 (トラ技術2016年8月号P121〜P140)のP129「ステップ1」から順次検証作業を実施しました。
トラ技には周知として詳細が記載されていない無い部分で、初心者の当方がつまづいたところは、同じ初心者の方の参考になるかも知れませんので、若干の捕捉を記載しました。
先ずは、写真1のようにLinuxOS「Raspbian」を立上げ、I2Cの設定を有効にします。 因みに設定手順は、次の通りです。
sudo raspi-config (Enter)
9 Advanced Option (Enter)
A6 I2c (Enter)
yes (Enter)
yes (Enter)
と、なります。. 写真2は、「A6 I2C」 を選択している画面です。
「ステップ2と3」はトラ技記載の通り実行で問題はありませんでしたが、「ステップ4」でエラーとなり、いろいろ調べました結果、記事のダウンロードURLに誤りがあることが分かりました。 筆者のWebで初めに確認しておくべきでした。 記事のダウンロードURLは、正しくは、
http://toragi.cqpub.co.jp/Potals/0/support/2016/
201608ApplePi/ApplePi.tar です。
写真3は、ソースファイル「ApplePi.tar」のダウンロード結果で、写真4が「setup.sh」でソースをコンパイルして実行ファイルを作成した結果です。 いずれも正常に終了しました。
準備ができましたので、トラ技に準じて機能検証テストに入りましたが、LEDの点灯試験は後回しにして、先ずはLCDの表示テストを実施しました。 尚、今後の検証のカレントディレクトリは何れも次のようになります。
/bcm2835-1.50/ApplePi
先ずは、RaspbianがI2CデバイスとしてLCDを認識しているかどうかを確認しました。 コマンドは次の通りですが、コマンドラインの最後の「1」は「L」ではなく数字の「1」です。 当方は最初に間違えました。
sudo i2cdetect -y 1 (Enter)
と、入力すれば、写真5のようにLCDのI2Cスレーブアドレス 3e、センサモジュールのI2Cスレーブアドレス 76 が表示されました。 何とかApplePi基板は正常に機能しているようです。 一安心です。
写真6は、次の手順でLCDへ「ABCDE」を表示させた結果です。
./initLCD.sh (Enter)
./locateLCD.sh 0 0 (Enter)
./printLCD.sh "ABCDEF" (Enter)
続いてセンサモジュール から 計測データを取り出した結果が写真7です。 コマンドは、
sudo ./getBME (Enter)
で、計測結果は次の通りです。
温度: 21.87℃
気圧: 65020Pa
湿度: 53.13%
写真8は、赤外線リモコン信号の受信テストを、Panasonicテレビのリモコンを使って実施した結果です。 コマンドは次の通りです。
sudo ./getTR (Enter)
因みに 次のコードは電源の入切です。
AEHA 48 2 32 128 0 61 189
次のコマンドでテレビの電源が入ることを確認しました。
sudo ./setIR AEHA 48 2 32 128 0 61 189 (Enter)
LEDとSWに関する作動テストは、トラ技P133に記載されている 実行ファイル「blink.sh」と「demo.sh」で検証を実施しました。 LED1、2は、パーツキットでは2個とも白色ですが、当方はLED1には赤色を使いました。 写真8,9は、「blink.sh」を実行中のもので、LED1、2が交互に点滅し、SW6を押すと終了しました。
./blink.sh (Enter)
同様に「demo.sh」の実行ファイルでは、SW1を押すとLED1が点灯し、SW2を押すとLED2が点灯します。 SW6を押せば終了しました。
./demo.sh (Enter)
今回の機能検証テストで、製作したApplePi基板は正常に機能していることが分かりましたので、DACモジュールMM-5102のテスト及びインターネットラジオの検証へ進みたいと思います。
写真1 Raspbian起動
写真2 「A6 I2C」 を選択
写真3 ソースファイル「ApplePi.tar」のダウンロード結果
写真4 「ApplePi]の実行ファイルの生成結果