채널톡 아이콘

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 자체에서 웹사이트 및 React 기반 UI 호스팅 - MQTT 기반 Publish/Subscribe 통신 구현 - OTA를 이용한 원격 펌웨어 업데이트 및 버전 관리 - NimBLE 기반 Bluetooth BLE의 GAP/GATT 구조와 Server/Client 구현

1명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

실습 중심
실습 중심
토이프로젝트
토이프로젝트
iot
iot
실습 중심
실습 중심
토이프로젝트
토이프로젝트
iot
iot

수강 후 이런걸 얻을 수 있어요

  • 배터리부터 네트워크까지 고려하는 IoT 디바이스 설계

  • ESP32와 인터넷 서비스를 연결하는 통신 능력

  • 실제 IoT 제품에 필요한 서비스와 유지보수 기능

  • Bluetooth BLE Server부터 Client까지

ESP32 IoT 개발,

Wi-Fi부터 Bluetooth BLE까지

ESP32 실전 개발, FreeRTOS를 활용한 Wi-Fi, Bluetooth

ESP32의 GPIO를 제어하고 FreeRTOS를 사용하는 것까지 익혔다면,
이제 ESP32를 실제로 외부와 연결되는 IoT 디바이스로 발전시킬 차례입니다.

ESP32 IoT 개발 응용

실제로 사용할 수 있는 IoT Device를 만드는 과정을 경험합니다.

이 과정은 ESP32의 기본 기능을 익힌 학습자가 저전력 → Wi-Fi → Internet → Web → MQTT → OTA → BLE의 흐름을 따라가며 실제 IoT 디바이스로 동작하기 위해 필요한 기능을 단계적으로 구현하는 실전 응용 강의입니다.

ESP32 개발,

네트워크와 무선 통신으로 완성하기

이 강의는 API의 사용법이나 예제 코드를 단순히 따라 하는 것에 초점을 맞추지 않습니다.
"Wi-Fi 연결은 어떻게 관리해야 하는지",
"HTTP 응답 데이터가 한 번에 전달되지 않는다면 어떻게 처리해야 하는지",
"웹 서버와 WebSocket은 언제 사용하는지",
"MQTT의 Retain과 Last Will은 왜 필요한지",
"OTA 업데이트 과정에서 펌웨어를 어떻게 관리해야 하는지",
"BLE에서는 GAP과 GATT가 각각 어떤 역할을 하는지 "
각 기술이 왜 필요한지와 어떤 구조로 구현해야 하는지를 중요하게 생각하고 제작했습니다.

Section 1 - 저전력 모드와 Sleep

ESP32의 Light Sleep과 Deep Sleep 동작 방식과 차이를 이해하고, Timer·GPIO·EXT0·EXT1을 활용한 다양한 Wake-up 방법을 실습합니다. Hibernation까지 살펴보며 배터리 기반 IoT 디바이스를 위한 저전력 설계 방법을 학습합니다.

Section 2 - Wi-Fi 네트워크 연결과 관리

ESP32의 Wi-Fi 기본 구조와 연결 방식을 이해하고, HTTP Client·NTP Client·Wi-Fi Scanner를 활용하여 인터넷 통신과 네트워크 기능을 실습합니다. ESP-IDF에서 Station/AP 모드 구성과 연결 실패·재연결·이벤트 처리까지 구현하며 실제 IoT 애플리케이션에 필요한 Wi-Fi 통신 구조를 학습합니다.

Section 3 - REST API와 HTTP/HTTPS 통신

ESP32에서 HTTP와 REST API의 기본 구조를 이해하고, GET·HTTPS 통신과 Chunked Data 및 대용량 JSON 처리 방법을 실습합니다. JSON 데이터를 직접 생성해 외부 서버로 전송하고 이메일 전송 예제를 구현하며 ESP32에서 Web API를 활용하는 전체 흐름을 학습합니다.

Section 4 - ESP32 Web Server와 WebSocket

ESP32에 HTTP Server와 mDNS를 구성하고, POST 요청을 통해 웹에서 장치를 제어하며 Client-Server 간 요청과 응답 구조를 학습합니다. 이후 WebSocket Server를 구현하여 웹 브라우저와 ESP32가 지속적으로 연결된 상태에서 데이터를 주고받는 실시간 양방향 통신 구조를 실습합니다.

Section 5 - ESP32에서 웹사이트 호스팅하기

ESP32에 웹 페이지와 다양한 웹 리소스를 저장하고 제공하는 Web Server 구조를 구현하며, Wildcard URL과 MIME Type을 활용한 웹 파일 처리 방법을 학습합니다. React로 사용자 인터페이스를 개발해 ESP32에서 직접 서비스하며, 별도의 서버 없이 장치 설정 및 제어용 Web UI를 제공하는 방법을 실습합니다.

Section 6 - MQTT를 이용한 IoT 메시징

MQTT의 Broker, Client, Topic, Publish, Subscribe 구조를 이해하고, ESP32에서 Broker에 연결하여 메시지를 송수신하는 방법을 실습합니다. 또한 Retain Message와 LWT를 활용하며 센서 데이터 전송과 장치 상태 관리에 필요한 실제 IoT 메시징 구조를 학습합니다.

Section 7 - OTA를 이용한 원격 펌웨어 업데이트

OTA의 기본 구조와 네트워크를 통한 펌웨어 업데이트 과정을 이해하고, Google Drive를 사용해 새로운 펌웨어를 다운로드하여 적용하는 방법을 실습합니다. 또한 펌웨어 Version 관리·비교와 다운로드·검증·적용 과정을 단계별로 구현하며 실제 IoT 디바이스의 원격 펌웨어 관리 방법을 학습합니다.

Section 8 - Bluetooth BLE와 NimBLE

Bluetooth Classic과 BLE의 차이부터 BLE Stack, Advertising, GAP, GATT 구조를 이해하고 Read·Write·Notify 기능을 직접 구현합니다. 또한 ESP32를 BLE Peripheral과 Client 역할로 각각 구성하여 주변 장치를 검색·연결하고 Service와 Characteristic을 탐색하며 데이터를 주고받는 전체 BLE 통신 과정을 학습합니다.

이 강의를 들으면 얻게 되는 것들

Point 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를 만드는 경험을 쌓게 됩니다.

Point 4. Bluetooth BLE Server부터 Client까지

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 개발 기초 강의 이후의 학습 과정을 찾고 있는 분

✔️ 네트워크 기반 임베디드 개발 역량을 키우고 싶은 개발자

  • HTTP, REST API, WebSocket, MQTT를 ESP32에서 직접 구현해보고 싶은 분

  • Embedded Device와 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 실습에서는 웹 브라우저와 관련 개발 환경을 사용합니다.

  • OTA 실습에서는 펌웨어를 저장하고 다운로드하기 위한 Google Drive를 활용합니다.

선수 지식 및 유의사항

  • 기본적인 C 언어 문법을 이해하고 있어야 합니다.

  • ESP-IDF 프로젝트의 생성, 빌드 및 Flash 방법을 알고 있으면 좋습니다.

  • FreeRTOS Task 등 ESP32의 기본적인 프로그램 구조를 이해하고 있으면 도움이 됩니다.

  • HTTP, IP, Client/Server 등의 기본적인 네트워크 개념을 알고 있으면 좋지만


    강의에서 필요한 개념은 함께 설명합니다.

  • 「ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지」를 먼저 수강했거나
    이에 준하는 ESP32 개발 경험이 있다면 가장 원활하게 학습할 수 있습니다.

학습 자료

  • 강의에서 사용하는 ESP-IDF 실습 프로젝트 소스 코드를 제공합니다.

  • 각 기술을 이해하기 위해 문서와 관련 프로토콜 문서를 함께 활용합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • ESP32 기초 학습을 마치고 응용 단계로 넘어가고 싶은 분

  • 네트워크 기반 임베디드 개발 역량을 키우고 싶은 개발자

  • ESP-IDF 환경과 FreeRTOS 기반 개발을 프로젝트를 진행하고 개발자

  • 실제 IoT 프로토타입과 제품을 만들고 싶은 메이커 및 엔지니어

선수 지식,
필요할까요?

  • C 언어 문법

  • ESP-IDF 경험

  • FreeRTOS 개념

  • 네트워크 개념

  • 「ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지」를 먼저 수강했거나 이에 준하는 ESP32 개발 경험이 있다면 가장 원활하게 학습할 수 있습니다.

안녕하세요
문용준입니다.

커리어인증

26

수강생

3

수강평

4

답변

5.0

강의 평점

2

강의

안녕하세요, 문용준입니다.
저는 현재 마이크로소프트에서 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

더보기

커리큘럼

전체

80개 ∙ (13시간 34분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

월 ₩55,770

5개월 할부 시

35%

₩429,000

₩278,850

평생교육이용권 지원 강의