BeagleBoneBlackBox
1台送ってもらった。
感想を一言で言うと、「ホビー用ではないプロ用」ってことかな。
製品の状態
添付品は、本体のほかに、ACアダプタ、microHDMIケーブル、シリアルコンバータ、USBシリアルコンバータ。
製品には、付属品は付かないので、別売りのものを買うか、自分で調達する必要がある。
ケースはアルミ製。上ぶたをとめるネジ1本と、基板をとめるネジ4本。ネジトップにまで塗装してあるけど、これはそこまでしなくてもいいような(^^;。
無改造で接続できるようにしたような話を聞いたのだけど、中の基盤はハンダ付けされていた。
前のバージョンかな?
ケースには空きスペースがあるので、USBは外からコネクタごしにHUB接続にしてもよかったのではないだろうか?
追記:
USBをコネクタ接続せずにハンダ付けしたのは、「HDMIコネクタと干渉して入らなかったから」と聞いたのだけど、標準品は、HDMIの穴あいてないので関係ないのじゃないかな... それとも、この個体だけ?
HDMIコネクタとSDの口
製品版ではmicroHDMI, microSDは箱に収めた状態では使用できない。今回は、HDMIの部分だけ、無理矢理穴をあけたものを送ってもらったのだけど、ヘッドレスのサーバーで使うのにはこれでいいのだけど、いろいろ実験をやってみたいというホビー用途には、ちょっと困った仕様だ。
とりあえず、穴はあけてもらったものの、ケース表面からコネクタがかなり奥にあるので、蓋をした状態で後からコネクタを差し込むのは、かなり難しい。
ハードウエアウォッチドッグタイマ
子基板には、ハードウエアウォッチドッグが付いている。
http://www.si-linux.co.jp/techinfo/index.php?BBBBox_WDT
これがあるので、MLOを入れ替えないと自動でリブートを繰り返してしまって使えない。MLOのバイナリは上記ページでダウンロードできるものの、子基板への取り付け前に入れ替えておく必要がある。
このウォッチドッグは、オンオフできず、タイムアウト時間は 1.6秒固定なので、1.6秒ごとに必ずGPIOをたたいてやらないと再起動してしまう。そのためのシェルスクリプトも上記ページにサンプルが書かれている。
障害対応運用するには、ウォッチドッグは必要な機能だけど、オフにしたり、時間設定を変更できたりしないのは、つらいところだ。
追記:
内蔵のeMMC上のMLO入れ替えは、watchdogをオフでkernel起動するので、これだけやっていれば、userlandは変更なしでいいそうだ。BBBBox_WDTの内容も改定されている。
拡張されたUSBホスト
子基板には、USB HUBが内蔵されていて、BeageleBone BlackのUSBホストをHUB経由でケースの外に4つ出している。これは便利。
BeagleBone Blackには、USBホストのコネクタが1つしか付いていないので、無線LANやBluetoothを差し込むと終わってしまうし、キーボードやマウスを差し込むにもHUBを用意する必要があって不便なので、これは助かる。
おまけに、少しプログラムを書くことで、USBホストの電源をコネクタ毎にコントロールできるようになっている。USB連動の電源タップなどを使えば、間接的に外部機器の電源のオンオフをコントロールすることもできる。
http://www.si-linux.co.jp/techinfo/index.php?BeagleBoneBlackBox_USB%C5%C5%B8%BB%C0%A9%B8%E6
外部インターフェイス
標準のBeagleBone Blackと比較して、子基板によって、ボタンが2つ、4ビットのディップスイッチ、赤緑2色LEDが3つ、20ピンの独自拡張コネクタが増えている。
内部では、拡張コネクタに子基板がかぶるようになっているので、Capeなどを増設することはできない。
LEDはBeagelBone Blackの基板上の青色LEDがケースですっかり隠れてしまうので、内部状態を通知するのに使えそうだ。2色は出口は同じだけど、個別にコントロールできるので、同時点灯でオレンジを加えた3色を作ることができる。
ボタンもBeagelBone Blackの基板上のボタンにはさわれなくなっているので、この代替としてプログラムを追加して使えそうだ。
拡張コネクタからのシリアルの取り出し方法は、以下のページに解説されている。
http://www.si-linux.co.jp/techinfo/index.php?BBBB_console
ケーブルの加工が必要なので、普通の人向けではないかな。
拡張コネクタの他のピンは、digital inが6、digital outが8になっている。いずれも、BeagelBone Blackの拡張コネクタ直結のため、3.3V対応で5Vは使えない。
LEDやピアノスイッチの状態を知ったり、コントロールするには、GPIOを制御する必要がある。簡単な監視スクリプトがあるので、それを使うと、デバイスとして値を書き込んで制御できる。
LEDは、kernel標準ドライバで制御できたらよかったかな。
追記:
BeagleBone Blackのボード上の青色LEDは、ディップスイッチの隙間から見える。見えないよりはいいかな。
追記:
基板上のリブートボタンが押せない...
これ、結構困るです。