inflearn logo
知識共有
inflearn logo

ESP32 IoT 開発基礎 - ハードウェアからFreeRTOSまで

このコースは、ESP32とIoT開発を初めて学ぶ方が、環境構築 → 言語の基礎 → ハードウェア制御 → RTOSの活用までを習得することを目標としています。 このコースの主な目標は以下の通りです。 - ESP32の開発環境と基本ツールの使用能力の習得 - C言語とESP-IDFの構造の理解 - FreeRTOSのタスクおよび基本的な同期方式の理解 - GPIO・I2C・SPI・UARTを通じたハードウェア制御が可能 - ストレージとメモリ構造の理解、および簡単なデータの永続化の実装が可能

難易度 入門

受講期間 無制限

C
C
IoT
IoT
FreeRTOS
FreeRTOS
esp32
esp32
C
C
IoT
IoT
FreeRTOS
FreeRTOS
esp32
esp32

受講後に得られること

  • ESP-IDFと開発環境をインストール・設定し、プロジェクトをビルド・フラッシュすることができます。

  • C言語とESP-IDFの構造を理解し、コンポーネントやライブラリを活用してコードを構成することができます。

  • FreeRTOSを利用して、タスク、キュー、セマフォ、タイマーなどの基本的なマルチタスク機能を実装できます。

  • GPIO、I2C、SPI、UARTを通じて、センサーや周辺機器を制御し、データをやり取りすることができます。

  • NVSとファイルシステムを使用して、設定とデータを保存し、メモリ構造を効率的に管理することができます。

ESP32 IoT開発、
ハードウェアからFreeRTOSまで完璧マスター!

ESP32とIoT開発、どこから始めればよいかお悩みですか?
環境設定からC言語、FreeRTOS、ハードウェア制御まで、
実務で即戦力となる確かな開発スキルを身につけましょう。


ESP32 IoT 開発基礎
ハードウェアから FreeRTOS まで実践的な経験を積みます。

このコースは、ESP32とIoT開発を初めて接する学習者が、環境設定 → C言語の基礎復習 → ハードウェア制御 → FreeRTOSベースのマルチタスクまでを一度に習得することを目標とした実践入門講座です。

ESP32開発、
実務プロジェクトで完成させる

この講座は、単にサンプルコードを書き写すだけの過程ではありません。
「なぜこのようにコードを作成したのか」「データシートはどこから見るべきか」「問題が発生したときに何を疑い、どのようなログを出すべきか」までを共に説明することを最も重要に考え、設計しました。

Section 1 - 講義の紹介および開発環境の準備

本セクションでは、ESP32 IoT開発プロセスの紹介と、実習に必要なESP-IDF開発環境の設定およびVS Codeの設定について詳しく案内します。また、ESP32チップとモジュールの種類を比較し、学習目標を設定します。

Section 2 - ESP32の基本機能とC言語の活用

ESP32の基本的なロギング、ディレイ、乱数生成機能を実習し、LED制御およびキーボード入力を通じてハードウェアを扱います。また、C言語の核心である構造体、ポインタ、関数ポインタを活用して、コードを効率的に作成する方法を学習します。

Section 3 - ESP-IDF プロジェクト構造およびコンポーネント管理

ESP-IDFプロジェクトの内部構造を理解し、CおよびHファイルを参照する方法を習得します。外部ライブラリを活用するためのコンポーネントの概念と、外部コンポーネントの追加および活用方法について詳しく解説します。

Section 4 - FreeRTOS リアルタイムオペレーティングシステム深層学習

リアルタイムオペレーティングシステムであるFreeRTOSの様々な機能を学習します。タスクの生成と管理、タスク通知、ミューテックス、セマフォ、キュー、イベントグループ、タイマーの活用方法を習得し、マルチタスク環境における効率的な開発手法を学びます。

Section 5 - ESP32 デバッグおよび設定管理

ESP32開発において不可欠なデバッグ技法を学習します。手動デバッグの手法やスタックトレースを活用したエラー分析方法を習得し、Menuconfigを利用したプロジェクト設定およびユーザー定義設定を管理する方法を学びます。

Section 6 - ESP32のメモリ構造およびストレージの活用

ESP32のSRAM、PSRAM、フラッシュメモリなど、さまざまなメモリ構造を理解し、動的・静的メモリ割り当ておよびスタックメモリの使用方法を学習します。また、NVSとSPIFFSファイルシステムを活用してデータを永続的に保存・管理する方法を実習します。

Section 7 - GPIOおよびアナログ/デジタル入出力制御

GPIOピンを用いた出力、入力、割り込み処理およびデバウンシング技術を学習します。また、DAC、ADCを通じたアナログ信号処理と、LEDCおよびPWMを活用した制御、タッチセンサーインターフェースを扱います。

Section 8 - 周辺機器通信プロトコルの実習

UART、I2C、SPI通信プロトコルを使用して、さまざまな周辺機器と連携する方法を実習します。Bluetoothロギング、センサーデータの受信、SDカードおよびSSDディスプレイの連携など、IoTプロジェクトに不可欠な通信技術を習得します。

この講座で得られるもの

Point 1. ESP32 実践開発環境の構築

ESP-IDFとツールチェーンを直接インストールし、プロジェクトの作成・ビルド・フラッシュ・モニタリングの全過程を自ら進められるようになります。多様なログオプションとシリアルモニタの活用法を習得し、コード変更 → ビルド → デバッグまでの開発サイクルを自然に回せるようになります。


Point 2. C言語とESP-IDF構造の理解

C言語の文法をESP-IDFのスタイルに合わせて復習し、ヘッダー・コンポーネント・ライブラリを分けてモジュール型のプロジェクトを構成できるようになります。単にコードを書き写すレベルを超えて、「この機能はどのモジュールに分離すべきか」を判断し、設計できる感覚を養います。


Point 3. FreeRTOS マルチタスク

FreeRTOSのTask、Queue、Semaphore、Timerを使用して、複数のタスクが同時に動作する構造を設計・実装できるようになります。優先順位とスケジューリングの概念を理解し、ログを通じて「今、どのタスクが何をしているのか」を分析しながらデバッグする方法を習得します。


Point 4. ハードウェア、ストレージのデモ

GPIO、I2C、SPI、UARTを通じて各種センサーや周辺機器を制御し、データを送受信するコードを自ら作成できるようになります。さらに、NVSやファイルシステムを活用して設定値や測定データをフラッシュに保存し、ESP32のメモリ・ストレージ構造を理解することで、小さなIoTデバイスの全体的な動作フローを設計・実装できるようになります。


ESP32とIoT開発、どこから始めればいいか分からず途方に暮れていませんか?


✔️ ESP32および組み込み開発の入門者

  • C言語とESP-IDFの環境設定から一歩ずつ学びたい方

  • ハードウェア制御の基本原理を直接実習しながら理解したい方

  • 自分だけのIoT機器を作ってみたいという夢を持つ入門者

✔️ C言語ベースの組み込み開発経験を積みたい開発者

  • ESP-IDFフレームワークとC言語の文法を連携させて学習したい方

  • FreeRTOSの基本概念とタスク管理方法を習得したい方

  • 様々なハードウェアインターフェース(GPIO、I2C、SPI、UART)の活用能力を高めたい方

✔️ IoTプロトタイプ製作およびファームウェア開発能力を強化したいメーカーおよびエンジニア

  • センサーやモジュールをESP32に接続して、実際に動作するプロトタイプを作りたい方

  • NVS、SPIFFSなどを活用して、データを効率的に保存・管理する方法を学びたい方

  • 製品化前の段階で必要なファームウェア開発の経験と問題解決能力を養いたい方


もう複雑な理論はやめましょう!ESP32があれば、誰でもIoT開発者になれます。
ハードウェアからFreeRTOSまで、あなたのIoTプロジェクトを現実にしてみてください。

受講前のアドバイス


実習環境

  • Windows OSが必要です。

  • ESP-IDF開発ツールおよびVS Codeのインストールが必須です。


事前知識および注意事項

  • C言語の基本文法を理解していることが望ましいです。

  • 組み込み開発の経験がなくても大丈夫です。

  • ESP32ボードを1つ以上準備する必要があります。

学習資料

  • 実習プロジェクトのソースコードを提供します。

  • 参考用のESP-IDF公式ドキュメントを活用します。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • ESP32および組み込み開発を初めて始める入門者

  • C言語を学習しながらハードウェア制御を学びたい学生・開発者

  • ESP-IDF環境とFreeRTOSベースの開発を学びたい組み込みエンジニア

  • センサー・モジュールをESP32に接続してIoTプロトタイプを作りたいメーカー(Maker)

  • 製品化前の段階のファームウェア開発経験を積みたいエンジニア

前提知識、
必要でしょうか?

  • 基本的なC言語の文法

  • 基本的なプログラミング経験

  • ハードウェアの基礎知識

  • MCU開発経験

  • 基本ネットワークの概念

こんにちは
yongjunmoonです。

こんにちは、ムン・ヨンジュンです。
私は現在、マイクロソフトでTechnical Support Engineerとして勤務しており、Microsoft 365、OneDrive、SharePoint、Copilot、OfficeなどModern Work分野のテクニカルサポートを担当しています。2022年の入社以来、IISウェブアプリケーション、Edgeブラウザ、Azure Botクラウドサービス全般のエンジニアリングにおける問題解決の経験を積んできました。

マイクロソフト入社前は、組み込み・IoTエンジニアとして活動し、多様なデバイスのファームウェア、BLE通信、GUI開発およびプロジェクトの技術管理の経験を積んできました。また、Elice(エリス)にてIoTトラックのプロジェクトコーチを務め、受講生のデバイスプログラミングや組み込みCプロジェクトを指導した経験もあります。

特に、ファームウェア設計(nRF52、ESP32など)、IoTプロジェクト管理、M365技術サポートに至る幅広い技術スペクトラムを基に、講義を通じて理論と実務をバランスよく伝えることを目標としています。

私の講義は、単なる機能の説明にとどまらず、実際の業務やプロジェクトで直面する問題を解決できる実質的な知識を提供することに重点を置いています。

皆様と共に成長し、新しい技術を学び活用する喜びを分かち合いたいと思っています。

Yong Jun Moon | LinkedIn

もっと見る

カリキュラム

全体

79件 ∙ (12時間 2分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

1件

5.0

1件の受講レビュー

  • fain9301님의 프로필 이미지
    fain9301

    受講レビュー 100

    平均評価 4.8

    5

    100% 受講後に作成

    ESPに対する基礎や興味を持つには十分な講義だと思います。 詳細な活用方法についてはあまり多くなく残念ですが、基礎やプロジェクトの構成方法について多くの内容が凝縮されており、興味を惹く良い講義だったので良かったです。 惜しい点としては、次は無制限の講義にしていただけるとより嬉しいです。

    • yongjunmoon
      知識共有者

      講義を100%受講し、受講評を作成していただきありがとうございます! WiFi、ウェブサーバー、Bluetoothを含む応用講義を制作中です。 これらの内容が終わった後に、実際のプロジェクトを活用する内容も進めていきたいと思います! 受講期限は無制限にアップデートいたしました!

似ている講座

同じ分野の他の講座を見てみましょう!

¥41,746