[RaspberryPi] ラズパイ事始め

【この記事の所要時間: 1123秒】

 

最近、模型とか電子工作(ラジオ、アンプ、等)、トイガンのカスタマイズなど小物弄りをしたい欲求が高まっている。
とはいえ、模型と電子工作はしばらく離れていたので道具を揃えなきゃだしスキル不足も否めない。
トイガンの方は今のところ組みたいモデルが無いし深みに嵌まると怖いのでボツ。
電子工作みたいにあとあと活かせる物となると他にはPC系か。
これなら手持ちの道具で事足りる、ハード的なスキルも必要充分、ソフト的なスキルは入門書やネット情報で補える。

ふと、以前から興味があったRaspberry Piを思い出した。
手持ちの余剰品(ディスプレイ、キーボード、マウス)を活かせば初期投資を抑えられるし、Linuxマシンなので色んな使い途が有りそう。
万が一使い途が思い付かなくても、超コンパクトなので邪魔にならないしね。

というわけで一通り揃えて、とりあえずセットアップしてみた。

 

 

購入品

新規に買ったのは、Raspberry Pi 3 Model B+ スターターキット、アルミ合金製ケースと3.5インチLCDのセット、入門書。

 

スターターキット

他にUSBキーボード/マウス、HDMI対応ディスプレイを用意すればOK…というセット。

  • Raspberry Pi 3 Model B+ 本体
  • 5V/3Aスイッチ付き電源
  • プラスチック製ケース
  • HDMIケーブル
  • MicroSDHCカード(SanDisk Ultra 32GB、NOOBSシステムインストール済)
  • MicroSDHCカードリーダー/ライター(USB-A/USB-C対応)
  • ヒートシンクセット
  • 日本語説明書

 

 

肝心の本体は実に質素なパッケージで、箱は破いて開ける構造、内部は一切の梱包・緩衝材無しでボードがそのまま放り込まれている。

 

アルミケース&LCD

上下二分割のケース、3.5インチLCD(SPI接続)、タッチペン、組み立てネジやゴム脚などパーツのセット。

外付けのHDMIディスプレイが有るので購入する予定は無かったが、事前にディスプレイの動作確認をしたところHDMI接続で表示されなかったため、急遽直付けLCDの購入を検討。
キットにもケースは付属しているが、LCDと本体を一体化出来て、放熱性や雑音低減の点から有利な金属製のケースが良いな…と調べて、唯一見つけたのがこの製品。

直付けLCDはこのSPI接続の他にHDMI接続の物が有り、セットアップはHDMI接続の方が容易らしいのだが…金属製ケースに収まる物が無かったので見送り。(1) 
しかし…このSPI接続を選択したことによる難行苦行が待ち構えているのであった…。

 

 

所有品

手元に有る余剰品を流用。

  • HDMI接続対応のミニディスプレイ(他にDVI/VGA/コンポジットにも対応)
  • USBミニマウス
  • ワイヤレスミニキーボード(タッチパッド内蔵)

 

 

組み立て

ケースの下半分にはボード裏面のチップ(DRAM)が当たる位置に出っ張りがあり、そこに熱伝導ゲル(写真中の水色のシート)を貼ってチップに接触させることで、ケース自体を放熱器として使用する。
そのため、スターターキットに付属しているヒートシンク(熱伝導ゲル右横の銅板)は使用しない。

セットアップで長時間使用しているとケース全体が結構暖かくなっているので、効果はある様子。
vcgencmd measure_temp で取得したCPU温度は、平常時:約40℃/中負荷時:約50℃(室温24℃)。
ケースの外からUSB扇風機などで風を当てることで更なる冷却化が図れるだろう。

 

ケース下半分にボードを収めて、四隅のスペーサー(金色の筒状の物)で固定する。
ボード上のチップにもヒートシンク(SoC用:中央やや左よりの金色の物、CTL用:USBポート左隣の青色の物)を装着する。
尚、青色のヒートシンクは手持ち品で、スターターキットには付属していない。

 

 

外観

アルミニウム合金削り出しで、精度が高くピッタリ噛み合う。
全体を金属で覆う感じになるが、六面のうち一面(二段目の写真でやや凹んだ面…ボード上でワイヤレスアンテナが有る向き)が樹脂製パネルになっていて、Wi-FiやBluetoothの接続も問題無し。
また、このパネルはスモークなので内部の状態表示LEDを視認することも出来る。
覗いてみると、RaspberryボードとLCDボードの間は間隔が広く、結構余裕がある様子。

 

裏には滑り止めのゴム脚(別添付品)を貼付。

 

 

セットアップ

 

システムセットアップ

スターターキットにはNOOBSがインストールされたSDHCカードが付属しているが、NOOBS経由でセットアップしたシステム(Raspbian)は直付け(SPI)LCDとの相性が良くないらしいので、事前に直接RaspbianをセットアップしたSDHCカードを準備。

  1. SDメモリカードフォーマッターをダウンロードして、MacBookPro/13にインストールする。
  2. 手持ちのSDHCカードをSDメモリカードフォーマッターでフォーマットする。
  3. 公式のダウンロードサイトから Raspbian Stretch with desktop (ZIP版)をダウンロードする。
  4. ダウンロードしたZIPファイルをMacBookPro/13で解凍する。

後は解凍して抽出されたイメージ(img)ファイルをSDメモリカードに書き込めば出来上がりだけど、この手順は文章にすると結構複雑なので割愛。(2) 
今回併せて購入した入門書に記載されている手順に従って進めた。

作成したシステムディスクでひとまず起動OK。
自宅のWi-Fiへの接続も難無く出来たのでアップデートと日本語化を進める。
この時点では直付けLCDのドライバが入っていないので、表示が真っ白なまま。
尚、外付けディスプレイは手持ちのHDMIケーブルでは表示出来なかったが、スターターキット付属のHDMIケーブルで無事表示出来た。

続けてMacBookPro/13からのSSHとVNCでの接続設定も問題無く完了。

・SSH有効化 …【設定】⇒【Raspberry Pi の設定】⇒【インタフェース】で SSH を有効にする。
・VNC有効化 …【設定】⇒【Raspberry Pi の設定】⇒【インタフェース】で VNC を有効にする。

・SSH接続 … ssh pi@raspberrypi.local
・VNC接続 … vnc://raspberrypi.local

 

これでより広い画面&キーボードを使って操作出来る。
ミニキーボード内蔵のタッチパッドでもマウスカーソルの操作は出来たが、操作性を考えてUSBミニマウスを使用。

 

このミニキーボードは、Bluetoothではなく専用のUSBドングルを使用する。
そのため汎用性が乏しくて仕舞い込んでいたが、今回スンナリ使えたので良かった。

キーボードは小さいがそこそこ盛り上がっていて、クリック感もしっかりしているので、使い勝手は悪くない。
ただ、 TAB キーが無いのが残念… 複数キーの組み合わせでもいいから対応して欲しかった。

右2/3くらいのスペースがタッチパッド(①)になっていて、マウスカーソルの移動が出来る。
キーボード左下には左クリック(②)と右クリック(③)のキーが有り(3) 、また、タッチパッド右上にはページアップ/ダウン(④)のキーが有る。
このキーボードはリモコン?としても使用出来、タッチパッドとリモコンボタンの切替が可能(⑤)。

余り明るくないけれどもバックライト機能も有り。

 

サイズはiPhone8とほぼ同じくらい。
iOSにも対応しているが…専用ドングルを接続するためにLightning⇔USB-Aのアダプタが必要。

 

LCDドライバセットアップ

起動までは順調、いよいよ直付けLCDのセットアップ。
アルミケース&LCDのセットには説明書らしき物は一切付属していなくて、Amazonの商品説明内にドライバの入手とインストール手順を英語で記したページのURLが書かれているのみ。
ネットで調べてみるとSPI接続LCDのセットアップは結構苦労している様子なのでちょっと不安だったけど、記されている手順自体はさほど複雑ではないので大丈夫だろう…。

Raspberry Pi上でダウンロードとインストールを済ませ、いよいよ表示先を直付けLCDにして再起動。
まだ外付けHDMIディスプレイを接続したままだが、起動時のメッセージの羅列は直付けLCDの方に表示された。
成功か!と思ったら…デスクトップは外付けHDMIディスプレイの方に表示され、直付けLCDは真っ白なまま。

外付けディスプレイの解像度が直付けLCD(480×320)と同じで狭い。
MacBookPro/13からVNC接続しても当然同じ解像度なのでGUIではほぼまともに操作出来ず、表示先を外付けディスプレイに切り替えて再起動して設定を調整する⇒また直付けLCDに切り替えて再起動…の繰り返し。

しばらく試行錯誤しても一向に改善しないため、ドライバの問題(ベンダーやバージョン等の不適合)かも。

 

直付けLCDに記されたこの情報を基に調べてみたところ、同じLCDを別のドライバでセットアップした記事を見つけた。
Raspberry PiのボードとRaspbianの版数は自分の環境と異なっているようだったが、ダメ元でドライバをダウンロードして入れ替えたところ、無事直付けLCDにデスクトップが表示された。
但し、解像度はデフォルト(480×320)のまま。

次はこの解像度の変更。
直付けLCDの方は実解像度の縦横二倍(960×640)程度、VNC接続時には広め(1280×1024)にしたい…と色々試してみたが、LCDとVNCで異なる解像度にする設定が分からず(不可?)、結局両方とも1280×1024で落ち着いた。
3.5インチのLCDでこの解像度はかなり厳しいが、この画面で直接操作することは無く、状態確認程度なので大丈夫だろう。
また、LCDのタッチパネル・キャリブレーションは行っていないが、特に位置誤差は無く使用出来ている…尤もスタイラスペンを目的の位置に当てるのは結構大変だけどね。

・直付けLCDへ表示切り替え: LCD-show/LCD35-show を実行。
・外付けディスプレイへ表示切り替え: LCD-show/LCD-hdmi を実行。

LCD-show/boot/config-35.txt の編集例

 hdmi_drive=2
 hdmi_group=2
 hdmi_mode=35
 hdmi_force_hotplug=1
 hdmi_cvt 960 640 60 6 0 0 0

 framebuffer_width=1280
 framebuffer_height=1024

 ※試行錯誤の結果なので無用/無効な設定も有るかも。

最初は /boot/config.txt を編集していたが、表示先を切り替える度に ドライバ側のコンフィグファイル(上記のLCD-show/boot/config-35.txt )で上書きされることに気付かず…しばらく悩んでしまった。
(ドライバと呼ばれてはいるが、実際はこのコンフィグファイルの書き換えを行っているだけらしい。)

 

 

諸々

5V/2.4A出力のモバイルバッテリーでもとりあえず使える。(4) 
写真のバッテリーは8000mAhだけど残量の減り具合がかなり早いので、実用するにはもっと大容量のバッテリーが必要だろうね。

 

iPad mini 4からもVNC接続完了。
これくらいの表示サイズになればソフトウェアキーボードでも充分実用になる。

 

 

さて、ひとまず完了。
いろいろ悩んだものの良い頭の体操になったし、小物弄り欲求もほぼ満たされた。
さて、次は活用…何に使おうか・どう使おうか。
やってみたいことは幾つかあるけれど、焦らずノンビリ進めて行こう。
また試行錯誤に陥るだろうけれど、それもまた頭の体操だ。

 

 

 

  1. Raspberry PiのHDMI端子と外部でブリッジ接続する構造のため、全面をカバーするケースは難しそう。 []
  2. 始めたばかりの素人が説明するよりも遙かに詳細で分かりやすく解説されているサイトがたくさん有るからね。 []
  3. タッチパッドをタップすることでも左クリックになる。 []
  4. 推奨は5V/2.5A以上。 []