inflearn logo

Ứng dụng phát triển IoT với ESP32 - Từ Wi-Fi đến Bluetooth BLE

Khóa học này nhằm mục tiêu giúp người học đã nắm được các phương pháp phát triển cơ bản trên ESP32 học tập theo từng bước từ thiết kế công suất thấp → mạng Wi-Fi → REST API → Web Server → MQTT → OTA → Bluetooth BLE, đồng thời trực tiếp triển khai các chức năng giao tiếp cần thiết cho các thiết bị IoT thực tế. Mục tiêu của khóa học gồm các nội dung chính sau: - Hiểu và sử dụng các tính năng công suất thấp như Light Sleep, Deep Sleep của ESP32 - Cấu hình chế độ Wi-Fi Station/AP, kết nối mạng và xử lý các tình huống ngoại lệ - Triển khai giao tiếp với máy chủ bên ngoài bằng HTTP/HTTPS và REST API - Cấu hình Web Server và máy chủ WebSocket bên trong ESP32 - Lưu trữ website và giao diện người dùng dựa trên React trực tiếp trên ESP32 - Triển khai giao tiếp Publish/Subscribe dựa trên MQTT - Cập nhật firmware từ xa và quản lý phiên bản bằng OTA - Hiểu cấu trúc GAP/GATT của Bluetooth BLE dựa trên NimBLE và triển khai Server/Client

1 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

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

Bạn sẽ nhận được điều này sau khi học.

  • Thiết kế thiết bị IoT cân nhắc từ pin đến mạng lưới

  • Khả năng giao tiếp kết nối ESP32 với các dịch vụ Internet

  • Các dịch vụ và chức năng bảo trì cần thiết cho sản phẩm IoT thực tế

  • Từ Bluetooth BLE Server đến Client

Phát triển IoT với ESP32,

Từ Wi-Fi đến Bluetooth BLE

Phát triển thực tiễn ESP32, Wi-Fi và Bluetooth với FreeRTOS

Nếu bạn đã học cách điều khiển GPIO của ESP32 và sử dụng FreeRTOS,
giờ là lúc phát triển ESP32 thành một thiết bị IoT thực sự kết nối với thế giới bên ngoài.

Ứng dụng phát triển IoT với ESP32

Bạn sẽ trải nghiệm quá trình tạo ra một thiết bị IoT có thể sử dụng trong thực tế.

Khóa học này là khóa học ứng dụng thực tiễn, trong đó học viên đã nắm được các chức năng cơ bản của ESP32 sẽ lần lượt triển khai các tính năng cần thiết để thiết bị hoạt động như một thiết bị IoT thực tế theo quy trình tiêu thụ điện năng thấp → Wi-Fi → Internet → Web → MQTT → OTA → BLE.

Phát triển ESP32,

Hoàn thiện bằng mạng và giao tiếp không dây

Khóa học này không tập trung vào việc đơn giản làm theo cách sử dụng API hay mã ví dụ.
"Phải quản lý kết nối Wi-Fi như thế nào",
"Phải xử lý thế nào nếu dữ liệu phản hồi HTTP không được truyền đến trong một lần",
"Khi nào nên sử dụng máy chủ web và WebSocket",
"Tại sao MQTT Retain và Last Will lại cần thiết",
"Phải quản lý firmware như thế nào trong quá trình cập nhật OTA",
"Trong BLE, GAP và GATT lần lượt đảm nhiệm vai trò gì "v.v.
Chúng tôi xây dựng khóa học với trọng tâm là vì sao từng công nghệ cần thiết và nên được triển khai theo cấu trúc nào.

Phần 1 - Chế độ năng lượng thấp và Sleep

Hiểu cách thức hoạt động và sự khác biệt giữa Light Sleep và Deep Sleep trên ESP32, đồng thời thực hành nhiều phương pháp đánh thức khác nhau bằng Timer, GPIO, EXT0 và EXT1. Tìm hiểu cả Hibernation để học các phương pháp thiết kế tiết kiệm năng lượng dành cho thiết bị IoT sử dụng pin.

Phần 2 - Kết nối và quản lý mạng Wi-Fi

Hiểu cấu trúc cơ bản và các phương thức kết nối Wi-Fi của ESP32, đồng thời thực hành giao tiếp Internet và các chức năng mạng bằng HTTP Client, NTP Client và Wi-Fi Scanner. Trong ESP-IDF, triển khai cấu hình chế độ Station/AP, xử lý lỗi kết nối, kết nối lại và sự kiện, qua đó học cấu trúc giao tiếp Wi-Fi cần thiết cho các ứng dụng IoT thực tế.

Phần 3 - Giao tiếp REST API và HTTP/HTTPS

Tìm hiểu cấu trúc cơ bản của HTTP và REST API trên ESP32, đồng thời thực hành cách xử lý giao tiếp GET·HTTPS, dữ liệu Chunked và JSON dung lượng lớn. Bạn sẽ trực tiếp tạo dữ liệu JSON để gửi đến máy chủ bên ngoài, triển khai ví dụ gửi email và học toàn bộ quy trình sử dụng Web API trên ESP32.

Phần 4 - Web Server và WebSocket trên ESP32

Thiết lập HTTP Server và mDNS trên ESP32, điều khiển thiết bị từ web thông qua các yêu cầu POST, đồng thời tìm hiểu cấu trúc yêu cầu và phản hồi giữa Client và Server. Sau đó, triển khai WebSocket Server để thực hành mô hình giao tiếp hai chiều theo thời gian thực, trong đó trình duyệt web và ESP32 duy trì kết nối liên tục để trao đổi dữ liệu.

Phần 5 - Lưu trữ website trên ESP32

Triển khai cấu trúc Web Server để lưu trữ và cung cấp các trang web cùng nhiều tài nguyên web khác trên ESP32, đồng thời tìm hiểu cách xử lý tệp web bằng Wildcard URL và MIME Type. Phát triển giao diện người dùng bằng React và cung cấp trực tiếp từ ESP32, thực hành cách cung cấp Web UI để thiết lập và điều khiển thiết bị mà không cần máy chủ riêng.

Phần 6 - Nhắn tin IoT bằng MQTT

Tìm hiểu cấu trúc Broker, Client, Topic, Publish và Subscribe của MQTT, đồng thời thực hành cách kết nối ESP32 với Broker để gửi và nhận tin nhắn. Ngoài ra, sử dụng Retain Message và LWT để học về cấu trúc nhắn tin IoT thực tế cần thiết cho việc truyền dữ liệu cảm biến và quản lý trạng thái thiết bị.

Phần 7 - Cập nhật firmware từ xa bằng OTA

Hiểu cấu trúc cơ bản của OTA và quy trình cập nhật firmware qua mạng, đồng thời thực hành cách sử dụng Google Drive để tải xuống và áp dụng firmware mới. Ngoài ra, từng bước triển khai quy trình quản lý và so sánh phiên bản firmware, tải xuống, xác minh và áp dụng, qua đó học cách quản lý firmware từ xa cho các thiết bị IoT thực tế.

Phần 8 - Bluetooth BLE và NimBLE

Từ sự khác biệt giữa Bluetooth Classic và BLE, bạn sẽ hiểu về BLE Stack, Advertising, GAP và cấu trúc GATT, đồng thời trực tiếp triển khai các chức năng Read, Write và Notify. Ngoài ra, bạn sẽ cấu hình ESP32 lần lượt với vai trò BLE Peripheral và Client để tìm kiếm, kết nối với các thiết bị lân cận, khám phá Service và Characteristic, cũng như học toàn bộ quy trình giao tiếp BLE để trao đổi dữ liệu.

Những gì bạn sẽ đạt được sau khi tham gia khóa học này

Điểm 1. Thiết kế kiến trúc IoT

Bạn có thể hiểu sự khác biệt giữa Light Sleep và Deep Sleep, đồng thời sử dụng các nguồn đánh thức như Timer, GPIO, EXT0, EXT1.

Bằng cách bổ sung kết nối Wi-Fi và quản lý trạng thái kết nối, bạn có thể thiết kế cấu trúc thiết bị IoT đồng thời cân nhắc mức tiêu thụ điện năng và trạng thái mạng, thay vì chỉ là một bo mạch phát triển luôn bật.

Point 2. Giao tiếp giữa ESP32 và dịch vụ Internet

Có thể triển khai để ESP32 trao đổi dữ liệu với máy chủ bên ngoài bằng HTTP, HTTPS, REST API và JSON.

Bạn sẽ hiểu cấu trúc giao tiếp giữa Device ↔ Server ↔ Web Browser khi cấu hình ESP32 không chỉ truy cập các dịch vụ bên ngoài với tư cách Client mà còn hoạt động như HTTP Server và WebSocket Server.

Điểm 3. Các dịch vụ và chức năng cần thiết cho sản phẩm IoT

Bạn có thể triển khai cấu trúc trong đó ESP32 trực tiếp cung cấp website và sử dụng MQTT để Publish/Subscribe dữ liệu.

Ngoài ra, bạn sẽ học cách cập nhật firmware của ESP32 được triển khai thông qua OTA qua mạng và quản lý Version.

Vượt qua giai đoạn phát triển viết chương trình và tải lên bằng USB, bạn sẽ tích lũy kinh nghiệm tạo ra các thiết bị IoT có thể quản lý ngay cả sau khi lắp đặt.

Điểm 4. Từ Bluetooth BLE Server đến Client

Bạn có thể hiểu cấu trúc Advertising, GAP và GATT của BLE, đồng thời trực tiếp triển khai các chức năng Beacon, GATT Read/Write, Battery Service và Notify.

Bằng cách cấu hình ESP32 không chỉ làm BLE Peripheral mà còn làm Client, bạn sẽ trải nghiệm toàn bộ luồng giao tiếp từ việc tìm kiếm, kết nối các thiết bị lân cận đến khám phá Service và Characteristic.

Qua đó, bạn có thể trực tiếp thiết kế chức năng giao tiếp giữa ESP32 và điện thoại thông minh hoặc các thiết bị BLE khác.

Bạn đã nắm được các chức năng cơ bản của ESP32,

Bạn cảm thấy bối rối không biết phải tạo ra một dịch vụ IoT thực tế như thế nào sao?

✔️ Dành cho những ai đã hoàn thành việc học cơ bản về ESP32 và muốn chuyển sang giai đoạn ứng dụng

  • Dành cho những ai có thể tạo và tải dự án lên trong ESP-IDF nhưng vẫn băn khoăn không biết nên học gì tiếp theo

  • Dành cho những ai muốn vượt qua GPIO và FreeRTOS để tận dụng Wi-Fi và Bluetooth

  • Dành cho những ai đang tìm kiếm lộ trình học tập sau khóa học cơ bản về phát triển IoT với ESP32

✔️ Các nhà phát triển muốn nâng cao năng lực phát triển hệ thống nhúng dựa trên mạng

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

  • Dành cho những ai muốn hiểu cấu trúc trao đổi dữ liệu giữa Embedded Device và Server

  • Những người muốn học không chỉ cách kết nối Wi-Fi mà còn cả xử lý lỗi và quản lý kết nối

✔️ Những maker và kỹ sư muốn tạo ra các nguyên mẫu và sản phẩm IoT thực tế

  • Dành cho những ai muốn cung cấp giao diện thiết lập hoặc điều khiển dựa trên web trên ESP32

  • Những người muốn truyền dữ liệu cảm biến và thiết bị bằng MQTT

  • Những người muốn cập nhật firmware của thiết bị đã được lắp đặt tại hiện trường bằng OTA

  • Dành cho những ai muốn phát triển sản phẩm giao tiếp với điện thoại thông minh hoặc các thiết bị BLE khác

Hãy mở rộng từ ESP32 chỉ điều khiển cảm biến thành một thiết bị IoT kết nối với Internet và điện thoại thông minh.

Trực tiếp triển khai các kỹ thuật ứng dụng trong phát triển IoT với ESP32, từ Wi-Fi đến Bluetooth BLE.

Lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Khóa học được tiến hành trên hệ điều hành Windows.

  • Cần có môi trường phát triển ESP-IDF và VS Code.

  • Cần ít nhất 1 bo mạch phát triển ESP32.

  • Cần có môi trường Internet có thể kết nối Wi-Fi.

  • Để thực hành BLE, cần có điện thoại thông minh hoặc PC hỗ trợ Bluetooth BLE.

  • Trong các buổi thực hành Web và React, bạn sẽ sử dụng trình duyệt web và môi trường phát triển liên quan.

  • Trong phần thực hành OTA, Google Drive được sử dụng để lưu trữ và tải xuống firmware.

Kiến thức nền tảng và những điều cần lưu ý

  • Bạn cần hiểu các cú pháp cơ bản của ngôn ngữ C.

  • Biết cách tạo, build và flash dự án ESP-IDF sẽ rất hữu ích.

  • Sẽ hữu ích nếu bạn hiểu cấu trúc chương trình cơ bản của ESP32, chẳng hạn như Task của FreeRTOS.

  • Bạn nên biết các khái niệm mạng cơ bản như HTTP, IP, Client/Server, nhưng


    Các khái niệm cần thiết sẽ được giải thích trong khóa học.

  • Nếu đã học trước khóa “Cơ bản phát triển IoT với ESP32 - từ phần cứng đến FreeRTOS” hoặc
    có kinh nghiệm phát triển ESP32 tương đương, bạn sẽ có thể học thuận lợi nhất.

Tài liệu học tập

  • Cung cấp mã nguồn dự án thực hành ESP-IDF được sử dụng trong khóa học.

  • Để hiểu từng công nghệ, chúng tôi sử dụng tài liệu cùng với các tài liệu về giao thức liên quan.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Dành cho những ai đã hoàn thành việc học cơ bản về ESP32 và muốn chuyển sang giai đoạn ứng dụng.

  • Nhà phát triển muốn nâng cao năng lực phát triển hệ thống nhúng dựa trên mạng lưới

  • Nhà phát triển tiến hành dự án phát triển dựa trên môi trường ESP-IDF và FreeRTOS

  • Những maker và kỹ sư muốn tạo ra các nguyên mẫu và sản phẩm IoT thực tế

Cần biết trước khi bắt đầu?

  • Cú pháp ngôn ngữ C

  • Kinh nghiệm với ESP-IDF

  • Khái niệm FreeRTOS

  • Khái niệm mạng lưới

  • Nếu bạn đã học trước khóa “Cơ bản về phát triển IoT với ESP32 - từ phần cứng đến FreeRTOS” hoặc có kinh nghiệm phát triển ESP32 tương đương, bạn sẽ có thể học một cách thuận lợi nhất.

Xin chào
Đây là yongjunmoon

Xác minh sự nghiệp

26

Học viên

3

Đánh giá

4

Trả lời

5.0

Xếp hạng

2

Các khóa học

Xin chào, tôi là Moon Yong-jun.
Hiện tại, tôi đang làm việc tại Microsoft với vai trò Technical Support Engineer, phụ trách hỗ trợ kỹ thuật trong lĩnh vực Modern Work cho Microsoft 365, OneDrive, SharePoint, Copilot, Office và các sản phẩm khác. Kể từ khi gia nhập công ty vào năm 2022, tôi đã tích lũy kinh nghiệm giải quyết các vấn đề kỹ thuật trên nhiều lĩnh vực, bao gồm ứng dụng web IIS, trình duyệt Edge và dịch vụ đám mây Azure Bot.

Trước khi gia nhập Microsoft, tôi đã làm việc với tư cách là kỹ sư nhúng·IoT, tích lũy kinh nghiệm về firmware cho nhiều thiết bị, giao tiếp BLE, phát triển GUI và quản lý kỹ thuật dự án. Ngoài ra, tôi từng hoạt động với vai trò huấn luyện viên dự án mảng IoT tại Elice, hướng dẫn học viên lập trình thiết bị và thực hiện các dự án C nhúng.

Đặc biệt, dựa trên phạm vi kỹ thuật rộng từ thiết kế firmware (nRF52, ESP32, v.v.), quản lý dự án IoT đến hỗ trợ kỹ thuật M365, tôi hướng đến việc truyền đạt cân bằng giữa lý thuyết và thực tiễn thông qua các bài giảng.

Bài giảng của tôi không chỉ dừng lại ở việc giải thích các chức năng mà tập trung vào việc cung cấp kiến thức thiết thực giúp bạn giải quyết những vấn đề gặp phải trong công việc và dự án thực tế.

Tôi muốn cùng các bạn phát triển và chia sẻ niềm vui học hỏi, ứng dụng những công nghệ mới.

Yong Jun Moon | LinkedIn

Thêm

Chương trình giảng dạy

Tất cả

80 bài giảng ∙ (13giờ 34phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

278.850 ₫

35%

8.879.888 ₫