replyelement14の電源オンする前にUSBシリアル変換アダプタを接続します。elemet14側のシリアル出力をこのアダプタでUSBに変換します。接続方法は以下の通りです。TXD──(黄色)──RXDここで注意して欲しいのが、RXDとTXDを接続するということです。RXD=受信、TXD=送信という意味ですので、受信ピンには送信ピンをつなぐのですね。これを間違えるとコンソールには何も出力しません。アダプタの先はPCに接続します。これがelement14のコンソール画面になります。コンソール用のアプリは定番のTeraTermです。TeraTermを起動し、接続先を選択します。今回はUSBシリアルアダプタは「COM7」として認識しているので、COM7を選択します。element14の電源を入れます。今回はUSBから電源を供給します。電源を入れると、element14の「PWR」LEDが青色点灯します。このとき、コンソールには起動メッセージが出力します。最初にU-Bootが起動しますが、起動イメージが見つからずエラーになっています。するとマイクロSDカードを読んでいるのかもしれません。u-boot.img再度U-Bootが起動します。最初のU-Bootとバージョンが同じですが「SPL」がありません。1」から、基板のeMMCを認識しているようです。SDスロットにはマイクロSDカードは挿していない状態です。Kernelが起動します。login:どうやら無事に起動したようです。次回の第3回は、ログインして、いくつかコマンドを実行してみます。Blackを入手しました。パッケージはこれです。ふたを開けてみるとBBB基板1枚USBケーブル1本ペラ1枚が入っています。基板の表面には「element14」とシルク印刷されています。AM3358BZCZ100」が載っています、基板中央の部品です。メモリはCPUとUSBコネクタの間にあります。800MHZ」とあります。内蔵ROMとして4GBのeMMCが載っています。上記写真でCPUの右下のチップです。「Kingstone」という文字が見えます。第2回は電源を入れてみます。このまま電源を入れるとeMMCに入っているLinuxが起動するとのこと。Blackというものがあります。下記の会社さんが出しています。色々な機能を持った拡張ボードを接続することができます。PiやArduinoと同じですね。この拡張ボードのことをCapeと呼んでいます。Blackの前のバージョンの、Beagleboardと共通のcapeもあります。Capeの一覧は、elinuxのBeagleboneのサイトにあります。自分の作ったcapeがあれば、wikiでページを作ってメールで知らせると上記のリストに加えてもらえるようです。以下、便利なcapeについて解説してゆきます。TFTの載ったcapeです。サイズで、このまま何か箱に収めれば、ポータブル機器の試作品がほとんどそのままできてしまいそうです。Digi-Keyでも販売しているようです。Blackに変換するボードです。Blackに取り付けられるものの種類が格段に広がります。BlackにはいくつかのRevisionや、中国版などといった差異があります。elinuxのサイトによると2014/4/20までで、10通りのRevisionが出ています。A4何が違うのかややこしいのでまとめておきます。(Pending)2014年5月頭ごろ発売予定。eMMCが4GBに増えた。Version)AM3358BZCZ100プロセッサ。A6AGND_OSC1をシステムのグラウンドへつなげる0Ωを追加C106を1uFに変更C24を2.2uFに変更。リセットがうまくいかない問題へ対応。R9を削除しR8を追加。TPS65217Cに関連して発生していた問題への対応。VDDSのレールをVRTCのレールへ接続するという変更。A6SYS_RESETがPORZnとORで接続されたOSC_GNDに0Ω抵抗を追加しノイズの問題へ対応VDD_3V3BレギュレータをVDD_3V3Aレールへ移動。3.3Vレールのランプアップを低減する目的。A5AXAM3359AZCZ100を使用47pFバイパスをLCD信号のいくつかへ追加しノイズに対策TPS65217に、バッテリへの接続パスを追加。A4B100kプルダウンをJ1の1から4ピンへ追加しシリアルポートの問題へ対応。Blackが出ています。Revisionについてまとめた情報はいまのところ見つかっていないので、また分かったら追記します。ベンダーは下記の2件があるようです。BlackTIのサイトによると、オリジナルと中国版とはそれぞれ下記のスペック。Black用のOSプリインストールSDカードの使い方等について、解説します。Black」で制御するロボットの作り方』に連動したOSプリインストールSDカードです。書籍内で説明されている、pythonからのハードウェア機能操作が一通り可能になっています。◯起動とログインこのSDカードには、Ubuntu12.04がインストールされており、カーネルは3.8.13-bone25になります。Black本体に挿して電源に入れるだけで、Ubuntuが起動しますので、シリアルコンソール、または、有線LANをつないで、SSH等でログインして使用して下さい。temppwdになります。パスワードは仮のものですので、passwdコマンドで変更することをお勧めします。ubuntu@xx.xx.xx.xx(xxには適切なIPアドレスを入れて下さい)でログインできますが、本SDカードには、既にmDNSの設定がされています。従って、ホストコンピュータ側もmDNSの設定がされている状態であれば、下記のように、マシン名でアクセスすることができます(予め設定されたマシン名はBegleBoneBlackです)。以下に、pythonからハードウェアを制御するサンプルがあります。samples以下には、Section4Section5Section6_9という3つのフォルダがありますが、各々、連動している書籍の章に対応しています。Section4は、純粋なpythonのサンプル、Section5は、各ハードウェア機能単体を試すためのサンプル、Section6_9は、書籍6章から9章で示したロボット制御のためのサンプルおよびライブラリが収められています。これらのサンプルは、工学社さまのホームページからダウンロードできるものと基本的には全て同じファイルです。6章から9章のサンプルは、前の章で作成したライブラリを同じフォルダに置いて使う必要があるため、利用上の便宜の点から、ウェブから入手できるサンプルとは構成を変え、Section6_9というフォルダに全てまとめて置いてあります。これらのサンプルを試すために必要なAdafruit社の提供するPythonによるハードウェア制御ライブラリAdafruit_BBIOに関して、本SDカードには、バージョン0.0.17がインストールされています。本SDカードでは、全てのPWM出力、SPI出力が利用できるように、HDMI出力機能をオフにしてあります。HDMI出力を利用したい場合には、boot領域にあるuEnv.txtを編集して下さい。最後に、このSDカードは、基本的には、連動している書籍に合わせて作成されたものです。Blackを使いこなせるようになると思います。Black」で制御するロボットの作り方』(工学社)を出版しました。Black」を使った電子工作の入門書です。Black」とは、「シングルボード・コンピュータ」と呼ばれる小型コンピュータで、コンピュータ単体として動作するのに必要な機能をすべて実装した一枚の基板です。Black」を使って何か作ってみたい人を対象に、その特徴を活かした「走行ロボット」の制作方法を紹介しています。電子回路を直接制御する方法を分かりやすく解説しています。入門書ではありますが、最後には簡単な「知能ロボット」が出来上がります。Blackの最初の動作確認と、その後の開発環境としてUbuntuをインストールするところまでを書いておきたいと思います。Blackは2013年4月末に発売されたばかりで、まだまだ日本語の情報は少ないようです。筆者が調べた2013年5月半ばの時点では、下記のサイトでHowToを書いている他は英語の情報ばかりでした。http://gadget.ichmy.0t0.jp/beaglebone/http://wiki.limemo.net/dokuwiki/beaglebone/start上記のサイトを参考にさせて頂きながら、動作確認を行います。Black(以下BBB)を箱から取り出すと、本体と付属のUSBケーブルが出てくるので、本体のマイクロSDカードスロットには、何もささず、付属のUSBケーブルを本体側はUSB-OTGの口にさし、反対側はPCにさします。この状態で、ボードに給電され、デフォルトのOSであるAngstromが起動します。すると、BBBがUSBメモリとしてマウントされますので、マウントされた中にあるSTART.htmを実行して下さい。ダブルクリックすればOKです。後は、中の指示に従います。http://192.168.7.2”のように実際に接続されたマシンのIPへのリンク(USB接続から仮想的なLANアダプタを構成して、privateなアドレスを振っている、ここでは192.168.7.2と出た)がありますので、それをクリックすると、デモページが開き、本体LEDを操作することができます。guide”というのがあります。それがjavascriptライクなものでweb越しにBBBのペリフェラルをいじるインタフェースの例になっています。その下の”Example”となっているところは実際にコードをいじることができます。コードをいじったら、”run”ボタンを押してみて下さい。コードに書いてある通りの内容が実行されると思います。この状態で、本体でsshdが走っていますので、SSH接続を試すこともできます。ここでは、ボードのIPアドレスが192.168.7.2だとすると、下記のようにターミナルから打つことでBBBにログインすることができます。ユーザはroot、パスワードはなしです。/proc/cpuinfoなどで、カーネルやCPUの情報などを確認できます。デフォルトのオンボードフラッシュのOSイメージだけの動作確認は以上です。UbuntuのインストールBBBのデフォルトのLinuxディストリビューションはAngstromなのですが、使いやすさ、情報の多さでいくとUbuntuの方が勝っているので、ここでは、UbuntuをBBBにインストールする方法を紹介します。BeagleBoneも含めてUbuntuを対応させるプロジェクトがあり、そこで紹介されている方法(http://elinux.org/BeagleBoardUbuntu)を参考にします。12.10が対応)netinstall(11.10、12.04、12.10が対応)マニュアルインストールの3つがあります。どの方法を選ぶかは、Ubuntuのどのバージョンをインストールするか、で大体決まります。今回、BBBのハードウェア機能をフルに活用するためには、カーネルが3.6以上でなければならないという制約がありますので、デフォルトのカーネルバージョンが3.8.8である13.04をインストールすることにします。いうわけで、pre-compiledなデモイメージを元にインストールを行います。具体的には下記のようにして、イメージをダウンロード、ベリファイ、アンパックします。ubuntu-13.04-console-armhf-2013-04-26ここまでできたら、SDカードリーダにインストール先のSDカードをさして以下のインストールスクリプトを実行します。ここでは、SDカードは/dev/sdcとして見えているとします。カードを差し込んだ際に、何かマウントされたら、それをアンマウントしておきます。512–swap_fileでスワップの容量を指定していますが、一応、メモリと同量分と考え512MBとしておきます。このセットアップには時間がかかります。1時間半ぐらいは見ておいた方が良いでしょう。終了したら、SDカードを引きぬいて、BBBの電源を切った後(アダプタや給電のためのUSBケーブルを抜いた後)にMicroSDをBBB本体にさします。ここから先は、シリアルコンソールを利用するためにヘッダピンが出ているタイプのTTLレベルが3.3VのUSBシリアルが必要です。筆者は、aitendoのUSB-UART変換モジュールUSB2UART-CP2102を利用しました。このUSBシリアルのGND、RXD、TXDのピンを接続します。#5がTxD(USBシリアル側はRxD)と接続します。クロス接続になることに注意して下さい。この状態で、ホストPCにUSBシリアルをさして、どういう名前で認識されるか確認します。筆者の環境では、/dev/ttyUSB0として認識されました。シリアルコンソールは、ボーレート115200で接続。データ長8bit、ストップビット1、パリティなし、フロー制御なしですので、新しいターミナルを開き、以下のコマンドを打って、ホストマシンから接続します。/dev/ttyUSB0ここまで来たら、ACアダプタ、或いは、USBケーブルを介して、BBB本体への電源の供給を行い、ブートさせます。無事、起動すると、ubuntuのログインプロンプトがターミナル上に表示されます。pass:temppwdになっています。最初にパスワードは変更しておきます。ブートに成功したら、引き続き、初期設定を行います。有線イーサネットケーブルをBBB本体にさしてリブートします。rebootリブート後、ログインして/etc/network/interfacesを確認すると、デフォルトでeth0はdhcpが振られる設定になっていますので、同一ネットワーク上にDHCPサーバがいれば、自動的にIPアドレスが振られます。addr:192.168.x.x(.x.xは環境によって異なります)と出れば、ネットワークも開通しています。この状態で既に外部からのssh接続もできるようになっています。次に、ソフトウェアのアップデートを行います。aptitude無事、アップデートが終了したら、次は、タイムゾーンを変更をします。tzdataでAsia/Tokyoに変更します。ちなみに、/boot/uboot/tools/ubuntu/minimal_lxde_desktop.shを実行すれば、フルGUIの環境をインストールすることも可能ですが、必要になった時に行うことにして、今回はやらないでおきます。続いて、好みがわかれるところですが、筆者はemacs派なので、emacsをインストールします。普通にapt-getで入れると、.emacs.dの権限がおかしくなっていたので、それも正しく変更します。.emacs.d/最後に、これも好みですが、マシン名をarmからBeagleBoneBlackに変更します。hostnameコマンドだと一時的にしか変更されなかったので、大本を変更するようにします。/etc/hostsこれで、リブート後にはhostnameが変更されます。以上で、今後のBBBでの開発をUbuntuで行なっていくための準備は整いました。