inflearn logo
知識共有
inflearn logo

ESP32 IoT開発応用 - Wi-FiからBluetooth BLEまで

このコースでは、ESP32の基本的な開発方法を習得した学習者が、低電力設計 → Wi-Fiネットワーク → REST API → Web Server → MQTT → OTA → Bluetooth BLEまで段階的に学習し、実際のIoTデバイスに必要な通信機能を自ら実装することを目標とします。 このコースの目標は、大きく次のとおりです。 - ESP32のLight Sleep、Deep Sleepなどの低電力機能を理解し、活用する - Wi-Fi Station/APモードを構成し、ネットワーク接続および例外処理を行う - HTTP/HTTPSとREST APIを利用した外部サーバーとの通信を実装する - ESP32内部にWeb ServerとWebSocketサーバーを構成する - ESP32自体でWebサイトおよびReactベースのUIをホスティングする - MQTTベースのPublish/Subscribe通信を実装する - OTAを利用したリモートファームウェア更新およびバージョン管理を行う - NimBLEベースのBluetooth BLEにおけるGAP/GATT構造を理解し、Server/Clientを実装する

1名 が受講中です。

難易度 中級以上

受講期間 無制限

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

受講後に得られること

  • バッテリーからネットワークまで考慮したIoTデバイス設計

  • ESP32とインターネットサービスを接続する通信能力

  • 実際のIoT製品に必要なサービスと保守機能

  • Bluetooth BLEサーバーからクライアントまで

ESP32 IoT開発、

Wi-FiからBluetooth BLEまで

ESP32実践開発、FreeRTOSを活用したWi-Fi、Bluetooth

ESP32のGPIOを制御し、FreeRTOSの使い方まで身につけたら、
次はESP32を実際に外部と接続するIoTデバイスへと発展させる番です。

ESP32 IoT開発応用

実際に使えるIoTデバイスを作る過程を体験します。

このコースは、ESP32の基本機能を身につけた学習者が低消費電力 → Wi-Fi → Internet → Web → MQTT → OTA → BLEの流れに沿って、実際のIoTデバイスとして動作するために必要な機能を段階的に実装する実践的な応用講座です。

ESP32開発、

ネットワークと無線通信で完成させる

この講義は、APIの使い方やサンプルコードを単に追うことに焦点を当てていません。
"Wi-Fi接続はどのように管理すべきか"、
"HTTPレスポンスデータが一度に届かない場合、どのように処理すべきか"、
"WebサーバーとWebSocketはいつ使うのか"、
"MQTTのRetainとLast Willはなぜ必要なのか"、
"OTAアップデートの過程でファームウェアをどのように管理すべきか"、
"BLEではGAPとGATTがそれぞれどのような役割を担うのか"など
各技術がなぜ必要なのか、どのような構造で実装すべきなのかを重視して制作しました。

Section 1 - 低消費電力モードとスリープ

ESP32のライトスリープとディープスリープの動作方式や違いを理解し、Timer・GPIO・EXT0・EXT1を活用したさまざまなWake-up方法を実習します。Hibernationまで確認し、バッテリー駆動のIoTデバイスに向けた低消費電力設計の方法を学習します。

セクション2 - Wi-Fiネットワークへの接続と管理

ESP32のWi-Fiの基本構造と接続方式を理解し、HTTP Client・NTP Client・Wi-Fi Scannerを活用してインターネット通信とネットワーク機能を実習します。ESP-IDFでStation/APモードの構成と接続失敗・再接続・イベント処理まで実装し、実際のIoTアプリケーションに必要なWi-Fi通信構造を学習します。

セクション3 - REST APIとHTTP/HTTPS通信

ESP32でHTTPとREST APIの基本構造を理解し、GET・HTTPS通信とChunked Dataおよび大容量JSONの処理方法を実習します。JSONデータを直接生成して外部サーバーへ送信し、メール送信の例を実装しながら、ESP32でWeb APIを活用する一連の流れを学習します。

セクション4 - ESP32 Web ServerとWebSocket

ESP32にHTTP ServerとmDNSを構成し、POSTリクエストを通じてWebからデバイスを制御しながら、Client-Server間のリクエストとレスポンスの構造を学習します。その後、WebSocket Serverを実装し、WebブラウザとESP32が継続的に接続された状態でデータを送受信する、リアルタイムの双方向通信構造を実習します。

Section 5 - ESP32でウェブサイトをホスティングする

ESP32にWebページとさまざまなWebリソースを保存して提供するWeb Server構造を実装し、Wildcard URLとMIME Typeを活用したWebファイルの処理方法を学習します。Reactでユーザーインターフェースを開発してESP32から直接サービスを提供し、別途サーバーを用意せずにデバイス設定および制御用のWeb UIを提供する方法を実習します。

セクション6 - MQTTを利用したIoTメッセージング

MQTTのBroker、Client、Topic、Publish、Subscribeの構造を理解し、ESP32からBrokerに接続してメッセージを送受信する方法を実習します。また、Retain MessageとLWTを活用し、センサーデータの送信とデバイスの状態管理に必要な実際のIoTメッセージング構造を学習します。

Section 7 - OTAを利用したリモートファームウェア更新

OTAの基本構造とネットワークを介したファームウェア更新の流れを理解し、Google Driveを使用して新しいファームウェアをダウンロードして適用する方法を実践します。また、ファームウェアのVersion管理・比較と、ダウンロード・検証・適用のプロセスを段階的に実装し、実際のIoTデバイスにおけるリモートファームウェア管理方法を学習します。

セクション8 - Bluetooth BLEとNimBLE

Bluetooth ClassicとBLEの違いからBLE Stack、Advertising、GAP、GATTの構造を理解し、Read・Write・Notify機能を実際に実装します。また、ESP32をBLE PeripheralとClientの役割にそれぞれ構成し、周辺機器を検索・接続してServiceとCharacteristicを探索しながらデータを送受信する、BLE通信の一連のプロセスを学習します。

この講義を受講すると得られること

ポイント1. IoTアーキテクチャ設計

Light SleepとDeep Sleepの違いを理解し、Timer、GPIO、EXT0、EXT1などのWake-up Sourceを活用できるようになります。

ここにWi-Fi接続と接続状態の管理まで加えることで、単に常時稼働している開発ボードではなく、電力とネットワーク状態を併せて考慮したIoTデバイス構造を設計できるようになります。

Point 2. ESP32とインターネットサービスの通信

HTTP、HTTPS、REST API、JSONを利用して、ESP32が外部サーバーとデータを送受信するように実装できます。

ESP32がClientとして外部サービスにアクセスするだけでなく、HTTP ServerやWebSocket Serverとして動作するように構成し、Device ↔ Server ↔ Web Browser間の通信構造を理解できるようになります。

Point 3. IoT製品に必要なサービスと機能

ESP32から直接ウェブサイトを提供し、MQTTを利用してデータをPublish/Subscribeする構成を実装できます。

また、OTAを通じて配布されたESP32のファームウェアをネットワーク経由で更新し、Versionを管理する方法を学習します。

プログラムを作成してUSBでアップロードする開発段階を越え、インストール後も管理できるIoT Deviceを作る経験を積むことができます。

ポイント4. Bluetooth BLEサーバーからクライアントまで

BLEのAdvertising、GAP、GATTの構造を理解し、Beacon、GATT Read/Write、Battery Service、Notify機能を自ら実装できるようになります。

ESP32をBLE PeripheralだけでなくClientとしても構成し、周辺デバイスを検索・接続し、ServiceとCharacteristicを探索する一連の通信フローを体験します。

これにより、ESP32とスマートフォン、または他のBLEデバイス間の通信機能を自ら設計できるようになります。

ESP32の基本機能は習得しましたが、

実際のIoTサービスをどのように作ればよいのか、途方に暮れていませんか?

✔️ ESP32の基礎学習を終えて応用段階に進みたい方

  • ESP-IDFでプロジェクトを作成してアップロードできるものの、次に何を学ぶべきか悩んでいる方

  • GPIOやFreeRTOSを超えて、Wi-FiやBluetoothを活用したい方

  • ESP32 IoT開発基礎講座後の学習プロセスを探している方

✔️ ネットワークベースの組み込み開発スキルを身につけたい開発者

  • ESP32でHTTP、REST API、WebSocket、MQTTを直接実装してみたい方

  • 組み込みデバイスとServerがデータを送受信する構造を理解したい方

  • Wi-Fi接続だけでなく、エラー処理や接続管理まで学びたい方

✔️ 実際のIoTプロトタイプや製品を作りたいメイカーおよびエンジニア

  • ESP32でウェブベースの設定または制御画面を提供したい方

  • MQTTを利用してセンサーおよびデバイスのデータを送信したい方

  • OTAを利用して現場に設置されたデバイスのファームウェアを更新したい方

  • スマートフォンまたは他のBLEデバイスと通信する製品を開発したい方

センサーだけを制御するESP32から、インターネットやスマートフォンに接続できるIoTデバイスへと発展させてみましょう。

Wi-FiからBluetooth BLEまで、ESP32 IoT開発の応用技術を自ら実装します。

受講前の参考事項

実習環境

  • Windowsオペレーティングシステムを基準に講義を進めます。

  • ESP-IDF開発環境およびVS Codeが必要です。

  • ESP32開発ボードが1台以上必要です。

  • Wi-Fi接続が可能なインターネット環境が必要です。

  • BLEの実習には、Bluetooth BLEに対応したスマートフォンまたはPCが必要です。

  • WebおよびReactの実習では、Webブラウザと関連する開発環境を使用します。

  • OTAの実習では、ファームウェアを保存およびダウンロードするためにGoogle Driveを活用します。

前提知識および注意事項

  • 基本的なC言語の文法を理解している必要があります。

  • ESP-IDFプロジェクトの作成、ビルド、およびFlash方法を知っているとよいでしょう。

  • FreeRTOS Taskなど、ESP32の基本的なプログラム構造を理解していると役立ちます。

  • HTTP、IP、クライアント/サーバーなどの基本的なネットワーク概念を知っているとよいですが、


    講義で必要な概念は併せて説明します。

  • 「ESP32 IoT開発の基礎 - ハードウェアからFreeRTOSまで」を先に受講済み、または
    それに相当するESP32開発経験がある場合、最もスムーズに学習できます。

学習資料

  • 講義で使用するESP-IDF実習プロジェクトのソースコードを提供します。

  • 各技術を理解するために、ドキュメントと関連するプロトコル文書を併せて活用します。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ESP32の基礎学習を終えて、応用段階へ進みたい方

  • ネットワークベースの組み込み開発スキルを高めたい開発者

  • ESP-IDF環境およびFreeRTOSベースの開発でプロジェクトを進める開発者

  • 実際のIoTプロトタイプや製品を作りたいメイカーおよびエンジニア

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

  • C言語の文法

  • ESP-IDFの経験

  • FreeRTOSの概念

  • ネットワーク概念

  • 「ESP32 IoT開発の基礎 - ハードウェアからFreeRTOSまで」を先に受講したか、それに相当するESP32開発の経験があると、最もスムーズに学習できます。

こんにちは
yongjunmoonです。

キャリア認証

26

受講生

3

受講レビュー

4

回答

5.0

講座評価

2

講座

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

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

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

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

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

Yong Jun Moon | LinkedIn

もっと見る

カリキュラム

全体

80件 ∙ (13時間 34分)

講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

似ている講座

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

期間限定セール

¥35,129

34%

¥54,044