Raspberry Piクックブック 第4版

[cover photo]
TOPICS
クックブック , Make/Electronics/DIY
発行年月日
PRINT LENGTH
560
ISBN
978-4-8144-0050-8
原書
Raspberry Pi Cookbook, 4th Edition
FORMAT
Print PDF EPUB
Ebook
4,290円
Ebookを購入する
Print
4,290円

本書は、登場以来多くのユーザーの支持を集め続けているマイコンボード「Raspberry Pi」を使いこなすための実践レシピ集です。ハードウェアの基本、オペレーティングシステムの使い方、ネットワーク接続、Pythonプログラミングの基本から、高度なPythonプログラミング、GPIO(汎用入出力)、モーター、センサー、HAT、ディスプレイ、サウンド、コンピュータービジョン、IoTまで、幅広いニーズに応えます。第4版では新たに、機械学習やRaspberry Pi Pico/Pico Wのレシピも加わりました。すぐに使えるサンプルコードや回路図を豊富に収録しており、作品製作に役立ちます。

目次

まえがき

1章 設定と管理
    レシピ1.1 Raspberry Piのモデルを選択する
    レシピ1.2 システムを接続する
    レシピ1.3 Raspberry Piをケースに入れる
    レシピ1.4 電源を選択する
    レシピ1.5 オペレーティングシステムを選択する
    レシピ1.6 Raspberry Pi Imagerを使ってマイクロ SDカードを作成する
    レシピ1.7 Raspberry Piを初めて起動する
    レシピ1.8 Raspberry Piをヘッドレスに設定する
    レシピ1.9 本物のハードディスクやUSBフラッシュドライブから起動する
    レシピ1.10 DVIやVGAのモニターを接続する
    レシピ1.11 コンポジットビデオのモニターやテレビを使う
    レシピ1.12 モニター上の画面サイズを調整する
    レシピ1.13 パフォーマンスを最大化する
    レシピ1.14 パスワードを変更する
    レシピ1.15 Raspberry Piをシャットダウンする
    レシピ1.16 Raspberry Piカメラモジュールをインストールする
    レシピ1.17 Bluetoothを使う

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 Raspberry Piをネットワーク接続ストレージとして使う
    レシピ2.10 ネットワークプリンターを設定する

3章 オペレーティングシステム
    レシピ3.1 GUIでファイルを操作する
    レシピ3.2 ファイルをUSBメモリーにコピーする
    レシピ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 画面をキャプチャーする
    レシピ3.17 aptを使ってソフトウェアをインストールする
    レシピ3.18 aptを使ってインストールされたソフトウェアを削除する
    レシピ3.19 pip3を使ってPythonパッケージをインストールする
    レシピ3.20 コマンドラインからファイルを取得する
    レシピ3.21 gitを使ってソースコードを取得する
    レシピ3.22 この本のコード例を取得する
    レシピ3.23 起動時にプログラムを自動的に実行する
    レシピ3.24 プログラムをサービスとして自動的に実行する
    レシピ3.25 プログラムを自動的に一定の周期で実行する
    レシピ3.26 ファイルを見つける
    レシピ3.27 コマンドラインのヒストリー(履歴)を使う
    レシピ3.28 プロセッサーの使用状況を監視する
    レシピ3.29 ファイルアーカイブを取り扱う
    レシピ3.30 接続されたUSBデバイスをリストする
    レシピ3.31 コマンドラインの出力をファイルへリダイレクトする
    レシピ3.32 ファイルを連結する
    レシピ3.33 パイプを使う
    レシピ3.34 ターミナルへの出力を隠す
    レシピ3.35 プログラムをバックグラウンドで実行する
    レシピ3.36 コマンドのエイリアスを作成する
    レシピ3.37 日付と時間を設定する
    レシピ3.38 SDカードの空き容量を確認する
    レシピ3.39 実行中のオペレーティングシステムのバージョンを知る
    レシピ3.30 Raspberry Pi OSを更新する

4章 既存ソフトウェアの使い方
    レシピ4.1 メディアセンターにする
    レシピ4.2 おすすめのソフトウェアをインストールする
    レシピ4.3 オフィスソフトウェアを使う
    レシピ4.4 ゲーム機のエミュレーターを動かす
    レシピ4.5 Raspberry PiをFMトランスミッターにする
    レシピ4.6 ビットマップ画像を編集する
    レシピ4.7 ベクター画像を編集する
    レシピ4.8 ブックシェルフを使う
    レシピ4.9 インターネットラジオを聴く
    レシピ4.10 Visual Studio Codeを使う
    レシピ4.11 レーザーカッターを制御する

5章 Pythonの基本
    レシピ5.1 Python 2とPython 3のどちらを使うか
    レシピ5.2 Pythonのエディターを選ぶ
    レシピ5.3 Thonnyを使ってPythonプログラムを編集する
    レシピ5.4 Muを使ってPythonプログラムを書く
    レシピ5.5 Pythonコンソールを使う
    レシピ5.6 Pythonプログラムをターミナルから実行する
    レシピ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 条件付きでコマンドを実行する(if文)
    レシピ5.21 値を比較する
    レシピ5.22 論理演算子を使う
    レシピ5.23 決まった回数だけ命令を繰り返す
    レシピ5.24 ある条件が満たされるまで命令を繰り返す
    レシピ5.25 ループから脱出する
    レシピ5.26 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 ディクショナリーから要素を削除する
    レシピ6.16 ディクショナリー上で反復処理を行う

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からLinuxコマンドを実行する
    レシピ7.16 Pythonから電子メールを送る
    レシピ7.17 Pythonでシンプルなウェブサーバーを作る
    レシピ7.18 Pythonで何もしない
    レシピ7.19 同時に複数の処理を行う
    レシピ7.20 JSONを構文解析する
    レシピ7.21 ディクショナリーをJSONファイルとして保存する
    レシピ7.22 ユーザーインターフェイスを作成する
    レシピ7.23 正規表現を利用してテキスト中のパターンを検索する
    レシピ7.24 正規表現を利用してデータ入力を検証する
    レシピ7.25 正規表現を利用してウェブスクレイピングする

8章 コンピュータービジョン
    レシピ8.1 OpenCVをインストールする
    レシピ8.2 USBカメラをコンピュータービジョン用に設定する
    レシピ8.3 コンピュータービジョンにRaspberry Piのカメラモジュールを使う
    レシピ8.4 コインを数える
    レシピ8.5 顔検出
    レシピ8.6 動き検出
    レシピ8.7 画像からテキストを抽出する

9章 機械学習
    レシピ9.1 TensorFlow Liteでビデオ内の物体を認識する
    レシピ9.2 TensorFlow Liteでビデオ内の物体に反応する
    レシピ9.3 TensorFlow Liteで口笛に反応する
    レシピ9.4 Edge Impulseをインストールする
    レシピ9.5 音声による指示を(クラウドで)認識する
    レシピ9.6 音声による指示を(ローカルで)認識する
    レシピ9.7 音声による指示に応答する

10章 ハードウェアの基本
    レシピ10.1 GPIOコネクターのピン配置
    レシピ10.2 Raspberry Pi 400でGPIOコネクターを使う
    レシピ10.3 Raspberry PiのGPIOを安全に使う
    レシピ10.4 I2Cをセットアップする
    レシピ10.5 I2Cツールを使う
    レシピ10.6 SPIをセットアップする
    レシピ10.7 pySerialをインストールしてPythonからシリアルポートを使う
    レシピ10.8 Minicomをインストールしてシリアルポートをテストする
    レシピ10.9 ジャンパー線を使ってブレッドボードと接続する
    レシピ10.10 Raspberry Squidを使う
    レシピ10.11 Raspberry Squid Buttonを使う
    レシピ10.12 抵抗2本で5V信号を3.3Vに変換する
    レシピ10.13 レベル変換モジュールを使って5V信号を3.3Vに変換する
    レシピ10.14 リチウムイオン電池からRaspberry Piの電源を供給する
    レシピ10.15 Sense HATを使う
    レシピ10.16 Explorer HAT Proを使う
    レシピ10.17 HATを自作する
    レシピ10.18 Raspberry Pi Zero 2とPi Zero 2 W

11章 ハードウェアの制御
    レシピ11.1 LEDを接続する
    レシピ11.2 GPIOピンを安全な状態に保つ
    レシピ11.3 LEDの明るさを制御する
    レシピ11.4 トランジスターを使って大電力DCデバイスをスイッチする
    レシピ11.5 リレーを使って大電力デバイスをスイッチする
    レシピ11.6 ソリッドステートリレーを使ってスイッチする
    レシピ11.7 高電圧ACデバイスを制御する
    レシピ11.8 AndroidとBluetoothを使ってハードウェアを制御する
    レシピ11.9 スイッチをオン・オフするユーザーインターフェイスを作る
    レシピ11.10 LEDやモーターの電力をPWMで制御するユーザーインターフェイスを作る
    レシピ11.11 RGB LEDの色を変化させるユーザーインターフェイスを作る
    レシピ11.12 アナログメーターをディスプレイとして使う

12章 モーター
    レシピ12.1 サーボモーターを制御する
    レシピ12.2 精密にサーボモーターを制御する
    レシピ12.3 精密に複数のサーボモーターを制御する
    レシピ12.4 DCモーターの速度を制御する
    レシピ12.5 DCモーターの回転方向を制御する
    レシピ12.6 ユニポーラーステッピングモーターを使う
    レシピ12.7 バイポーラーステッピングモーターを使う
    レシピ12.8 Stepper Motor HATを使ってバイポーラーステッピングモーターを駆動する

13章 デジタル入力
    レシピ13.1 押しボタンスイッチを接続する
    レシピ13.2 押しボタンスイッチで状態を切り替える
    レシピ13.3 2ポジションのトグルスイッチやスライドスイッチを使う
    レシピ13.4 3ポジションのトグルスイッチやスライドスイッチを使う
    レシピ13.5 ボタンを押したときのチャタリングを除去したい
    レシピ13.6 外部プルアップ抵抗を使う
    レシピ13.7 ロータリー(直交)エンコーダーを使う
    レシピ13.8 キーパッドを使う
    レシピ13.9 動きを検出する
    レシピ13.10 Raspberry PiにGPSを接続する
    レシピ13.11 押されたキーを横取りする
    レシピ13.12 マウスの動きを横取りする
    レシピ13.13 Raspberry Piにリセットボタンを追加する

14章 センサー
    レシピ14.1 抵抗性センサーを使う
    レシピ14.2 光を測定する
    レシピ14.3 サーミスターで温度を測定する
    レシピ14.4 メタンを検出する
    レシピ14.5 大気清浄度(CO2濃度)を測定する
    レシピ14.6 土壌水分を測定する
    レシピ14.7 電圧を測定する
    レシピ14.8 電圧を分圧して測定する
    レシピ14.9 抵抗性センサーとADCを使う
    レシピ14.10 ADCを使って温度を測定する
    レシピ14.11 Raspberry PiのCPU温度を測定する
    レシピ14.12 Sense HATを使って温度、湿度、気圧を測定する
    レシピ14.13 デジタルセンサーを使って温度を測定する
    レシピ14.14 MMA8452Qモジュールで加速度を測定する
    レシピ14.15 Sense HATで磁北を検出する
    レシピ14.16 Sense HATの慣性計測ユニットを使う
    レシピ14.17 リードスイッチで磁石を検出する
    レシピ14.18 Sense HATで磁石を検出する
    レシピ14.19 超音波を使って距離を測定する
    レシピ14.20 Time-of-Flightセンサーを使って距離を測定する
    レシピ14.21 タッチセンサーをRaspberry Piに追加する
    レシピ14.22 RFIDリーダーでスマートカードを読み出す
    レシピ14.23 センサーの値を表示する
    レシピ14.24 USBメモリーにログを書き込む

15章 ディスプレイ
    レシピ15.1 4ケタのLEDディスプレイを使う
    レシピ15.2 I2C LEDマトリクスにグラフィックスを表示する
    レシピ15.3 Sense HATのLEDマトリクスディスプレイを使う
    レシピ15.4 OLEDグラフィックディスプレイを使う
    レシピ15.5 RGBテープLEDを使う
    レシピ15.6 Pimoroni Unicorn HATを使う
    レシピ15.7 電子ペーパーディスプレイを使う

16章 サウンド
    レシピ16.1 スピーカーを接続する
    レシピ16.2 サウンドの出力先をコントロールする
    レシピ16.3 オーディオ端子のないRaspberry Piでサウンドを再生する
    レシピ16.4 コマンドラインからサウンドを再生する
    レシピ16.5 Pythonからサウンドを再生する
    レシピ16.6 USBマイクロフォンを使う
    レシピ16.7 ブザーを鳴らす

17章 モノのインターネット
    レシピ17.1 ウェブインターフェイスからGPIO出力を制御する
    レシピ17.2 センサーの値をウェブページに表示する
    レシピ17.3 Node-REDを使ってみる
    レシピ17.4 IFTTTを使って電子メールなどの通知を送信する
    レシピ17.5 ThingSpeakを使ってツイートする
    レシピ17.6 CheerLightsを使ってLEDの色を変える
    レシピ17.7 センサーデータをThingSpeakに送信する
    レシピ17.8 DweetとIFTTTを使ってツイートに応答する

18章 ホームオートメーション
    レシピ18.1 Mosquittoを使ってRaspberry Piをメッセージブローカーに仕立てる
    レシピ18.2 Node-REDとMQTTサーバーを組み合わせて使う
    レシピ18.3 Sonoff WiFiスマートスイッチのファームウェアをMQTT用に書き換える
    レシピ18.4 Sonoff WiFiスイッチを設定する
    レシピ18.5 Sonoff WiFiスイッチをMQTTから使う
    レシピ18.6 Sonoff WiFiスイッチをNode-REDから使う
    レシピ18.7 Node-REDダッシュボードから電源をオン・オフする
    レシピ18.8 Node-REDでイベントをスケジュールする
    レシピ18.9 Wemos D1からMQTTメッセージをパブリッシュする
    レシピ18.10 Wemos D1をNode-REDと組み合わせて使う

19章 Raspberry Pi PicoとPico W
    レシピ19.1 PicoやPico Wをコンピューターに接続する
    レシピ19.2 PicoでPythonシェルを使う
    レシピ19.3 Picoをブレッドボードで使う
    レシピ19.4 Picoのデジタル出力を使う
    レシピ19.5 Picoのデジタル入力を使う
    レシピ19.6 Picoのアナログ(PWM)出力を使う
    レシピ19.7 Picoのアナログ入力を使う
    レシピ19.8 Picoでサーボモーターを制御する
    レシピ19.9 PicoやPico Wのファイルシステムを使う
    レシピ19.10 セカンドコアを利用する
    レシピ19.11 Pico WでWiFiウェブサーバーを動かす
    レシピ19.12 Pico互換ボードを使う
    レシピ19.13 Picoを電池で動かす

付録A パーツと器材
    パーツ
    プロトタイピング用の器材とキット
    抵抗とコンデンサー
    トランジスターとダイオード
    IC
    光エレクトロニクス
    モジュール
    その他

付録B RaspberryPiのピン配置
    Raspberry Pi 400/5/4/3/2モデルB、モデルB+、モデルB+、モデルA+、Zero
    Raspberry PiモデルBリビジョン2、モデルA
    Raspberry PiモデルBリビジョン1
    Raspberry Pi Pico

索引