ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2013年8月22日木曜日

BeagleBone Blackことはじめ/USB接続して開発を始めるまでとその他もろもろ

前のエントリでも書いたとおりBeagleBone Blackを注文していた。

BeagleBoneのケースAdafruit Bone Boxが届いた - ばかおもちゃ製作所

やっとBeagleBone Blackが届いて、とりあえずざっくりと動かしてみた。
買う前はあまり日本語での情報も多くないし、前のバージョンの情報がヒットすることも多く、またOS入れ替えたりするようなバリバリのものばかりでやや不安に思っていた。しかし実際のところ、これがびっくりするくらい簡単に使える。単純に動かすだけなら、同梱のUSBケーブルだけでプログラムを書き始めることができる。
簡単なので書くことは多くないけど、一応BeagleBone Black入門というか、使い方というか、そういうものを書いていく。


秋月で買った。Rev A5Cという現状では最新のリビジョンのもの。


マニュアルはこの写真に写ってる二つ折りの小さい紙だけ。
もっともその内容だけで普通に動かせる。


ボードは黒主体でなかなか格好いい。


上述のAdafruitのケースに入れるとこんな感じ。今は上蓋は開けている。

取り出したら、同梱のUSBケーブルでPCと接続。
そうするとストレージとして認識されるので直下のSTART.htmを動かす。


上記のページが開くので、Step #2の下のドライバを選択する。
ここでインストールされるのはArduinoなんかでも使うUSBを仮想シリアル接続にするやつとか、USB接続を仮想LAN接続とするやつとかみたい。インストールが終わると、その仮想LAN接続でBeagleBone BlackとPCが接続される。
Step #3のClick here to launch: http://192.168.7.2(下一桁は変わるかも) というところをクリックするとBeagleBone BlackのWebサーバーに接続されて、BeagleBone Black上での開発について書かれたページが表示される。このページにスクリプトの書き方からColud9 IDEやSSHでの接続方法など書いてある。


初期状態のBeagleBone Blackで開発をする場合は、ブラウザ上で動くIDEのCloud9を利用するか、あるいはSSHで接続して普通のLinux上での開発みたいに行うかのどちらかになる。

Cloud9を使う場合、この画面の中にあるCloud9 IDEという題字のリンクを開くと、すぐエディタが表示される。私は特に使うつもりはないのであまり調べてはいないが、デバッガなんかも付いていてステップ実行なども可能らしい。
ちなみにCloud9 IDEのURLは192.168.7.2:3000だ。
ブラウザ上でコードを書いて、実行すればそのままLチカでも何でも可能だ。

GPIOなどの汎用入出力の操作はBoneScriptというJavaScriptのライブラリを使えば簡単にできる。もちろん、デジタル/アナログ入出力とは何かとか、PWMとは、I2Cとは何かみたいな部分は自分で勉強する他ないが、C言語でAVRマイコンを直接触るよりは取っつきやすいだろう。ちなみにpinMode()とかanalogWrite()とかメソッドの名前はArduinoと同じにしてあるっぽい。

というわけで、こんな感じで開発を始めることが出来る。
ともかく、USBを挿して、ドライバを入れて、192.168.7.2:3000を開けば開発が始められるので非常にシンプルだ。JavaScript(Node.js)についてある程度の知識があれば、ソフトウェア側の開発はすぐにでも出来ると言って良いだろう。

***

で、以下は補足みたいなことを雑多に書く。

[時刻について]
初期状態では時計が合っていないが以下の画面のSet Dateというボタンを押すと時間が設定される。

ボタン電池など見当たらないので、電源を切るたびに時計はずれるものと思われる。
もっとも省電力なので付けっぱなしにしておいても問題はないと思う。

[SSHでの接続]

192.168.7.2:22にターミナルで接続できる。
IDはrootでパスワードはなし。

[スタンドアローンでの動作]

HDMIでモニターにつないで、USBキーボードを接続すれば直接操作出来る。
またDHCPのLANがあればそのまま接続できる。もちろんこの状態でSSHなどを利用してネットワーク越しに動かすことも出来る。
ただ電源用の5VのACアダプタやLANケーブルは同梱されていないので買う必要がある。
ページ末にAmazonのリンクは貼っておくけど、私は秋月で一緒に買った。

超小型スイッチングACアダプター5V2A(秋月)

[HDMI]

上述のとおりHDMIで接続できる。ボード側はマイクロHDMIなので、HDMI⇔マイクロHDMIのケーブルを買う必要がある。間違えないように注意。まだやってみてないが、とりあえずケーブルだけ買った。
Amazonマークが入っていてちょっと可愛い。

[ストレージ]

マイクロSDをストレージとして利用できる。
また本体に元から2GB分のフラッシュメモリが搭載されているので、まず動かしてみようというときには、特にマイクロSDカードを買う必要は無い。
ただ、BeagleBone BlackのSTART.htmにも書いてあるが、ボードのソフトウェアを最新版にしたり他のOS入れたりしようとするなら、マイクロSDカードを利用することになる。
(使わなくてもイケるかもしれないが良く知らない)

[電源ボタン]


手前側のS3 POWERってのが電源ボタン。
普通はケーブル挿したら勝手に起動する。終了時は10秒程度長押し。もちろんターミナルからshutdown -h nowとか流しても電源は落ちる。それで電源が落ちた後はこのボタンを押せば起動する。
ちなみにACアダプタをつなげばここには写っていないPWRってLEDが点滅するんだけど、その状態では起動しているわけではなくて、POWERスイッチの左側のチップLEDがチカチカしてたら起動している状態。

[USBハブ]

USBは1ポートしかないので、色々つなぐならハブが必要。
たとえば直接操作する場合でもマウスとキーボードをつなぐならハブが要る。
私は一応バスパワー・セルフパワー両対応のやつを買ってみた。
まだ使ってない。

***

というわけでざっくりとだが、印象がかなり良かったので、もっと流行って欲しいなと思って書いてみた。とにかくUSBで接続して動かすだけなら何も買わなくて良いのは素晴らしい。

もっとも今までまったく組み込みのプログラムを書いたことがないとか、LEDやセンサーをどうやってつないだら良いのか検討もつかないというような人にはArduinoをおすすめする。
Arduinoが何より良いのは色々な作例がページや本に大量に掲載されているということだ。何か分からないときや、つまづいた時、本当はそういうときこそ物事を理解するチャンスなのだけど、それ以前にその挫折でやめてしまっては元も子も無い。その点、Arduinoなら延々ネットを調べれば、たいていのことはどうにかなるだろう。

どちらかというとBeagleBone BlackはArduinoではやや物足りなくなってきたとか、Node.jsで組み込み開発したいとか、Linuxの使い方もついでにちょっと覚えてみたいなんて人にお勧めである。あるいは電子回路なんかのことは全く知らなくても、LinuxやNode.jsのことはかなり経験があるというようなプログラマにもお勧めかも知れない。

またBeagleBone Blackを使った作例というのも動画と共に作ってみようと思います。
そしてなんだか面白そうだなと思ってもらえて、手に取ってくれる人が増えて、こういうような製品が沢山出ると非常にナイスだなと思いました。



[追記]

サーボモーター動かしてみた。
BeagleBone Blackでサーボモーターの使い方



BeagleBone Black
BeagleBone Black
posted with amazlet at 13.08.22
Circuitco Electronics LLC
売り上げランキング: 1,154
マケプレの新品の出品ってリンクからコンディションを見られる。
で、そこにRevA5Cとかリビジョンが書いてあります。
本日現在(8/22)はRev A5Cが最新。


ACアダプタ 小型高信頼性5V2A【5V2A-APS】
ANTHIN
売り上げランキング: 3,823
秋月で買うともうちょい安い。

OS更新したりするならこれも要るけど、まず使ってみる分には無くても可。

HDMI接続するときには必要(HDMI⇔マイクロHDMI)
直接モニターにつなぐ必要が無いなら要らない。

別にバスパワーでも良いだろうけど、不安なので両対応のやつ。


Adafruit Bone Box - Enclosure for Beagle Bone/BeagleBone Black
Adafruit Industries
売り上げランキング: 14,200
前の記事に書いたAdafruit製のケース。
たいへんかわいい。