本書は、多くのユーザーの支持を集めている教育用低価格コンピュータ「Raspberry Pi」を使いこなすためのレシピ集です。ハードウェアの基本、オペレーティングシステムの使い方、ネットワーク接続、Pythonプログラミングの基本を紹介した上で、実際の作品製作に必要になる、高度なPythonプログラミング、GPIO(汎用入出力)、モーター、センサー、ディスプレイなどの使い方へと解説を進めていきます。216本収録された「レシピ」には、すぐに使えるサンプルコードや回路図を豊富に掲載。さらに、Arduinoとの連携に関しても詳しく解説を行っています。日本語版編集中に発売が開始されたModel B+に関しては「はじめに」に概要を加えました。
Raspberry Piクックブック
Simon Monk 著、水原 文 訳
- TOPICS
- クックブック , Programming , Make/Electronics/DIY , Linux , Python
- 発行年月日
- 2014年08月
- PRINT LENGTH
- 384
- ISBN
- 978-4-87311-690-7
- 原書
- Raspberry Pi Cookbook
- FORMAT
目次
はじめに 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 パーツと機材 索引