Raspberry Piクックブック

[cover photo]
TOPICS
クックブック , Programming , Make/Electronics/DIY , Linux , Python
発行年月日
PRINT LENGTH
384
ISBN
978-4-87311-690-7
原書
Raspberry Pi Cookbook
FORMAT
PDF

本書は、多くのユーザーの支持を集めている教育用低価格コンピュータ「Raspberry Pi」を使いこなすためのレシピ集です。ハードウェアの基本、オペレーティングシステムの使い方、ネットワーク接続、Pythonプログラミングの基本を紹介した上で、実際の作品製作に必要になる、高度なPythonプログラミング、GPIO(汎用入出力)、モーター、センサー、ディスプレイなどの使い方へと解説を進めていきます。216本収録された「レシピ」には、すぐに使えるサンプルコードや回路図を豊富に掲載。さらに、Arduinoとの連携に関しても詳しく解説を行っています。日本語版編集中に発売が開始されたModel B+に関しては「はじめに」に概要を加えました。

目次

はじめに

1章 設定と管理
    レシピ1.1:Raspberry Piのモデルを選択する
    レシピ1.2:Raspberry Piをケースに入れる
    レシピ1.3:電源を選択する
    レシピ1.4:オペレーティングシステムのディストリビューションを選択する
    レシピ1.5:NOOBSを使ってSDカードを作成する
    レシピ1.6:手作業でSDカードへ書き込む(Mac)
    レシピ1.7:手作業でSDカードへ書き込む(Windows)
    レシピ1.8:手作業でSDカードへ書き込む(Linux)
    レシピ1.9:システムを接続する
    レシピ1.10:DVIやVGAモニタを接続する
    レシピ1.11:コンポジットビデオのモニタやテレビを使う
    レシピ1.12:SDカードの容量をフルに使う
    レシピ1.13:モニタ上の画面サイズを調整する
    レシピ1.14:パフォーマンスを最大化する
    レシピ1.15:パスワードを変更する
    レシピ1.16:Raspberry Piがブート時に直接ウィンドウシステムを起動するように設定する
    レシピ1.17:Raspberry Piをシャットダウンする
    レシピ1.18:Raspberry Piカメラモジュールをインストールする

2章 ネットワーク接続
    レシピ2.1:有線LANへ接続する
    レシピ2.2:IPアドレスを知る
    レシピ2.3:IPアドレスを静的に設定する
    レシピ2.4:Raspberry Piのネットワーク名を設定する
    レシピ2.5:無線LAN接続を設定する
    レシピ2.6:コンソールケーブルで接続する
    レシピ2.7:SSHを使ってRaspberry Piをリモート制御する
    レシピ2.8:VNCを使ってRaspberry Piを遠隔操作する
    レシピ2.9:Macネットワーク上でファイルを共有する
    レシピ2.10:Raspberry Piの画面をMac上で共有する
    レシピ2.11:Raspberry Piをネットワーク接続ストレージとして使う
    レシピ2.12:ネットワークプリンタに印刷する

3章 オペレーティングシステム
    レシピ3.1:グラフィカルにファイルを操作する
    レシピ3.2:ターミナルセッションを開始する
    レシピ3.3:ターミナルを使ってファイルシステム内を移動する
    レシピ3.4:ファイルやフォルダをコピーする
    レシピ3.5:ファイルやフォルダの名前を変更する
    レシピ3.6:ファイルを編集する
    レシピ3.7:ファイルの内容を閲覧する
    レシピ3.8:エディタを使わずにファイルを作成する
    レシピ3.9:ディレクトリを作成する
    レシピ3.10:ファイルやディレクトリを削除する
    レシピ3.11:スーパーユーザの特権でタスクを実行する
    レシピ3.12:ファイルのパーミッションを理解する
    レシピ3.13:ファイルのパーミッションを変更する
    レシピ3.14:ファイルの所有者を変更する
    レシピ3.15:画面をキャプチャする
    レシピ3.16:apt-getを使ってソフトウェアをインストールする
    レシピ3.17:apt-getを使ってインストールされたソフトウェアを削除する
    レシピ3.18:コマンドラインからファイルを取得する
    レシピ3.19:gitを使ってソースコードを取得する
    レシピ3.20:起動の際、プログラムやスクリプトを自動的に実行する
    レシピ3.21:プログラムやスクリプトを、自動的に一定間隔で実行する
    レシピ3.22:ファイルを見つける
    レシピ3.23:コマンドラインのヒストリー(履歴)を使う
    レシピ3.24:プロセッサの使用状況を監視する
    レシピ3.25:ファイルアーカイブを取り扱う
    レシピ3.26:接続されたUSBデバイスをリストする
    レシピ3.27:コマンドラインの出力をファイルへリダイレクトする
    レシピ3.28:ファイルを連結する
    レシピ3.29:パイプを使う
    レシピ3.30:ターミナルへの出力を隠す
    レシピ3.31:プログラムをバックグラウンドで実行する
    レシピ3.32:コマンドのエイリアスを作成する
    レシピ3.33:日付と時間を設定する
    レシピ3.34:SDカードの残り容量を確認する

4章 ソフトウェア
    レシピ4.1:メディアセンターにする
    レシピ4.2:オフィスソフトウェアをインストールする
    レシピ4.3:他のブラウザをインストールする
    レシピ4.4:Pi Storeを利用する
    レシピ4.5:ウェブカムサーバにする
    レシピ4.6:ゲーム機のエミュレータを動かす
    レシピ4.7:Minecraftを動かす
    レシピ4.8:OpenArenaを動かす
    レシピ4.9:Raspberry PiをFMトランスミッターにする
    レシピ4.10:GIMPを使う
    レシピ4.11:インターネットラジオ

5章 Pythonの基本
    レシピ5.1:Python 2とPython 3のどちらを使うか
    レシピ5.2:IDLEを使ってPythonプログラムを書く
    レシピ5.3:Pythonコンソールを使う
    レシピ5.4:Pythonプログラムをターミナルから実行する
    レシピ5.5:変数
    レシピ5.6:出力を表示する
    レシピ5.7:ユーザからの入力を読み込む
    レシピ5.8:算術演算
    レシピ5.9:文字列を作成する
    レシピ5.10:文字列を連結(結合)する
    レシピ5.11:数値を文字列に変換する
    レシピ5.12:文字列を数値に変換する
    レシピ5.13:文字列の長さを求める
    レシピ5.14:文字列を検索し、その位置を求める
    レシピ5.15:文字列の一部を抽出する
    レシピ5.16:文字列を置換する
    レシピ5.17:文字列を大文字または小文字に変換する
    レシピ5.18:条件付きでコマンドを実行する
    レシピ5.19:値を比較する
    レシピ5.20:論理演算子
    レシピ5.21:決まった回数だけ命令を繰り返す
    レシピ5.22:ある条件が満たされるまで命令を繰り返す
    レシピ5.23:ループから脱出する
    レシピ5.24:Pythonで関数を定義する

6章  Pythonのリストとディクショナリ
    レシピ6.1:リストを作成する
    レシピ6.2:リストの要素へアクセスする
    レシピ6.3:リストの長さを求める
    レシピ6.4:リストに要素を追加する
    レシピ6.5:リストから要素を削除する
    レシピ6.6:文字列を解析してリストを作成する
    レシピ6.7:リスト上で反復処理を行う
    レシピ6.8:リストを数え上げる
    レシピ6.9:リストをソートする
    レシピ6.10:リストを分割する
    レシピ6.11:リストへ関数を適用する
    レシピ6.12:ディクショナリを作成する
    レシピ6.13:ディクショナリへアクセスする
    レシピ6.14:ディクショナリから要素を削除する
    レシピ6.15:ディクショナリ上で反復処理を行う
    
7章 Python の高度な機能
    レシピ7.1:数値をフォーマットする
    レシピ7.2:日付をフォーマットする
    レシピ7.3:2つ以上の値を返す
    レシピ7.4:クラスを定義する
    レシピ7.5:メソッドを定義する
    レシピ7.6:継承
    レシピ7.7:ファイルへ書き込む
    レシピ7.8:ファイルから読み出す
    レシピ7.9:ピクリング
    レシピ7.10:例外の取り扱い
    レシピ7.11:モジュールを使う
    レシピ7.12:乱数
    レシピ7.13:PythonからHTTPリクエストを送る
    レシピ7.14:コマンドラインから引数を渡し、Pythonプログラムを実行する
    レシピ7.15:Pythonから電子メールを送る
    レシピ7.16:Pythonでシンプルなウェブサーバを作る

8章 GPIOの基本
    レシピ8.1:GPIOコネクタのピン配置
    レシピ8.2:Raspberry PiのGPIOを安全に使う
    レシピ8.3:RPi.GPIOをインストールする
    レシピ8.4:I2Cをセットアップする
    レシピ8.5:I2Cツールを使う
    レシピ8.6:SPIをセットアップする
    レシピ8.7:シリアルポートを開放する
    レシピ8.8:PySerialをインストールしてPythonからシリアルポートを使う
    レシピ8.9:Minicomをインストールしてシリアルポートをテストする
    レシピ8.10:ジャンパ線を使ってブレッドボードと接続する
    レシピ8.11:Pi Cobblerを使ってブレッドボードと接続する
    レシピ8.12:抵抗2本で5V信号を3.3Vに変換する
    レシピ8.13:レベル変換モジュールを使って5V信号を3.3Vに変換する
    レシピ8.14:電池からRaspberry Piの電源を供給する
    レシピ8.15:LiPo電池からRaspberry Piの電源を供給する
    レシピ8.16:PiFaceデジタルインタフェースボードを使う
    レシピ8.17:Gertboardを使う
    レシピ8.18:RaspiRobotボードを使う
    レシピ8.19:Humble Piプロトタイピングボードを使う
    レシピ8.20:Pi Plateプロトタイピングボードを使う
    レシピ8.21:パドルターミナルブレークアウトボードを使う

9章 ハードウェアの制御
    レシピ9.1:LEDを接続する
    レシピ9.2:LEDの明るさを制御する
    レシピ9.3:ブザーを鳴らす
    レシピ9.4:トランジスタを使って大電力DCデバイスをスイッチする
    レシピ9.5:リレーを使って大電力デバイスをスイッチする
    レシピ9.6:高電圧ACデバイスを制御する
    レシピ9.7:スイッチをオン・オフするユーザインタフェースを作る
    レシピ9.8:LEDやモーターの電力をPWMで制御するユーザインタフェースを作る
    レシピ9.9:RGB LEDの色を変化させる
    レシピ9.10:LEDをたくさん使う(チャーリープレキシング)
    レシピ9.11:アナログメーターをディスプレイとして使う
    レシピ9.12:割り込みを使ったプログラミング
    レシピ9.13:ウェブインタフェースからGPIO出力を制御する

10章 モーター
    レシピ10.1:サーボモーターを制御する
    レシピ10.2:多数のサーボモーターを制御する
    レシピ10.3:DCモーターの速度を制御する
    レシピ10.4:DCモーターの回転方向を制御する
    レシピ10.5:ユニポーラステッピングモーターを使う
    レシピ10.6:バイポーラステッピングモーターを使う
    レシピ10.7:RaspiRobotボードを使ってバイポーラステッピングモーターを駆動する
    レシピ10.8:シンプルなロボットローバーを製作する

11章 デジタル入力
    レシピ11.1:押しボタンスイッチを接続する
    レシピ11.2:押しボタンスイッチで状態を切り替える
    レシピ11.3:2ポジションのトグルスイッチやスライドスイッチを使う
    レシピ11.4:3ポジションのトグルスイッチやスライドスイッチを使う
    レシピ11.5:ボタンを押したときのチャタリングを除去したい
    レシピ11.6:外部プルアップ抵抗を使う
    レシピ11.7:ロータリー(直交)エンコーダーを使う
    レシピ11.8:キーパッド
    レシピ11.9:動きを検出する
    レシピ11.10:Raspberry PiにGPSを接続する
    レシピ11.11:押されたキーを横取りする
    レシピ11.12:マウスの動きを横取りする
    レシピ11.13:リアルタイムクロックモジュールを使う

12章 センサー
    レシピ12.1:抵抗性センサーを使う
    レシピ12.2:光を測定する
    レシピ12.3:メタンを検出する
    レシピ12.4:電圧を測定する
    レシピ12.5:電圧を測定できるように分圧する
    レシピ12.6:抵抗性センサーとADCを使う
    レシピ12.7:ADCを使って温度を測定する
    レシピ12.8:加速度を測定する
    レシピ12.9:デジタルセンサーを使って温度を測定する
    レシピ12.10:距離を測定する
    レシピ12.11:センサーの値を表示する
    レシピ12.12:USBフラッシュドライブにログを書き込む

13章 ディスプレイ
    レシピ13.1:4ケタのLEDディスプレイを使う
    レシピ13.2:I2C LEDマトリクスにメッセージを表示する
    レシピ13.3:Pi-Liteを使う
    レシピ13.4:アルファニューメリックLCD上にメッセージを表示する

14章 ArduinoとRaspberry Pi
    レシピ14.1:Raspberry PiからArduinoをプログラムする
    レシピ14.2:シリアルモニターを使ってArduinoと通信する
    レシピ14.3:PyFirmataを設定してRaspberry PiからArduinoを制御する
    レシピ14.4:Arduinoのデジタル出力をRaspberry Piから制御する
    レシピ14.5:TTLシリアルでPyFirmataを使う
    レシピ14.6:PyFirmataを使ってArduinoのデジタル入力を読み出す
    レシピ14.7:PyFirmataを使ってArduinoのアナログ入力を読み出す
    レシピ14.8:PyFirmataでアナログ出力(PWM)を使う
    レシピ14.9:PyFirmataを使ってサーボを制御する
    レシピ14.10:TTLシリアルでArduinoとカスタム通信を行う
    レシピ14.11:I2CでArduinoとカスタム通信を行う
    レシピ14.12:小型のArduinoをRaspberry Piに接続する
    レシピ14.13:aLaModeボードとRaspberry Piを使う
    レシピ14.14:Raspberry PiとaLaModeボードでArduinoシールドを使う
    レシピ14.15:GertboardをArduinoインタフェースとして使う

付録A パーツと機材
索引