Raspberry Pi[実用]入門
Raspberry Pi〔実用〕入門 ~手のひらサイズのARM/Linuxコンピュータを満喫! (Software Design plus)
技術評論社
著者:Japan Raspberry Pi Users Group
本書に寄せて
はじめに
本書の構成
Part1 Raspberry Piをはじめよう!
Chapter 1 Raspberry Piとは?
1-1 はじめに
1-2 Raspberry Piのコンセプト/ゴール
1-3 Raspberry Piのスペック
1-4 Raspberry Piの特徴
COLUMN Raspberry Pi財団と創設者のEben Upton
1-5 Raspberry Piの歴史
2006年:ケンブリッジ大学にて
2008年:Broadcomにて。そして財団設立へ
2011年:ローンチ、そしてライセンス生産へ
2012年:ソニー UKへ、そして日本への想い
1-6 Raspberry Piの今後の展開
COLUMN EbenとLizとの出会い
1-7 まとめ
Chapter 2 Raspberry Piの購入方法
2-1 はじめに
当初は購入がとても難しかった
発売されているモデルと価格
おすすめの購入先
Raspberry Piと一緒に用意しておきたいもの
2-2 実際にRaspberry Piを購入しよう
購入する機種を選択してカートに入れよう
カート画面で数量と在庫を確認しよう
配送先や決済方法を指定して注文を確定させよう
2-3 まとめ
Part2 基本編
Chapter 3 OSと周辺機器の準備
3-1 はじめに
3-2 Raspberry Piで動くOS
Raspbian“wheezy”
Soft-float Debian“wheezy”
Pidora
Arch Linux ARM
RISC OS
Raspbmc
その他
3-3 OSイメージをSDカードに書き込む
Windows(Win32 Disk Imager)の場合
Windows(DDforWindows)の場合
Mac OS Xの場合
Linuxの場合
COLUMN NOOBS で簡単OS インストール
3-4 Raspberry Piに必要な周辺機器
電源ケーブル/ SDカード/画面出力ケーブル
キーボードとマウス/セルフパワータイプのUSBハブ
LANケーブル/ USB無線LAN子機/周辺機器の接続
3-5 まとめ
Chapter 4 システム設定とソフトウェア管理
4-1 はじめに―使いやすい環境を作る
4-2 基本設定(raspi-configの利用)
実行をお勧めする項目
COLUMN Linux コマンドによるRaspbian の管理
必要に応じて実行する項目
COLUMN 2013-05-25 版以降のraspi-config ツール
4-3 ネットワーク設定
有線LAN / 無線LANの設定
COLUMN SSID ステルスの設定がされたアクセスポイントへの接続
参照するDNSサーバの設定
ホスト名の変更
4-4 各種ソフトウェアの導入
APT(Advanced Packaging Tool)
よく使うパッケージ関連コマンド
COLUMN Bluetooth 関連パッケージの利用
4-5 日本語環境の利用
日本語関連パッケージのインストール
日本語環境の利用方法
4-6 まとめ
Chapter 5 さまざまなハードウェアをつないでみる
5-1 はじめに―GPIOとは
GPIOを使ってできること
5-2 GPIOの基本的な使い方
GPIOピンヘッダを見てみよう
COLUMN GPIO 操作に使用できるプログラミング言語
GPIOを取り扱う際の注意点
5-3 USBシリアル変換アダプタを接続しよう
実際に接続をしよう
5-4 LED(発光ダイオード)点滅をしてみよう
ブレッドボードを使ってみよう
使用するパーツ
配線図を作って配線しよう
実際にLEDを点灯しよう
RPi.GPIOモジュールを使ってみよう
5-5 Webブラウザ上からGPIO操作をしよう
5-6 まとめ
Part3 ソフトウェア応用編
Chapter 6 超実用的Webサーバ構築(前編)
6-1 はじめに
COLUMN CMS とWordPress について
6-2 インストールと設定
GPUのメモリ割り当ての削減
ネットワークの設定/パッケージ導入
COLUMN APTと圧縮パッケージとどちらでインストールすべきか
COLUMN MySQL のroot パスワードを保管する
6-3 実用サーバのためのチューニング
Apache / PHP5のチューニング
メールサーバについて
phpMyAdminの保護
データベースの調整
6-4 設定ファイル記述
DebianパッケージのWordPressファイル構成
Apacheの設定
wp-config.phpへの記述
6-5 WordPressのインストール
管理パネルの設定とテーマ/プラグインのインストール
6-6 まとめ
Chapter 7 超実用的Webサーバ構築(後編)
7-1 複数台でのサイト構築
もう1台のRaspberry Piの設定
COLUMN MySQLコマンドラインでWordPress用データベースを作る
データベースの移動
リストアしたデータベースの権限調整
phpMyAdminの設定変更
7-2 まとめ
Chapter 8 クロス開発環境構築
8-1 はじめに―クロス開発とは?
クロス開発に必要なもの
8-2 支援用PC上のOS環境のセットアップ
8-3 crosstool-NG環境のセットアップ
クロス開発ツールのビルド
できた開発ツールの動作確認
8-4 カーネルをコンパイルしよう
実機向けのファイルを作る
8-5 まとめ
Chapter 9 Java環境構築
9-1 はじめに―Javaを動かしてみよう
なぜJavaなのか
9-2 Javaを使ってみよう
Javaの環境を整える
COLUMN hard-float ABI とsoft-float ABI について
9-3 Javaでサーバアプリを動かしてみよう
サーバアプリを動かしてみる
COLUMN サーバ利用でのシリアル接続について
9-4 Javaクライアントアプリを動かしてみよう
JavaFXを使ってみよう
9-5 Java on Raspberry Piの将来
9-6 まとめ
Part4 ハードウェア応用編
Chapter 10 喋る温度計製作
10-1 はじめに
I²Cとは
10-2 温度計を作ってみよう(ハードウェア編)
配線にあたっての注意点
配線図と実際の配線
10-3 温度計を作ってみよう(ソフトフェア編)
I²C通信ができるようにしよう
COLUMN Rasberry Pi のリビジョンとI²Cバス
TMP102と通信できていることを確認しよう
Pythonでプログラミング
COLUMN WebIOPi とTMP102 の連携
10-4 喋る温度計にしよう
Open JTalkで音声合成
喋る温度計にしてみよう
10-5 まとめ
Chapter 11 キャラクタLCDを使ってみよう
11-1 はじめに―キャラクタLCDを使ってみよう
11-2 デバイス選びの注意点
11-3 まずは下準備
11-4 LCDデバイスとRaspberry Piの接続
Raspberry Pi側の準備
11-5 ホスト名とIPアドレスを液晶に表示する
11-6 温度計で測った温度を表示する
ソフトウェアの開発
11-7 ブレッドボードは最終型?
ユニバーサルボードを使ってケースに組み込んでみよう
11-8 おわりに
Chapter 12 農作業用ロボット製作(前編)
12-1 はじめに
12-2 なぜRaspberry Piで農作業用ロボットを作ろうとしたか
12-3 ロボット開発の方針と開発原価予算
12-4 システム全体のハードウェア構成
12-5 ソフトウェア構造
12-6 ロボット運用サーバ(システム)
12-7 Raspberry Piの設定
12-8 自律移動型4足歩行ロボット
自律移動型4足歩行ロボットの概要
デバイス構成図(開発用)
12-9 プロトタイピング・ロボット開発
12-10 まとめ
Chapter 13 農作業用ロボット製作(後編)
13-1 はじめに―ロボットを作ろう
13-2 ロボットの概要と完成写真
13-3 ロボットの構成
製作の手順と参照情報
13-4 ソフトウェア構成
ソフトウェア実装・検証の進め方、使用言語
13-5 利用する教材,材料,道具
13-6 ロボットEye製作―OpenCVとWebcamを使った画像解析
ロボットEye / OpenCVとは
Webcamの接続と確認
ロボットEyeプログラムの一覧
ロボットEyeにおけるOpenCVの使用方法
ロボットEyeの色認識方法/ノイズ処理と設定
ロボットEyeの設定ファイル
ロボットEye制御用の画面
ロボットEyeの実行と確認方法/プログラム
13-7 ロボットの移動機能を作る
自律移動機能
ビュートローバー ARMの組み立て
自律移動ロボットの組み立て
13-8 ファームウェアのインストール
13-9 設定ファイルとプログラム
設定ファイル(control_robot.txt)
プログラム(robot.c)
13-10 動作テスト
13-11 まとめ―機能拡張の考え方
Appendix
Appendix A オリジナルケース作り
A-1 はじめに
A-2 既製品ケース
A-3 自作ケース
A-4 LEGOブロックで作成するケース
COLUMN LEGO パーツ取り扱いサイト
A-5 必要な材料
ケース作成
A-6 まとめ
Appendix B Ejectコマンドで遊ぼう
B-1 はじめに
なぜCD-ROMドライブを使うのか
いつかはGPIOを使った電子工作へステップアップを
COLUMN 筆者とCD-ROM ドライブとRaspberry Pi
COLUMN Eject コマンドユーザー会とは
B-2 Raspberry PiからCD-ROMドライブを制御しよう
CD-ROMドライブと接続ケーブルの調達と接続
Ejectコマンドを実行してみよう
WebからEjectコマンドを実行してみよう
Twitterと連動してEjectできるようにしよう
B-3 CD-ROMドライブでリモート制御
CD-ROMドライブで小動物にエサをあげよう
COLUMN 犬や猫にもEject でエサを与える例
ホームオートメーションを実現しよう
B-4 Ejectを卒業しよう
エアコン電源のリモート制御装置(改良版)
COLUMN WebIOPi を利用してWeb 制御する
B-5 まとめ
Appendix C 実践Tips & トラブルシューティング
C-1 インターネット上の情報源
C-2 Raspberry Pi公式フォーラムに登録してみよう
C-3 Raspberry Pi の設計データ
C-4 世界に広がるラズベリーの実
C-5 Minecraft Pi Edition
C-6 Raspberry Piのバックアップ方法
C-7 NOOBS起動時に画面が表示されないときは
C-8 OSイメージを作り直したらSSH接続できなくなったときは
C-9 Hynix製512MBメモリを搭載したRaspberry PiでOSが起動しないことがある
C-10 “ピンクのケース”を活用しよう
索引
著者紹介