
本講座の学習内容について、概要をお伝えします。「コース紹介の動画」と同じですので、不要な場合は飛ばしていただいても構いません
「講座の概要」というレクチャーでは、お伝えしきれなかった講座の説明を行います。具体的には、本講座の流れに沿っての補足し、IoTキットの特徴についての補足、を行います。
講座の全体像を把握したり、受講するかどうかの判断するための参考にして頂ければと思います。
講師の経歴や、行っている活動についてお伝えします。講座の学習内容には関係ありませんので、飛ばして頂いて構いません
Raspberry Piを始めとした、このセクションを実施する際に必要になる道具を知ることができます。Raspberry PiのどのVersionを選べば良いか、その理由はなにか、といった各道具の「概要」についても学ぶことができます。また、受講生の方からのご要望を受け、リソース欄のリンク先に「必要な道具一覧」をまとめていますので、適宜ご参照ください
Raspberry Pi財団のホームページから、Raspberry Pi Imagerというソフトをパソコンにインストールします。インストールしたRaspberry Pi Imagerを使い、Raspberry Pi OSをMicro SDカードに書き込みます
Raspberry PiにMicro SDカード、ディスプレイ等を挿入・接続し、電源を入れ、起動します。起動後、初期設定として、ユーザー名、パスワードを入力し、Wi-Fiと接続します。
初めての方にとっては、以下の点が分かりづらいかと思います。本レクチャーが参考になれば、幸いです。
・起動前の各種機器の接続方法
・接続できるWi-Fiの種類
遠隔操作を行うために利用するVNC Connectというサービスのアカウントを作成し、Raspberry PiからVNC Connectにログインを行います。
補足)本講座の使い方、非商用利用であれば、VNC Connectは無料で活用できます。
パソコンからRaspberry Piを遠隔操作できるようにします。
そのため、パソコンにVNC Viewerをインストールし、
VNC ViewerでVNC Connectにログインし、
既にVNC Connectにサインイン済のRaspberry Piに接続し、
さらに、解像度を変更し、大きな画面で快適に遠隔操作ができるようにします。
パソコンから遠隔操作したのと同様、スマホからもRaspberry Piを遠隔操作できるようにします。
そのため、スマホにVNC Viewerのアプリをインストールし、
VNC Connectにログインし、
既にVNC Connectにサインイン済のRaspsberry Piに接続します。
また、スマホを用いたカーソル移動や左クリックなど、操作方法についても、簡単に確認しましょう。
(詳細な操作方法については、アプリのメニューからいつでも確認ができます。)
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
センサー類、ハンダ付に必要な道具、センサーとRaspberry Piを接続する道具と言った、このセクションを実施する際に必要なものを知ることができます。また、型番が同じだが、形状が違うセンサーを選んでも問題無いか、ハンダ付けの製品における、大手製品と安価な製品の違いなど、道具の選び方についても学ぶことができます。受講生の方からのご要望を受け、リソース欄のリンク先に「必要な道具一覧」もまとめていますので、適宜ご参照ください
センサーを注文すると、基盤とピンヘッダという2つの部品に分かれて届きます。センサーを使用できる状態にするため、基盤とピンヘッダをハンダ付け方法について学びましょう。
ハンダ付けの手順を実際の映像も交え紹介します。また、ハンダ付けの失敗を防ぐための各種Tipsもお伝えします。
I2Cセンサーが動作する仕組み、個別センサーの取り扱い説明書であるデータシートの参照方法、SHT31を例に、データシートを参照しつつ、個々のセンサーを自在に動作させる方法について学習します。
本レクチャーの内容はSHT31を動かすPythonのプログラムと対応しているため、本レクチャーを理解することで、SHT31のプログラムで何を行っているかが理解しやすくなります。
初心者の方が理解できるよう、ゼロから解説をしていますが、センサーの仕組みは簡単ではありません。本レクチャーの内容が理解できなくとも、講座を進めて頂いて問題ありません。徐々に理解を深めて頂ければと思います
I2C通信における、マスターと複数スレーブの接続方法を学び、実際に複数のI2CセンサーとRaspberry Piを接続します。
また、複雑な回路をシンプルに構築することもできるGPIO拡張ボードの使い方も学びます
Pythonのプログラムを実行する準備として、以下を行います。
・ 「git clone」でプログラムをダウンロード
・ ダウンロードしたプログラムの構成を確認
・ 「apt」でシステム全体向けのパッケージをインストール
・ 「pip」でPython向けのパッケージをインストール
・ Raspberry PiのI2C通信機能を有効化
温度湿度センサー(SHT31)を動かすPythonプログラムの概要を理解し、実際にプログラムを動かし、SHT31での測定と、結果のターミナルへの表示を行います。
プログラムの理解においては、プログラムの目的や全体構成を解説した後、実際のプログラムを開き、主要なコードについて確認・簡単な解説を行ってゆきます。
照度センサー(BH1750FVI)を動かすプログラムを起動し、BH1750FVIでの測定と、結果のターミナルへの表示を行います。
距離センサー(VL6180)を動かすPythonのプログラムを起動し、VL6180での測定と、結果のターミナルへの表示を行います。
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
セクションで必要な道具(CO2-mini)を確認します。CO2-miniの概要や、CO2センサーとして、CO2-miniを選択した理由についても学習します
CO2-miniで測定を行うための準備をします。CO2-miniはそのままですと管理者権限で実行(sudoというコマンドでの実行)が必要となりますが、便利に使うため、sudo無しでの実行を行える様に設定します。また、2020年8月頃以前のCO2-miniは測定データが暗号化されている場合があり、為念、復号化のためのプログラムも用意しています。必要な方向けに、復号化プログラムの実行方法についても解説しています
CO2-miniでの測定を行うPythonのプログラムについて簡単に解説した後、実際にプログラムを動かし測定する方法を学びます
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
セクションで必要な道具(Webカメラ)を確認します。Webカメラの例としては、最も安価で一般的なWebカメラの一つであるC270n(ロジクール)をご紹介しています。C270nの概要や、Webカメラとして、C270nを選択した理由についても学習します
Webカメラで測定を行うため、以下の準備をします。
・ WebカメラのRaspberry Piへの接続
・ Webカメラの撮影オプションの確認
・ 撮影オプションの設定(config.yamlの修正)
・ 参考) C270nの焦点距離の調整
Wenカメラでの撮影を行うPythonのプログラムについて簡単に解説した後、実際にプログラムを動かし撮影を行う方法を学びます
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
本講座で構築してゆくGoogle Cloudの仕組みについて理解を深めるためのレクチャーです。API、Service Account、OAuth 2.0 Client IDとは何か、構築する仕組みの中でどの様な役割を果たすか、を解説してゆきます。
また、参考として、そもそもGoogle Cloudとはどの様なサービスなのか、どの様に使うのか、についても簡単に解説します
Google Cloudを活用してゆく上で最初に必要な準備として、「プロジェクトの作成」と「APIの有効化」を行います
Service Accountを活用する準備として、以下を行ってゆきます。
・Google Cloudにて、Service Accountを作成
・Raspberry Piの設定
- サービスアカウントキーの格納
- Google SheetsのシートIDの格納
・Google Sheetsの設定
- Google Sheetsを作成
- Service AccountにGoogle Sheetsの編集権限を付与
また、細かいですが、JSONなど用語の説明も簡単に行います
Raspberry Piにて、Pythonのプログラムを実行し、Google Sheetsにtestと書き込みを行います。プログラムの特徴についても、簡単に解説します
OAuch 2.0 Client IDを活用するための各種設定方法について学びます。
具体的には、以下を行います。
Google Cloudの設定
・ OAuth同意画面の設定
・ OAuth 2.0 client IDを作成
Raspberry Piの設定
・ Client secretをRaspberry Piに保存
・ config.yamlに任意のアルバムタイトル、メールアドレスを記載
また、各種設定の意味合いについても解説します
プログラムを実行し、Google Photosに画像をアップロードする方法について学びます。
また、初回実行に必要な、トークン発行のためのOAuth同意画面での同意の方法も、実際の画面で確認します
プログラムを実行し、Gmailを送付できるか確認します。
また、初回実行に必要な、トークン発行のためのOAuth同意画面での同意の方法も、実際の画面で確認します
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
ここまでのセクションで完成させたIoTキットの全体像を以下の視点で理解します。
・ ハードウェア
・ システム(ハード+ソフト+データ)
・ プログラム(ソフトの一部)
・ 機能
とくに、機能の説明においては、4つの機能について、実際の画面でも確認しつつ、理解を深めます
IoTキットの各機能のOn/Offや機能発現時の条件を設定するため、config.yamlの編集方法を学びます。また、実際にconfig.yamlを編集し、IoTキットを実行できる状態とします
Raspberry Piにて、handler.pyというプログラムを実行し、IoTキットを起動し、4つの機能を実行させます。handler.pyの特徴についても、簡単に解説します
以下の活用例の目的や方法、その際のconfig.yamlの設定例を学習します。
・ 自宅、職場、飲食店のCO2濃度改善
・ 農産物/家畜の生育条件改善
・ 農産物/家畜の生産管理(ログ取得)
また、データ活用の実例として、以下を学習します。
・ タイムラプス動画の作成
・ イチゴの生育条件改善(完熟での収穫、通年での収穫)
本セクションの講座全体の中での位置づけ、各レクチャーでの学習内容を確認します。学習したいことを明確化するためにもご活用下さい
IoTキットのパーツを3Dプリンターで設計したのは、既存の製品に無い機能を実装したかったためです。実際にどの様な機能を実装しているのか簡単に学びます
3Dプリンターで印刷できるパーツを使い、IoTキットをアップデートするため、必要な道具を学びます。リソース欄に必要な道具一覧も貼っていますので、リンク集としてご活用下さい
印刷データのアップロードサイト(Thingiverse)から印刷対象の3次元データを入手し、スライサーソフト(Cura)で、お持ちのプリンターに合った輪切りデータを作成する方法を学びます。
スライサーソフトについては、以下を学習します。
・基本的な操作方法、画面の見方
・印刷時の設定方法:ビルドプレートの定着性に関する設定(Build plate adhesion)、サポートの設定
3Dプリンターでの印刷を行うため、必要な3つの準備(Zオフセット、レベリング、フィラメントのロード)について、必要な理由とやり方を学んでゆきます。
作成した輪切りデータを3Dプリンターで印刷する方法、印刷後に余分なパーツを除去する後処理の方法を学びます。
3Dプリンターで印刷したパーツを用い、「IoTキットの本体」や「C270nの三脚」を組み立て、IoTキットをアップデートする方法を学びます。
コースの学習内容を総復習し、学習の定着を図ります。また、終わりの挨拶として、講師からの御礼や疑問点があった際の対応などをお伝えさせて頂きます
コースの紹介
Raspberry Pi(ラズパイ、ラズベリーパイ)をベースに、Pythonを用い、画像、CO2、温湿度、照度、水深データを取得し、クラウド(Google Cloud、GCP)に貯め、アラートメールやサマリーメールを送付する「DIY型IoTキット」の構築を通じ、簡易なIoTの構築方法、IoTの仕組みを学習します。また、構築したIoTキットは植物、工場、職場、住環境のモニタリング・改善等に役立てて頂くことができます
「IoTの構築」を通じて学習すること
Raspberry Piの使い方(基本的な使い方、スマホやPCからの遠隔操作の方法など)
ターミナルやPythonの使い方
センサー類(I2Cセンサー、CO2-mini、一般的なWebカメラ)、ハンダの使い方
Google Cloudの使い方(具体的には、基本操作、Service Account、OAuth 2.0 Client ID、API)
3Dプリンターの使い方(初めての方がゼロから印刷までできるよう解説)
など
「IoTの仕組み」として深掘り学習すること
センサーの仕組み:電子機器に広く使われるI2CセンサーとRaspberry Piの通信の仕組み
クラウドの仕組み:Google Cloud活用の仕組み(API、OAuth 2.0 Client ID、Service account)
学習事項に関する補足
Raspberry Pi、3Dプリンター、プログラミングなどが初めての方を対象に、全てゼロから解説を行っています
プログラムに関する理解を深めて頂けるよう、コード全てにDocstringsを付けています
DIY型IoTキットの用途例
動植物をモニタリング:生育環境の改善に活用することができます
CO2など居住空間をモニタリング:CO2濃度の低減などに活用できます
IoT、モノ作りの研修や授業に活用:全てゼロから解説しているので、Raspberry Pi、プログラミング、Google Cloud、3Dプリンターなどが初めての方でも、躓かず学んで頂けます
DIY型IoTキットの特徴
材料費2-3万円(運用コスト無し):Google Cloudは無料枠内で活用します
3Dプリンターで更に機能的に:3Dプリンター無しでも、IoTキットは構築できますが、3Dプリンターで印刷できるパーツを用いると、よりコンパクトに、センサーの測定精度高く、より安全に使うことができます
市販品を組み合わせて作れる(工作はほとんど不要。3つのセンサーへのハンダ付けのみ必要)
本講座をおすすめしたい方
IoTの構築方法や仕組みについて学びたい方(事業担当者やエンジニアの方など)
以下の使い方を学びたい方
Raspberry Piとセンサー類(温湿度、照度、距離、CO2-mini、Webカメラ)
Google Cloud(Service account、OAuth 2.0 Client ID、Google Cloud APIs)
3Dプリンター(Ender-3 S1、Thingiverse、Cura)
IoTキットを活用したい方(生産者や経営者、もの作りが好きな方など)
注意点
IoTキットの作成・使用時、安全には十分注意して下さい(ハンダ付けの際の火傷、回路構築時のショート、起動時に基盤を長時間触れることによる火傷など)
3Dプリンターの使用時、火傷、火事、怪我には十分注意して下さい(家族、お子様、ペット等が触れない場所、周りに可燃性の高いものが無い場所で使用する)
講座は、安価で入手しやすいRaspberry Pi 4Bを前提に進めていますが、Raspberry Pi 5、3B+、3Bでも動作確認済です
Raspberry Pi Zeroでもプログラムは動きますが、USB端子数が少なく、Webブラウジング程度の操作でフリーズするため、慣れていない方にはオススメしておりません。Raspberry Pi Picoに関しては、根本的に設計が異なり、本講座で使うことはできません
更新履歴
2025/12 新しくリリースされたOS、Trixie(トリクシー)に対応
2024/10 Raspberry Pi 5に対応
2023/12 3Dプリンター向けスライサーソフトであるCuraの仕様変更に対応