...

Raspberry財団が供給している小さなシングルボード

by user

on
Category: Documents
6

views

Report

Comments

Transcript

Raspberry財団が供給している小さなシングルボード
はじめに
Makerへの第一歩にBeagleBone Blackを!
Raspberry財団が供給している小さなシングルボードコンピュータRaspberry Piが大きな話題
になり、Linuxが動作するARMベースの小型コンピュータを活用する人が増えています。それ
に合わせて、以前からあるマイコンボードArduinoやPICマイコンといった利用のハードルが比
較的低いマイコンボードにも関心が集まっているようです。
さらに3Dプリンタの発達などもあり“モノづくり”を志す「Makerムーブメント」とも呼ば
れる流行が世界的にも広まっているようで、日本でもそれに呼応した動きも出てきています。
シングルボードコンピュータは今に始まったカテゴリではありませんが、以前はアマチュアが
入手することが難しい上に、資料もプロ向けでハードルが高い面がありました。そのハードルを
下げる試みを最初に行ったのは、2008年に登場した「BeagleBoard」というボードコンピュータ
でした。
そ のBeagleBoardを 手 が け たBeagleBoardプ ロ ジ ェ ク ト の 現 行 製 品 が 本 書 の 主 題 で あ る
「BeagleBone Black」です。
BeagleBone Blackは1GHzで動作するCortex-A8コアを中核に、PowerVRのグラフィックアク
セラレータなどを集積したARMベースのSoCを搭載するシングルボードコンピュータです。3年
ほど前のスマートフォンとほぼ肩を並べる程度の性能を持っており、Raspberry Piが搭載してい
るSoCに比べ、CPU性能を含めて1.5∼2倍程度の性能が期待できます。
また、BeagleBone Blackは合計92ピンのコネクタに多数のI/O端子を持つにもかかわらず、基
板サイズは名刺大と極めて小さく、まさにモノ作りには最適な製品といえます。
価格も手頃で、日本でもRaspberry Piに対して1000円程度高い5000円前後で手に入るでしょ
う。小型で安価、しかも高性能と三拍子そろったBeagleBone Blackですが、日本での人気は
Raspberry Piに遠く及びません。なぜでしょうか?
いくつか理由はありそうですが、まず第一に日本語の情報がほとんどないことが大きな理由か
もしれません。BeagleBone Blackのまとまった日本語の情報はネットにもほとんどなく、もっ
ぱら海外のサイトに頼らざるをえない状況です。
さらに加えて、BeagleBone Blackが極めて高機能という点がハードルを高くしているようで
す。BeagleBone Blackは多数のI/Oをモードで切り替えることができ、そのモードの切替えに
3
Linuxカーネルバージョン3.7から実装されたDevice Treeの仕組みを生かしています。そのため
多機能ではあるものの、実装はやや複雑といえます。
複雑な上に資料も少ないとなれば、利用する人が少なくなるのも無理はありません。そこで本
書では、BeagleBone Blackをモノ作りのために利用する上で、最低でも知っておきたい情報を
中心にまとめました。
利用する機会が多いGPIOとPWMを中心に利用法を紹介するとともに、BeagleBone Blackの
大きな特徴であるJavaScirptによるハードウェア制御を取り上げています。また、より高速にI/
Oを駆動したい人のために、ネイティブコード(C言語)によるGPIOとPWMの利用法をまとめ
ています。
また、BaegleBone BlackもLinux機ですから、Linux機として使う上で知っておきたいカスタ
マイズ方法や起動プロセスについても解説を加えました。
BeagleBone Blackは非常に多機能で、本書には取り上げきれなかった機能も多いですが、本
書を手がかりにすれば、BeagleBone Blackの多数の機能のアクセスできるはずです。ぜひ
BeagleBone BlackでMakerへの第一歩を踏み出してみてください。
2013年11月
Contents
著者記す
■本書を読むために
本書では、プログラミング言語としてJavaScriptとC言語を用いています。双方の言語の知識
があると、より楽に読み通せるでしょう。電子工作の知識は必ずしも必要ありません。
【参考資料】
BeagleBone Blackを活用する上で、次の2点は必ずネットからダウンロードして手元において
ください。
System Reference Manual
https://github.com/CircuitCo/BeagleBone-Black/からダウンロードできるBBB_SRM.pdf
AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual
http://www.ti.com/product/am3359にある同名のマニュアル
【本書で作成したリストの入手先】
本書で作成した各種リストは、本書のサポートページからダウンロードできます。必要に応じ
てご利用ください。
http://www.rutles.net/download/393/index.html
4
CONTENTS
Chapter1 BeagleBone Blackの基本
1-1
BeagleBoardから進化したBeagleBone Black
BeagleBone Blackとは
12
12
TIとDigi-KeyがスタートさせたBeagleBoardプロジェクト/13
◆
BeagleBone Blackを手に入れよう
14
Digi-Key/14
◆
◆秋月電子通商/
1-2
1-3
1-4
16
BeagleBone Blackで何ができるのか
小型のLinux機として活用する
BeagleBone Blackの豊富な入出力を生かす
BeagleBone Blackを眺めてみよう
BeagleBone Blackを見る
17
17
18
19
19
BeagleBone Blackを使うために必要なもの
23
USBハブ(セルフパワー式)/23
◆
MicroSDカード(4GB以上)/24
◆
ACアダプタ(5V1A以上)/24
◆
◆マウス&キーボード/
◆マイクロ
25
HDMI-HDMI変換ケーブル/25
FTDI USB・シリアル変換ケーブル(3.3V版:TTL-232R-3V3)/26
◆
Linuxが動作しているPC/27
◆
1-5
BeagleBone Blackの電源を入れてみよう∼動作するか確かめる
外部機器の接続と電源の投入
起動しなかった場合のチェック
28
28
30
MicroSDカードは入っていないか?/30
◆
5
USBハブを抜いて起動を試みる/30
◆
eMMCのアップデートを実行/30
◆
◆初期不良/
1-6
30
BealgeBone Blackで最初にやっておきたい初期設定
Angstrom Distributionのアップデート
◆①
31
31
MicroSDカードの作成/32
◆②アップデートの実行/
35
Angstrom Distributionの初期設定
36
Angstrom Distributionとは?/36
◆
Angstrom Distributionのアップデートを行う/37
◆
ネットワークの設定方法∼Connection
◆現在の設定内容を得る/
◆固定
Managerの使い方
39
40
IPアドレスで使用する/41
systemdを使った起動設定∼SSHサーバーを起動しておく
43
dropbearのインストール/44
◆
Contents
日本で使うための設定を行う
47
◆タイムゾーンを設定する/
47
◆日本語表示を可能にする/
49
◆キーボードを日本語に切り替える/
52
Chapter2 BeagleBone BlackでBoneScriptを試そう
2-1
2-2
BeagleBone Black用プログラミング環境「BoneScript」
Node.jsとBoneScript
Node.jsの開発環境Cloud9 IDE
BoneScriptを利用するための準備
LAN接続を使う方法
USB接続で使う方法
Windowsの場合/58
◆
Linuxの場合/59
◆
6
54
54
55
56
56
57
◆スタンドアロンの場合/
ブラウザはGoogle
2-3
59
Chromeを推奨
BoneScriptでオンボードのLEDを点滅させよう
GPIOの概略
BoneScriptを試そう
59
60
60
61
BoneScriptはじめの一歩/64
◆
2-4
LEDを外付けして点灯させてみよう
LEDの使い方
67
67
コラム P-N接合/68
コラム BeagleBone
Blackをバッテリ駆動?/69
トランジスタを使ってLEDを点灯させる
70
コラム 東芝25C1815(GR)/72
外付けLEDを制御してみよう∼ブレッドボードを使う
74
コラム 抵抗の値/74
2-5
2-6
GPIOの入力を受け取る
GPIOにスイッチをつなぐ
スイッチの動作をBoneScriptで利用する
PWMを試してみよう
PWMとは
PWMでLEDの明るさを変えてみよう
アナログ入力を試してみよう
80
80
83
87
87
89
92
BeagleBone BlackのADCの仕様/92
◆
温度センサーを使って温度を測ってみよう
◆温度を測ってみよう/
2-7
93
96
Webアプリケーションへの応用
99
温度をWebブラウザに表示するクライアント・サーバーアプリケーション 99
サーバーサイドアプリケーションの作成
101
クライアント側のアプリケーション
103
7
動作テストからサーバーの自動実行まで
クライアント・サーバーアプリケーションを作成するには
105
106
Chapter3 ネイティブコードでBeagleBone Blackを制御しよう
3-1
BoneScriptの限界とネイティブコード
BoneScriptの問題点
108
108
3-2
電波時計を合わせる「宅内標準電波システム」を作ってみよう
109
109
112
標準電波の仕組み
PWMで40kHzや60kHzの信号を発生させる方法
◆①端子を
◆②
PWMに初期化する/112
PWMを制御する/114
PWMを出力するC言語のライブラリを作成する
Contents
◆①ライブラリの仕様/
116
◆②ライブラリのソースコードを見る/
◆③
115
117
libBBBのビルドとインストール/126
電波時計を合わせるプログラムを作成しよう
電波時計を合わせる方法
127
138
コラム 測定器を利用する/142
Chapter4 グラフィック液晶をBeagleBone Blackで制御しよう
4-1
GPIOをネイティブコードで制御する
ユーザーランドにおけるGPIOの制御方法
libBBBにGPIO制御を追加しよう
GPIOのテストプログラムを実行してみよう∼動作しない端子を確認
Device Tree Overlayを利用して端子のモードを変える
◆①現在のモードを確認する/
8
158
◆②
Device Tree Overlayの作成/159
◆③
P9コネクタの17番でGPIOを使ってみる/162
144
144
147
155
156
◆④
Device Tree Overlayを取り除く/163
4-2
秋月グラフィック液晶を制御する
安価に手に入るグラフィックLCDディスプレイ
TG12864の制御方法
BeagleBone BlackのGPIOをまとめて同時に制御する
TG12864BをBeagleBone Blackに接続しよう
166
166
167
170
174
TG12864B用のDevice Tree Overlay/177
◆
LCDに表示を行うプログラム
181
TG12864Bの動作を試してみよう/189
◆
ビットマップグラフィックを表示させよう
191
PBM形式の概要/191
◆
LCDにPBM形式を表示する/191
◆
PBM形式の画像を用意しよう/194
◆
◆表示させよう/
195
コラム 起動時にDevice
Tree Overlayを有効化/無効化する/196
Chapter5 BeagleBone Blackの起動のカスタマイズ
5-1
カーネルの再構築
198
198
199
199
201
205
カーネルの再構築が必須のワケ
カーネルの再構築に必要なもの
カーネルソースを入手する
カーネルのビルドを行う
カーネルの動作テストを行う
◆シリアル端末のインストール/
205
Windowsの場合/208
◆
TFTPDのインストール
BeagleBone Blackを起動する
209
210
LANにDHCPサーバーがある場合/211
◆
LANにDHCPサーバーがない場合/213
◆
BeagleBone Blackのカーネルを入れ替える
215
9
5-2
BeagleBone Blackの起動の仕組み∼最新のu-bootとx-loaderを起動させる 218
219
x-loaderとu-bootをビルドする
最新u-boot+MLOで起動させるmicroSDカードの作成
219
microSDカードから起動する
222
5-3
u-bootでいろいろな起動を試してみよう
内蔵フラッシュメモリからの起動
USBから起動する
自動起動の仕組みとカスタマイズ
224
225
227
228
Appendix
ADCをネイティブコードで使うには/230
◆
Angstrom Linux以外のディストリビューションを使う/231
◆
Contents
P8ヘッダのピンアサイン/232
◆
P9ヘッダのピンアサイン/234
◆
索引
10
236
Chapter
1
BeagleBone Blackの
基本
1. BeagleBoardから進化したBeagleBone Black
2. BeagleBone Blackで何ができるのか
3. BeagleBone Blackを眺めてみよう
4. BeagleBone Blackを使うために必要なもの
5. BeagleBone Blackの電源を入れてみよう
∼動作するか確かめる
6. BealgeBone Blackで最初にやっておきたい
初期設定
こ の 章 で は、 BeagleBone Blackの 機 能 な ど を 概 観 す る と 同 時 に、 Beagle
Bone Blackが採用しているAngstrom Distributionの概要と、 知っておきたい
設定を取り上げます。
Angstrom DistributionはPC上 のLinuxと し て は ポ ピ ュ ラ ー で は な い の で、
Linuxをよく知っているという場合も目を通しておいてください。
1-1
BeagleBoardから進化した
BeagleBone Black
昨 今、 自 作 派 に 人 気 の 手 の ひ ら サ イ ズPC。 2012年 に 話 題 に な っ た
Raspberry piに続いて登場したのが、 より進化したBeagleBone Black
です。
Chapter 1 ── BeagleBone Blackの基本
BeagleBone Blackとは
BeagleBone
Blackは、BeagleBoardプロジェクト(http://beagleboard.org)が手がけ
ているARMベースのSoC(System-on-a-Chip)を用いた開発用のボードコンピュータで
す。詳しい仕様な後ほどまとめますが、名刺大の小型なボードにCPUコア1GHz動作の高性
能なSoCを載せているのが特徴です。
BeagleBone Black。 SSD より一回り小さい
12
Raspberry財団が手がけている開発ボードRaspberry
Piのヒットによって、ARMベースの
ジェクトです。
Chapter 1
SoCを用いた小型のボードコンピュータはポピュラーな存在になっています。しかし、一般
の人にも入手しやすい価格で、小型開発ボードの提供を最初に行ったのはBeagleBoardプロ
TIとDigi-KeyがスタートさせたBeagleBoardプロジェクト
この種の開発用のボードは、これまでSoCを手がける半導体メーカーが開発者向けに販売
しているものが主でした。一般向けではないことから、価格も高め、個人が趣味で購入するの
されているのには理由があります。半導体メーカーが販売しているボードは、充実したソフト
ウェア開発キットが付属していたり、また技術サポートが約束されているといった特徴がある
からです。
老舗のアメリカ大手半導体メーカーであるTexas
Chapter 2
は、少し難しいものでした。もちろん、従来の半導体メーカーの開発ボードの価格が高く設定
Instruments(以降、TI)はARMベース
のSoC「OMAP」シリーズを手がけていましたが、ARMベースSoCの分野では後発といって
よく、OMAPは他社製品に比べていまひとつ採用が進んでいませんでした。そこでTIは、
をスタートさせます。
BeagleBoardプロジェクトの特徴は、Webサイトやフォーラムを主体にしたオープンプロ
Chapter 3
OMAPの普及を促進するため、ワールドワイドで電子部品販売を手がけているアメリカの
Digi-key(日本語サイト:http://www.digikey.jp/)と共同でBeagleBoardプロジェクト
ジェクトの体裁をとることで、従来の開発ボードでは標準的だった手厚い技術サポートや充実
した開発キットの提供を省いている点です。その上で、販売をDigi-keyに委託することで一
般の人にも買いやすくし、従来の開発ボードに比べて生産量を増やしています。
おもにこの2つの方法によってボードのコストを抑えた「BeagleBoard」が2008年に発売
Piが、言わば価格破壊を起こしたために、現在の感覚ではやや
高価に思えるかもしれませんが、当時、この種のボードとしては破格といっていい手頃な価格
で、マニアの間ではちょっとしたブームになりました。
Chapter 4
されまし た。BeagleBoardは、当時の日本円の価格で12,000円前後(為替レートによって変
動)
。非常に安価なRaspberry
以降、BeagleBoardプロジェクトではTIが設計を行い、Digi-Keyが販売を手がけるという
役割分担で、いくつかのボードを販売しています。
Chapter 5
1-1 BeagleBoard から進化した BeagleBone Black
13
◎BeagleBoardプロジェクトが手がけるおもなボード
ボード名
搭載SoC
発売時期
BeagleBoard
OMAP3530
2008年
BeagleBoard rev.C
OMAP3530(高クロック動作)
2009年
BeagleBoard-xM
DM3730
2010年
BeagleBone
AM3359ZC272
2011年
BeagleBone Black
AM3359AZCZ100
2013年
表に示す通り、本書で取り上げるBeagleBone
Blackは、2011年に発売されたBeagleBone
の直接の後継に当たる製品です。BeagleBoneとはかなりの部分で互換性を維持しながら、性
能や機能を向上させ、なおかつBeagleBoneに比べて価格を抑えたのがBeagleBone
Blackで
Chapter 1 ── BeagleBone Blackの基本
す。
実は、BeagleBone(無印)もいちおう現行商品(といっても恐らく在庫のみと考えられま
す)として販売が継続されています。しかし、BeagleBone(無印)はBeagleBone
Blackに
比べ性能が低く、機能もやや劣る部分があります 。そのため、今さらBeagleBone(無印)
*1
を手に入れる意味は余りありません。これから購入しようという場合は、誤ってBeagleBone
(無印)の方をオーダーしないよう注意してください。
BeagleBone Blackを手に入れよう
BeagleBone
Blackはおもに通信販売で入手できますが、店舗で販売してるケースもありま
す。おもな入手先を紹介しておきます。
Digi-Key
すでに述べたように、BeagleBoardプロジェクトはTIとDigi-Keyの共同プロジェクトで、
BeagleBone BlackもDigi-Keyが販売しています。Digi-Keyはアメリカの電子部品販売大手
ですが、グローバルに販売活動を展開しています。日本向けには日本語サイトを用意し、日本
円の決済も可能です。
*1 BeagleBone
(無印)
は、
デバッグに便利な JTAG ポートをサポートしている、
使える I/O が多いというところが、BeagleBone
Black より優れている点といえます。しかし、それ以外に BeagleBone(無印)が Black を上回る点はありません。
14
◎Digi-Key
Digi-Keyにアクセスし、Digi-Key品番「BB-BBLK-000-ND」を検索してオーダーしてく
Chapter 1
http://www.digikey.jp
ださい。支払いはカードのほか、国内の銀行振込みにも対応しています。なお、価格は、為替
レートに左右される時価になっています。
Black販売ページ
Chapter 2
◎Digi-KeyのBeagleBone
Chapter 3
Chapter 4
送付はアメリカからのUPSまたはFedexを用いた国際宅配便が利用されます。数日で到着す
るはずです。
なお、あまり該当する人はいないと思いますが、法人名義で購入する場合、BeagleBone
個人名義で購入する場合には、書類は必要ありません。
1-1 BeagleBoard から進化した BeagleBone Black
Chapter 5
Blackはアメリカの安全保障上の輸出規制対象に該当するため、最終使用地などを記した書類
の提出が求められます。書類が必要な利用者にはDigi-keyの日本の代理店から必要書類と記
入方法の連絡があるので、指示に従って書類を作成し、Digi-keyに返信してください。
15
秋月電子通商
国内では、秋月電子通商が店舗や通販でBeagleBone
Blackを取り扱っています。通販コー
ドはM-06867です。価格はDigi-keyと大差ないようなので、秋月電子通商からACアダプタ
などと同時に購入すると便利かもしれません。
◎秋月電子通商
http://akizukidenshi.com/
◎秋月電子通商のBeagleBone
Black販売ページ
Chapter 1 ── BeagleBone Blackの基本
なお、Digi-keyや秋月電子通商以外にも、BeagleBone
Blackを取り扱っている店舗がい
くつかあります。在庫がある店なら確実に手に入るでしょうから、検索などでいろいろと探し
てみてください。BeagleBone
かるはずです。
16
Blackは比較的、入手しやすい開発ボードなので、簡単に見つ
Chapter
2
BeagleBone Blackで
BoneScriptを試そう
1. BeagleBone Black用 プ ロ グ ラ ミ ン グ 環 境
「BoneScript」
2. BoneScriptを利用するための準備
3. BoneScriptでオンボードのLEDの点滅させよう
4. LEDを外付けして点灯させてみよう
5. GPIOの入力を受け取る
6. PWMを試してみよう
7. Webアプリケーションへの応用
Chapter01で も 述 べ た よ う に、BeagleBone Black向 け のAngstrom
DistributionにはCloud 9 IDEがインストールされており、 BoneScriptという
JavaScriptの拡張を使って周辺インターフェースの制御が行えるようになっていま
す。 そこで、 本章ではBoneScriptを使って、 BeagleBone Blackをいろいろと
制御してみましょう。
2-1
BeagleBone Black用プログラミング環
境「 BoneScript」
BeagleBone Blackを 制 御 す る 方 法 の ひ と つ がBoneScriptで す。
BoneScriptの特徴を紹介します。
Chapter 2 ── BeagleBone BlackでBoneScriptを試そう
BeagleBone
Blackには、基板の両サイドにあるピンヘッダにGPIOやADCなど多数の拡
張I/Oが用意されています。これらを制御する方法にはいろいろありますが、そのひとつに
BoneScriptがあります。BoneScriptの特徴は、JavaScriptを用いる点です。
Node.jsとBoneScript
ご存知のように、JavaScriptは、もともとはブラウザ上で動作するWebクライアントのた
めのプログラミング言語として作られました。現在でも、Webで多用されていることは言う
までもありません。Webクライアントのみならず、サーバー上で動作するアプリケーション
までJavaScriptで記述する方法が生み出され、利用されるようになっています。Webクライ
アントとサーバーの両方で同じ言語を使ってアプリケーションが作成できることから、徐々に
人気が出てきています。
その鍵になっている技術が、Node.jsというサーバーサイドで動作するJavaScriptインター
プリタです。Node.jsは、I/O待ちを行わない高速なJavaScriptインタープリタとして設計さ
れており、サーバー上で高速に動作するアプリケーションが記述できることが特徴とされます。
BoneScriptは、Node.jsのプラグインで、BeagleBone
Black上で動作するNode.jsの上
Blackを制御するアプリケーションを動かすことができる環境と考えればいい
でしょう。Angstrom Distributionには、Node.js+BoneScript実行環境があらかじめプリ
でBeagleBone
インストールされているため、すぐに使いはじめることができます。
54
Node.jsの開発環境Cloud9 IDE
BlackのAngstrom Distributionに は、Cloud9 IDE(https://
c9.io/)というJavaScriptで記述された統合開発環境(IDE)がインストールされています。
Cloud9 IDEは、おもにNode.jsの開発環境としてオープンソースで開発が進められている
IDEで、ブラウザ上でNode.jsのアプリケーションを作成し、デバッグすることができます。
◎Cloud9
Chapter 1
さ ら に、BeagleBone
IDE
Chapter 2
Chapter 3
Blackにブラウザでアクセスし、Cloud9 IDEでプロ
グラムを作成し、最終的なアプリケーションを完成させ、BeagleBone Blackに設置するとい
う工程が極めて簡単にできるようになっています。
Chapter 4
したがって、ユーザーはBeagleBone
Chapter 5
2-1 BeagleBone Black 用プログラミング環境「 BoneScript」
55
2-2
BoneScriptを利用するための準備
BoneScriptを利用するには、 他のPCからBeagleBone Blackに接続す
る必要があります。
Chapter 2 ── BeagleBone BlackでBoneScriptを試そう
56
Cloud9
IDEを使ってBoneScriptを利用するには、他のPCからブラウザでBeagleBone
Black上からスタンドアロンで利用
Blackに接続しなければなりません。なお、BeagleBone
することもできますが、とても重いのでお奨めしません(後述)。
LAN接続を使う方法
41ページで紹介したように、Angstrom
Distributionを固定IPアドレスでLANに接続す
れば、そのIPアドレスをブラウザで開くだけでBeagleBone Black上のWebページを開けま
す。
◎BeagleBone
Black上のWebページ
このWebページは、Node.js上で動作する簡易なWebサーバープラグインを使って表示さ
れており、BoneScriptのサンプルプログラムをこの場で実行し、動作を確認するといったこ
また、Cloud9
IDEも開くことができますが、それについてはあとで触れることにします。
Chapter 1
とができるように作成されています。
USB接続で使う方法
BeagleBone
Chapter 3
されます。
Chapter 2
Black上 のUSBク ラ イ ア ン ト(USB Mini-Bコ ネ ク タ ) は、Angstrom
DistributionではデフォルトでUSB-Netドライバ(USB接続でネットワーク接続を行うドラ
イバ)が設定されています。したがって、ホスト機がLinuxなら特別なドライバなしに、
Windows機でもドライバをインストールすればUSB接続だけ(LANケーブルの接続なし)
でホスト機からBeagleBone Blackに接続できます。
この方法を使うと、BeagleBone BlackはUSBポートからの給電を受けることが可能です。
ただし、BoneScriptを使う場合でも必ずACアダプタを接続してください。USB給電だけで
は電流容量が不足するため、BoneScriptの動作に制限が生じるからです。また、ACアダプ
タのない状態ではP9ヘッダのSYS_5Vピンに電源が供給されない制限もあります。
以降、USB接続時のホスト機の設定を説明していきます。Windows、Linuxの双方の設定
を紹介しますが、いずれの場合でもBeagleBone BlackのUSB Mini-Bコネクタを本体付属の
ケーブルでPCのUSBポートに接続します。しばらくすると、USBストレージがPC上で認識
Chapter 4
Chapter 5
BeagleBone Black を PC と USB 接続
57
Windowsの場合
BeagleBone
BlackをUSB接 続 し たPCがWindowsの 場 合、「BeagleBone Getting
Started」 と い うUSBド ラ イ ブ が 認 識 さ れ ま す。 な お、 ド ラ イ ブ の 名 前 は、Angstrom
Distributionのバージョンや時期によって異なるかもしれません。
◎BeagleBone
Getting StartedというUSB接続ドライブが認識される
Chapter 2 ── BeagleBone BlackでBoneScriptを試そう
ドライブを開き、さらにDriversフォルダの下にあるWindowsフォルダを開いてください。
◎Windowsフォルダの中を表示
BONE_D64.exeが64ビ ッ ト 版Windows用 ド ラ イ バ、BONE_DRV.exeが32ビ ッ ト 版
Windows用のドライバです。該当する実行ファイルを実行し、ウィザードを進めてドライバ
をインストールします。
58
インストールが終わったら、いったんBeagleBone
Linuxの場合
Blackを接続したPC上でLinuxを利用しており、Gnomeのオートマウンタ
BlackがUSBスト
レ ー ジ と し て マ ウ ン ト さ れ ま す。/media/BEAGLEBONE/Drivers/Linux/FTDI/
mkudevrule.shというシェルスクリプトをroot権限で実行してください。
Chapter 1
BlackをPCのUSBハブから抜いてくだ
さい。そして接続し直し、少し待ってからブラウザでhttp://192.168.7.2を開いてみます。
56ページに示したWebページが開けば接続は成功です。
BeagleBone
が機能していれば、接続後に/media/BEAGLEBONE/以下にBeagleBone
これでudevに必要なエントリが追加され、BeagleBone
Chapter 3
Black接続時にUSB-Netドライバ
が192.168.7.1にセットされるようになります。いったんBeagleBone BlackをUSBハブから
取り外し、付け直しましょう。しばらく待ってからブラウザでhttp://192.168.7.2を開くと
56ページに示したWebページが見えるはずです。
Chapter 2
$ sudo /media/BEAGLEBONE/Drivers/Linux/FTDI/mkudevrule.sh Enter
スタンドアロンの場合
BeagleBone
Blackにマウスとキーボード、ディスプレイを接続し、電源を入れて起動しま
す。ブラウザ(Google Chromeがインストールされています)でhttp://localhostに接続す
ブラウザはGoogle
Chromeを推奨
以 上 で 準 備 は 完 了 で す が、 利 用 す る ブ ラ ウ ザ に 注 意 し て く だ さ い。Cloud9
2-2 BoneScript を利用するための準備
Chapter 5
IDEや
BoneScriptの実行にはクライアントサイドのJavaScriptエンジンも利用するため、ブラウザ
の互換性の問題が生じます。公式には、FirefoxまたはGoogle Chromeに対応するとされて
い ま す が、 筆 者 が 試 し た 限 り で はFirefoxで は 問 題 が 生 じ る こ と が あ る た め、Google
Chromeを使用するのが安全です。
PC側 にGoogle Chromeを イ ン ス ト ー ル し て い な い 場 合 は、Googleの 公 式 ペ ー ジ
(http://www.google.co.jp/intl/ja/chrome/)に他のブラウザでアクセスし「無料のダウ
ン ロ ー ド 」 を ク リ ッ ク し て イ ン ス ト ー ル し て お い て く だ さ い。Google Chromeは
Windows、Linux、MacOSなどに対応しています。
Chapter 4
ると、同じように開発することができます。ただし、極めて動作が遅いのでお奨めできません。
59
Chapter
3
ネイティブコードでBeagleBone
Blackを制御しよう
1. BoneScriptの限界とネイティブコード
2. 電波時計を合わせる「 宅内標準電波システム」 を作
ってみよう
Chapter2では、 BeagleBone Blackの大きな特徴であるNode.js上で動作する
BoneScriptを取り上げました。 ブラウザで動作するCloud9 IDEでJavaScriptと
いうポピュラーな言語が使えることや、 Web技術を用いたクライアント・サーバー
アプリケーションを容易に作成できるといった特徴がある反面、 できることに限界
があるのも確かなことです。
そこで、 本稿ではBeagleBone Blackの入出力をネイティブコードで制御する例を
紹介していきます。
3-1
BoneScriptの限界と
ネイティブコード
まずは、 BoneScriptの問題点をまとめておきましょう。
Chapter 3 ── ネイティブコードでBeagleBone Blackを制御しよう
BoneScriptの問題点
BoneScriptは、手軽かつ最新のWeb技術を用いた面白さがありますが、限界もあります。
実際に使っていく上で問題になるのは、次のような点でしょう。
動作が重い
Node.jsは非常に高速なJavaScriptエンジンですが、ネイティブコードに比べれば低速度で
す。メモリ消費量もメインメモリが512MBしかないBeagleBone
Blackにとっては大きく、
複雑な処理を記述しようとすると限界に突き当たります。
実行時間が読みにくい
JavaScriptはインタープリタ言語です。逐次実行型のインタープリタ言語は実行時間が読
み に く い と い う こ と が あ り ま す。 少 し 厳 密 に い う と、Node.jsはJIT(Just
In Time
compiler)を使って実行時に動的にネイティブコードに変換するV8エンジンを元にしている
ため、典型的なインタープリタではありませんが、JITであっても実行時間が読みにくい点は
変わりません。
きめ細かい時間制御ができない
2つ目の動作の重さにも関連しますが、GPIOなどをマイクロ秒、あるいはナノ秒オーダー
で制御したい場合があります。JavaScriptではマイクロ秒、ナノ秒といった時間の制御は難
しいという不自由さもあります。
以上のような難しい点もあるので、ネイティブコードによる入出力の制御を知っておくと、
より活用の幅が広がるわけです。いくつかの例を、以降で見ていくことにします。
108
電波時計を合わせる「宅内標準電波シス
テム」 を作ってみよう
Chapter 1
3-2
ここでは、 ネイティブコードで制御する例として、 電波時計を合わせるた
Chapter 2
めのシステムを作成します。
多くの家庭で利用されている電波時計は、日本に2箇所ある送信所から送られている標準電
波を使って時刻を自動で合わせてくれるため、時刻が狂うことがないという便利さがありま
す。ただ、使用しているのが電波ということもあり、地下や鉄筋コンクリート建ての奥まった
部屋では受信状態があまり良くなく、標準電波による時刻合わせができないこともあります。
れた現在時刻で変調されています。タイムコードは比較的シンプルなので、BeagleBone
Blackで作成することができ、簡単な外付け回路を使って電波……といっても電波法の制限内
Chapter 3
市販の電波時計が受信している標準電波は「タイムコード」と呼ばれる方式で、コード化さ
に収めるため、ごく近距離にしか届きませんが……を出すことができ、標準電波が届かないと
ころでも電波時計の時刻を合わせることができます。
標準電波の仕組み
合わせています。送信所は福島県大鷹鳥谷山(東日本)と佐賀県羽金山(西日本)にあります。
余談ですが、福島県大鷹鳥谷山の標準周波数局は、東日本大震災で事故を起こした福島第一
Chapter 4
電波時計は、日本に二箇所ある「標準周波数局」と呼ばれる送信所の電波を受信して時刻を
原発の避難区域内だったことから、震災直後から数ヶ月にわたって標準電波の送信が停止し、
東日本では電波時計の時刻合わせができない状態になりました。復旧後はメンテナンスなどに
よる一時停止をのぞいて、ほぼ正常に標準電波の送信が行われているようです。
すから、電波時計の電波は長波に分類できる電波です。長波は波長が非常に長いため、建物や
地形に邪魔されることが少なく、到達距離が長いという特徴があります。
Chapter 5
電波の周波数は東日本が40kHz、西日本が60kHzになっています。電波のことを少しご存
知なら、この周波数が極めて低いということに気付くでしょう。中波ラジオが500kHz台∼で
そんな電波に時刻の情報を載せているわけですが、時刻のデータは40kHzまたは60kHzを
オン、オフすることによるデジタルデータになっています。図1を見てください。
3-2 電波時計を合わせる「 宅内標準電波システム」 を作ってみよう
109
◎タイムコード(図1)
0秒
10 秒
M 40 20 10
②
①
30 秒
3
4
Chapter 3 ── ネイティブコードでBeagleBone Blackを制御しよう
⑯
2
0
8
4
2
1
④
③
分
P1 0
⑤
20 秒
0 20 10
⑥
⑦
0
⑧
40 秒
1 200 100 PA1 PA2 SU1 P4 SU2 80 40 20 10
⑰
⑱ ⑲ ⑳
パリティ
8
時
8
4
2
⑨
30 秒
1 P2 0
⑩
0 200 100
⑪
⑫
50 秒
4
年
(西暦下 2 桁)
2
1 P5
4
2
0 30 40 20 10 P3
⑬
⑭
1 月 1日からの通算日
1 LS1 LS2 0
曜日
0
0
0秒
0 P0
うるう秒
予備セット
図1が標準周波数局が送信しているタイムコードのフォーマットです。四角い箱が電波がオ
ン、箱がない部分がオフ(または出力10%以下の送信)で、1秒に60個の情報を1分かけて送
っています。少しわかりにくいかもしませんので、先頭から内容を記しておきます。
◎タイムコードの種類
種類
電波の幅+空白時間
マーカー
200ms+800ms
0
800ms+200ms
1
500ms+500ms
◎先頭から60ビット分のデータの意味
数字
110
⑮
意味
数字
意味
①
マーカー(1ビット)
⑥
0×2(2ビット)
②
分の10の位(3ビット)
⑦
時の10の位(2ビット)
③
0(1ビット)
⑧
0(1ビット)
④
分の1の位(4ビット)
⑨
時の1の位(4ビット)
⑤
ポジションマーカー(1ビット)
⑩
ポジションマーカー(1ビット)
Chapter
4
グラフィック液晶をBeagleBone
Blackで制御しよう
1. GPIOをネイティブコードで制御する
2. 秋月グラフィック液晶を制御する
前章では、 PWMをネイティブコードで制御する例を紹介しました。 本章では、
GPIOをネイティブコードで制御してみましょう。
4-1
GPIOをネイティブコードで制御する
まず、 BeagleBone BlackのGPIOをカーネルドライバを通じて制御して
みます。 Linuxカーネルで標準化されているGPIOドライバをサポートして
いるため、簡単に制御できます。
Chapter 4 ── グラフィック液晶をBeagleBone Blackで制御しよう
PWMは、カーネルドライバが整備されているため、/sys以下の特殊ファイルを通じて制御
することができます。それで十分に利用できる程度の制御速度は得られます。
GPIOの場合も、/sys以下のファイルで簡単に制御できるようにはなっていますが、いくつ
かの問題があります。
ひとつは速度的な問題で、GPIOでは/sys以下のファイルをオープンし値を書き込みクロー
ズするというオーバーヘッドが無視できない場合があります。モーター制御等で利用される
PWMでは、そこまでシビアな制御が求められるのはレアケース(前節の電波時計もレアケー
スかもしれません)ですが、GPIOは接続する外部機器の仕様に合わせて、シビアに制御しな
ければならない可能性があります。
また、複数のGPIOを制御しづらいということも挙げておくべきかもしれません。あとで説
明しますが、GPIOの制御は個々のGPIOに対して特殊ファイルが用意されるため、同時に複
数のGPIOのオン・オフを変えるということはできません。
そのため本稿では、まず特殊ファイルを通じてGPIOを制御する方法を紹介し、さらに秋月
電子通商のLCDを例に低レベルなプログラムでGPIOを制御する方法を取り上げます。その
ためには、前節で軽く触れたDevice
Tree(Cape Manager)を利用する必要も出てきます。
ユーザーランドにおけるGPIOの制御方法
まずは、ごく簡単にGPIOを制御できるLinuxカーネルの機能を見ていくことにします。
BeagleBone
Blackのカーネルでは、GPIOナンバーを使ってGPIOを制御しています。そ
のためGPIOナンバーを得る方法をまず知っておく必要があります。
すでにChapter2で説明していますが、BeagleBone
Blackが採用しているSoCは、内部に
4つのGPIOコントローラを持っています。1つのコントローラでGPIO×32本の出力を持
ち、4つのコントローラで合計128本のGPIOを持つことができる仕様です。つまりGPIOは4
144
つのチャンネルがあり、1チャンネルあたり32本ということです。
公 式 サ イ ト か ら ダ ウ ン ロ ー ド で き るBeagleBone
Black System Reference Manual
す。ほぼ同等の表を本書のAppendixにも載せているので参照してください。
た と え ば、P9コ ネ ク タ の11番 のMODE7の 欄 にgpio0[30]と 記 さ れ て い ま す。 こ れ は
# ls -F /sys/class/gpio/ Enter
export gpiochip0@ gpiochip32@
gpiochip64@
gpiochip96@
Chapter 2
GPIOチャンネル0の30ビット目という意味です。
カーネル内部で使うGPIOナンバーはGPIOチャンネル0からチャンネル3までの通し番号で
す。つまり、GPIOチャンネル0の30ビット目のGPIOナンバーは30になります。仮にGPIO
チャンネル1の10ビット目であれば、GPIOナンバーはチャンネル番号×32+ビット数なの
で、42になるわけです。
以降は、P9コネクタの11番(つまりGPIOナンバー30)を例に話を進めていきます。
BeagleBone Blackにログインし、端末を開いて/sys/class/gpioの下を見てください。
Chapter 1
(Rev.5.6)のP.80とP.82には、P8コネクタとP9コネクタのピンアサインが掲載されていま
unexport
gpiochip0、gpiochip32、gpiochip64、gpiochip96と い う4つ の シ ン ボ リ ッ ク リ ン ク
は、ぞれぞれGPIOチャンネル0∼3に対応するシンボリックリンクですが、通常はこれらを
操作する必要はありません。必要なのは、exportとunexportだけです。
まず、exportに利用したいGPIOナンバーを書き込みます。
Chapter 3
4つのシンボリックリンクとexport、unexportという2つの特殊ファイルがあります。
Chapter 4
# echo 30 >/sys/class/gpio/export Enter
するとGPIO_30が文字通りエクスポートされ、/sys/class/gpio/gpio30/というディレク
トリが作成されます。
subsystem@
uevent
value
Chapter 5
# ls -F /sys/class/gpio/gpio30/ Enter
active_low direction edge power/
145
いくつかのファイルがあります。それぞれの機能は、次のとおりです。
active_low
入力使用時の割り込みに関する設定で、ローをアクティブにするのなら1を書き込みます。
edge
これも入力使用時の割り込みの設定で、rising(LowからHighへ)
、falling(Highから
Lowへ)、both(両方)、none(なし)という4種類の文字列を書き込んで設定します。
direction
入出力の設定です。GPIOを入力で使うならinを、出力で使うならoutを書き込みます。
Chapter 4 ── グラフィック液晶をBeagleBone Blackで制御しよう
value
現在のGPIOの値です。出力モードなら、このvalueに書き込んだ値が出力されます。
したがって、P9コネクタの11番を出力として用いるには、次のようにコマンドを実行すれ
ばいいわけです。
# echo "out" >/sys/class/gpio/gpio30/direction Enter ← P9-11を出力に設定
← P9-11に 1(High)を出力
# echo 1 > /sys/class/gpio/gpio30/value Enter
73ページで取り上げたLEDの点灯回路をP9コネクタの11番に接続し、valueに1や0を書き
込んでLEDが点灯、消灯することを確認してください。
GPIOからの入力も簡単です。次のようにコマンドを実行すれば値としてGPIOの状態を取
り出せます。
# echo "in" >/sys/class/gpio/gpio30/direction Enter
# cat /sys/class/gpio/gpio30/value Enter
← P9-11を入力に設定
← P9-11 の値を読み出す
82ページで取り上げたスイッチ回路を、P9コネクタの11番に接続してvalueを読み出して
みてください。スイッチの状態に応じて、valueの値が0、1と変わることが確認できるはずで
す。
GPIOを使用し終わり、特殊ディレクトリとそれ以下のファイルが不要になったら、
exportを解除できます。
146
5-1
カーネルの再構築
BaegleBone BlackでLinuxを活用する際、 キモになるのがカーネルの再
構築です。
Chapter 5 ── BeagleBone Blackの起動のカスタマイズ
カーネルの再構築が必須のワケ
Chapter1で説明しているように、BeagleBone
Blackはオンボードのフラッシュメモリ
(2GB)に加えて、MicroSDカードからの起動もサポートしています。ブートローダーも公
開されており、Linuxとして利用するのにも便利なボードです。
BaegleBone
BlackでLinuxを活用していく上で必要に迫られることがあるのは、カーネル
の再構築でしょう。新たなカーネルドライバを必要とするような際に、カーネルの再構築が必
要になるからです。
PC上のUbuntuやDebian、Fedoraなどでは、バイナリのカーネルとともに、ドライバモ
ジュールを作成するためのビルドツリー、ヘッダファイルなどがリポジトリ経由で提供されて
います。しかし、ARM系では、その点があまり整備されていないのが現状です。
というのは、x86プロセッサは90%以上がPCアーキテクチャのプラットフォームで、アー
キテクチャにバリエーションがありません。一方、ARM系のCPUコアは数多くのメーカーが
独自にSoCを設計、製造している関係でCPUとしての互換性はあっても、プラットフォーム
としては千差万別です。そのため、プラットフォーム固有のバイナリをディストリビューショ
ンとして提供することが難しい状況にあります。
実際、ARM系固有のカーネルのソースコードは、千差万別のプラットフォームがある関係
で膨れ上がっていて、Linuxカーネル開発の指揮を取っているLinus
Torvalds氏はその混乱
ぶりに苦言を呈したことがあるほどです。
Treeの仕組みは、現在おもにARMのプラットフォーム
で利用されており、ハードウェアの情報をLinuxカーネルに通知するために作られた仕組みで
す。もともとはOpen Firmwareプロジェクトが提案した仕組みですが、Linus氏の苦言を受
けて、ARMのプラットフォーム固有部を整理するために、このDevice Treeの取り入みを急
ちなみに、前章で紹介したDevice
いだという背景も(どうやら)あるようです。
198
いずれにしても、あとから必要なドライバをビルドする際には、カーネルのビルドツリーが
必要です。そのような環境を構築するために、カーネルの再構築の方法を説明していくことに
Chapter 1
します。
カーネルの再構築に必要なもの
カ ー ネ ル の 再 構 築 に あ た り、 ま ずLinuxが 動 作 し て い るPCを 用 意 し て く だ さ い。
BeagleBone Black上でカーネルの構築は不可能ではないのですが、容量の関係でMicroSD
カード上で行わなければならないため、おそらく構築に丸一日はかかってしまうでしょう。
ツールを手に入れてください。
Chapter 2
PCならば10分か20分程度で終わるので、ずっと楽です。
PC上のLinuxはUbuntu 13.04を前提にしますが、Debian wheezyでもほぼ同じように
作業が可能です。Fedoraなど他のディストリビューションをお使いの場合は、自力で必要な
もうひとつ、動作チェックのためにUSB-シリアル変換ケーブル(25ページ参照)を利用し
ます。これも用意しておいたほうがいいでしょう。
BeagleBone
Blackのカーネルソースなど一式は、githubで公開されています(https://
github.com/beagleboard/kernel)。したがって、入手にはPC上のLinuxでgitを使って手
に入れます。以降の作業は、すべてPC上で行うので注意してください。
まず、次のようにgitをインストールします。
Chapter 4
$ sudo apt-get update Enter
$ apt-get install -y git-core Enter
Chapter 3
カーネルソースを入手する
gitを利用する前に、ユーザー名とメールアドレスを設定しておきます。これを設定してお
かないとBeagleBone
Black用のパッチの一部があてられないので注意してください。
Chapter 5
$ git config --global user.name "Satoshi Yoneda" Enter
$ git config --global user.email "[email protected]" Enter
5-1 カーネルの再構築
199
ホームディレクトリの下にBBBというディレクトリを作り、その下で作業を行うことにし
ます。
$ mkdir ~/BBB Enter
$ cd ~/BBB
カーネルのソースをgithubから手に入れます。
$ git clone https://github.com/beagleboard/kernel.git Enter
Chapter 5 ── BeagleBone Blackの起動のカスタマイズ
リポジトリからダウンロードが行われます。次のようにして、最新のカーネルバージョン
3.8に切り替え、patch.shを実行してください。
$ cd kernel Enter
$ git checkout 3.8 Enter
$ ./patch.sh Enter
シェルスクリプトに従って、バニラカーネルのソースのダウンロード、パッチのダウンロー
ド、パッチの実行の順でカーネルソースが作成されます。
パッチの実行が終了したら、その中に含まれていないファームウェアを入手します。ファー
ムウェアは、下記のサイト(arago-project.org)で公開されています。
http://arago-project.org/git/projects/?p=am33x-cm3.git
200
索引
■記号
BoneScript …………………………… 18,54
bootmコマンド …………………………… 212
/etc/default/locale……………………… 50
/etc/default/ntpdate …………………… 48
/etc/opkg/locales-ja.conf …………… 49
■C
Cape Manager ………………………… 112
■A
catコマンド ……………………………… 66
INDEX
Cloud9 IDE …………………………… 18,55
ACアダプタ端子 ……………………………21
Connection Manager ……………… 37,39
ADC ……………………………………… 92
connman ………………………………… 39
AM3359AZCZ100 ……………………… 20
Angstrom Distribution ………………31,36
Arduino …………………………………… 99
ARM Cortex-A8 ……………………………17
■D
dateコマンド …………………………………47
Device Tree ……………………………… 144
■B
Device Tree Overlay …………………… 156
BCD ……………………………………… 111
dropbear ………………………………… 44
dhcpコマンド …………………………… 212
BeagleBoard-xM …………………………14
BeagleBoard rev.C ………………………14
BeagleBoard ………………………………13
236
■E/F/G
BeagleBoardプロジェクト …………………12
eMMC …………………………………… 20
BeagleBone …………………………………14
fatloadコマンド…………………………… 226
BONE_D64.exe ………………………… 58
git ………………………………………… 199
BONE_DRV.exe ………………………… 58
Google Chrome ………………………… 59
PWM ……………………………………… 87
GPIOナンバー …………………………… 144
P型半導体 ………………………………… 68
■H/I/J
■R/S
HDMIトランスミッタ……………………… 20
rootパスワード …………………………… 38
ImageMagick …………………………… 194
RTC ……………………………………… 38
initデーモン ……………………………… 43
saveenvコマンド ………………………… 228
JavaScript ……………………………… 54
Sazanami Gothic ……………………… 50
INDEX
GPIO ………………………………… 60,80
Sazanami Mincho ……………………… 50
SoC …………………………………………12
■L/M/N
SSHサーバー……………………………… 43
LCDディスプレイ ………………………… 166
systemd ………………………………… 43
systemctlコマンド ……………………… 44
MicroSDカードスロット ………………… 22
minicom ………………………………… 205
Node.js ………………………………… 18,54
ntpd ……………………………………… 140
■T
NTPサーバー ……………………………… 38
TeraTerm Pro …………………………… 208
N型半導体 ………………………………… 68
TFTPD …………………………………… 209
tftpコマンド ……………………………… 214
trigger …………………………………… 66
■O/P
opkg …………………………………… 37,39
P-N接合 …………………………………… 68
237
■U
■か行
u-boot …………………………………… 211
カーネル …………………………………… 198
Ubuntu …………………………………… 199
カソード …………………………………… 67
USB-Netドライバ ………………………… 57
キーボード設定 …………………………… 52
USB2.0ホストポート ………………………21
強制時刻合わせ…………………………… 140
USBクライアントポート ………………… 22
強制受信 ………………………………… 140
USER LED ……………………………… 60
クランプダイオード ……………………… 95
INDEX
固定IPアドレス ………………………………41
■W/X
WebSocket ……………………………… 100
■さ行
x-loader…………………………………… 218
システム時計 ……………………………… 38
X Window System ……………………… 36
正孔………………………………………… 68
積分回路…………………………………… 82
センターコレクタ ………………………… 76
■あ行
測定器……………………………………… 142
アナログ出力 ……………………………… 93
アナログ入力 ……………………………… 92
アノード …………………………………… 67
■た行
うるう秒 …………………………………… 111
タイムコード ……………………………… 109
オームの法則 …………………………………81
タイムゾーン …………………………………47
オシロスコープ …………………………… 142
チャタリング …………………………………81
デジタル―アナログ変換 ………………… 88
テスター …………………………………… 142
238
デューティー比 …………………………… 88
電波時計…………………………………… 109
■ま行
マーカー …………………………………… 111
トランジスタ ……………………………… 70
マイクロHDMI端子 ……………………… 22
■な行
■ら行
日本語フォント …………………………… 50
ローパスフィルタ ………………………… 82
ネームサーバー …………………………… 37
INDEX
統合開発環境 …………………………… 55
■わ行
■は行
割り込みイベント ………………………… 86
バイポーラトランジスタ ……………………71
標準周波数局 …………………………… 109
ブートROM ……………………………… 218
ブレッドボード ………………………………74
239
BeagleBone Black で遊ぼう!
2013 年 11 月 30 日 初版第 1 刷発行
著
者
米田 聡
装
丁
TEAM(矢部竜二)
編
集
ゲイザー
D T P
株式会社アクティブ
発行者
黒田庸夫
発行所
株式会社ラトルズ
〒 102-0083 東京都千代田区麹町 1-8-14 麹町 YK ビル 3 階
TEL 03-3511-2785 FAX 03-3511-2786
http://www.rutles.net
印刷・製本
株式会社ルナテック
ISBN978-4-89977-393-1 Copyright © 2013 Satoshi Yoneda
【お断り】
◦本書の一部または全部を無断で複写複製することは、法律で認められた場合を除き、著作権の侵害と
なります。
◦本書に関してご不明な点は、当社 Web サイトの「ご質問・ご意見」ページ
(http://www.rutles/contact/index.php)をご利用ください。
電話、ファックス、電子メールでのお問い合わせには応じておりません。
◦当社への一般的なお問い合わせは、[email protected] または上記の電話、ファックス番号までお願いい
たします。
◦本書内容については、間違いがないよう最善の努力を払って検証していますが、著者および発行者は、
本書の利用によって生じたいかなる障害に対してもその責を負いませんので、あらかじめご了承くだ
さい。
◦乱丁、落丁の本が万一ありましたら、小社営業宛てにお送りください。送料小社負担にてお取り替え
します。
Fly UP