Tin mới nhất

Menu

Browsing "Older Posts"

Bài Viết Về Chủ Đề " FreeRTOS "

Chia Sẻ Khóa Học IoT Application Development Với ESP32 Sử Dụng ESP-IDF [Update Tháng 1-2024] [Khóa 6735 A]

13 tháng 4 2024 / No Comments

Phát triển một ứng dụng dựa trên WiFi trên ESP32 và Subscribe/Publish MQTT Messages lên AWS IoT bằng ESP-IDF & FreeRTOS.

Bạn sẽ học được gì:

  • ✓ Cách phát triển các ứng dụng dựa trên WiFi trên ESP32 bằng ESP-IDF.
  • ✓ Tích hợp Components & Sensors Library, cho phép tích hợp dễ dàng các cảm biến và các thành phần khác vào dự án của bạn.
  • ✓ Định cấu hình ESP AWS IoT trên ESP32 để kích hoạt kết nối AWS IoT cloud.
  • ✓ Publish/subscribe AWS IoT Core MQTT messages và test bằng MQTT test client.
  • ✓ Thiết lập nhanh chóng và dễ dàng các dự án ESP-IDF (Espressif IoT Development Framework) bằng cách sử dụng IDE Espressif dựa trên Eclipse.
  • ✓ Phát triển các ứng dụng modular, có thể mở rộng trên ESP32 bằng ESP-IDF.
  • ✓ Phát triển một ứng dụng với WiFi, HTTP server, Web Page, Non-Volatile Storage, OTA Firmware Updates, SNTP Time Synchronization, RGB LED, Button với Interrupt.
  • ✓ Sử dụng FreeRTOS để quản lý tác vụ và giao tiếp giữa các intertask.
  • ✓ Cách build, flash và monitor tất cả ứng dụng bên trong phiên bản IDF của Eclipse.
  • ✓ Cách phát triển một trang web đơn giản để hiển thị dữ liệu, kết nối ESP32 với một access point, ngắt kết nối ESP32, upload firmware mới (OTA update) và hơn thế nữa.
  • ✓ Bạn sẽ tìm hiểu cách sử dụng các FreeRTOS primitive, chẳng hạn như message queues, event groups, và semaphores.
  • ✓ Tìm hiểu cách phát triển và mở rộng một trang web bằng HTML, JavaScript và CSS, đồng thời phát triển một HTTP server để hỗ trợ chức năng của trang web.
  • ✓ Đến cuối khóa học, bạn sẽ cảm thấy tự tin khi phát triển một ứng dụng dựa trên WiFi có thể mở rộng bằng cách sử dụng ESP-IDF.

Mô tả chung & Thông tin cơ bản:

Trong khóa học này, chúng ta sẽ phát triển một ứng dụng dựa trên WiFi giàu tính năng bằng cách sử dụng ESP-IDF (Espressif IoT Development Framework), Tích hợp ESP-IDF Components & Sensors Library và cấu hình ESP32 để kết nối với AWS IoT và Publish/Subscribe messages qua AWS IoT Core sử dụng giao thức MQTT.

WiFi thường được tích hợp vào nhiều giải pháp IoT và IoT công nghiệp, đồng thời là nền tảng của ứng dụng được phát triển trong khóa học này cho phép kết nối AWS IoT cloud (hoặc bất kỳ cloud framework tương thích nào mà bạn chọn).

ESP32 là một dòng vi điều khiển SoC (system on chip) chi phí thấp, công suất thấp với Wi-Fi tích hợp và dual-mode Bluetooth. ESP-IDF là IoT Development Framework chính thức của Espressif dành cho ESP32. Nó cung cấp một SDK (software development kit) tự cung cấp cho mọi hoạt động phát triển ứng dụng chung, sử dụng các ngôn ngữ lập trình như C và C++. ESP-IDF hiện cung cấp năng lượng cho hàng triệu thiết bị trong lĩnh vực này và cho phép xây dựng nhiều sản phẩm được kết nối mạng khác nhau, từ bóng đèn và đồ chơi đơn giản đến các thiết bị lớn và thiết bị công nghiệp.

ESP-IDF chạy FreeRTOS, được sử dụng rộng rãi trong các hệ thống nhúng, vì vậy, các kỹ thuật và kiến ​​thức bạn thu được khi phát triển các ứng dụng dựa trên IDF cho ESP32 sẽ được áp dụng tốt nếu bạn sử dụng các MCU khác chạy FreeRTOS. Ngoài ra, nhân FreeRTOS của ESP-IDF đã được sửa đổi để hỗ trợ đa lõi và chúng ta sẽ sử dụng cả hai core của ESP32 trong khóa học này.

Nếu bạn quan tâm đến việc làm việc với ESP32 và nghiêm túc trong việc cải thiện kỹ năng embedded software development của mình đồng thời tìm hiểu về SoC đáng kinh ngạc này, thì việc khai thác trực tiếp các khả năng của ESP-IDF là một cách tuyệt vời.

IDF được thiết kế tốt và khi bạn bắt đầu sử dụng, việc triển khai các tính năng mới sẽ trở nên dễ dàng. Hơn nữa, mọi bản cập nhật mới, bản sửa lỗi hoặc thay đổi đối với ESP-IDF đều có thể được cung cấp ngay cho bạn một cách linh hoạt mà không cần phải đợi Arduino port được ghi.

Giới thiệu về khóa học:

Đối với nhiều người, cách học tốt nhất là bắt đầu với một dự án, đó là lý do tại sao trong khóa học này, tôi đã tạo một ứng dụng dựa trên WiFi mạnh mẽ có khả năng kết nối với một cloud framework (trong trường hợp này là AWS IoT), như một công cụ học tập - trái ngược với việc trình bày các ví dụ nhỏ mà bạn có thể dễ dàng tìm thấy trên mạng.

Kết quả mong muốn của khóa học này là bạn trở nên thoải mái khi phát triển các ứng dụng bằng cách sử dụng ESP-IDF, hiểu rõ hơn về code ứng dụng, nguồn cảm hứng cho các dự án của riêng bạn và cuối cùng là giúp bạn tiết kiệm thời gian học cách sử dụng các thành phần khác nhau của ESP-IDF.

Bằng cách thực hiện dự án này, lập trình từng bước qua từng bài học, tôi tin chắc rằng bạn sẽ cảm thấy thoải mái khi phát triển một ứng dụng dựa trên WiFi có thể mở rộng và tích hợp một cloud framework bằng ESP-IDF hoặc bất kỳ ứng dụng nào sử dụng ESP-IDF, vì bạn sẽ thấy rõ cách tạo một kế hoạch hành động khi sử dụng IoT Development Framework của Espressif -> sử dụng Espressif documentation, tra cứu API reference và các chức năng liên quan cũng như áp dụng những gì hợp lý để hoàn thành mục tiêu của bạn.

Hơn nữa, trong khóa học này, chúng ta sẽ không tập trung vào lý thuyết vì đây là khóa học lập trình ứng dụng thực tế, nơi bạn học bằng cách thực hành. Tuy nhiên, tôi sẽ trình bày ngắn gọn thông tin cơ bản về giao diện lập trình ứng dụng ESP-IDF áp dụng cho từng phần và tổng quan ngắn gọn về các yêu cầu ứng dụng cho từng phần. Những phần tổng quan này sẽ mô tả những gì sẽ được hoàn thành và cách chúng ta sẽ hoàn thành nó bằng cách sử dụng ESP-IDF.

Cuối cùng, tôi đã chọn phát triển dự án này bằng cách sử dụng ESP-IDF Eclipse Plugin (hoặc Espressif IDE), có sẵn cho Windows, MacOS và Linux, đồng thời cung cấp bản cài đặt tất cả trong một bao gồm IDE Eclipse và tất cả điều kiện tiên quyết cần thiết cho ESP32 development; cho phép chúng ta bắt đầu lập trình, flash và giám sát ESP32 trực tiếp sau khi cài đặt. Quá trình thiết lập khá dễ dàng và hiệu quả, đặc biệt đối với người dùng Windows... !

Những điểm nổi bật đáng chú ý khác:

  • ✓ Sử dụng Modular programming style.
  • ✓ Sử dụng cả hai lõi của ESP32 và tạo các task bằng xTaskCreatePinnedToCore.
  • ✓ Sử dụng FreeRTOS message queues để giao tiếp giữa các task.
  • ✓ Và, FreeRTOS binary semaphore cho signalization từ một interrupt service routine (ISR).
  • ✓ State machine trong ứng dụng WiFi cho phép phát triển và tùy chỉnh trong tương lai.
  • ✓ Sử dụng Non-Volatile storage để lưu và tải thông tin đăng nhập WiFi để kết nối ESP32.
  • ✓ Tìm hiểu quy trình làm việc hiệu quả để phát triển một HTTP server và web page.
  • ✓ Tìm hiểu cách triển khai một OTA (over the air) firmware update qua mạng WLAN bằng cách gửi update file qua một web page tới ESP32.
  • ✓ Tìm hiểu cách tích hợp một cloud framework - chúng ta sẽ tích hợp ESP AWS IoT framework để cho phép giao tiếp với AWS IoT Core.
  • ✓ Tìm hiểu cách publish data (ví dụ: nhiệt độ, độ ẩm và WiFi RSSI ) từ ESP32 lên AWS IoT bằng giao thức MQTT.
  • ✓ Tìm hiểu cách subscribe & publish data đến và từ AWS Dashboard.
  • ✓ Tìm hiểu cách tích hợp ESP-IDF Components & Sensors Library.

Phần cứng:

  • ✓ ESP32 DevKit.
  • ✓ RGB LED và Resistor.
  • ✓ Cảm biến DHT22 hoặc bất kỳ cảm biến nào từ ESP-IDF Components & Sensors Library.
  • ✓ Jumper Wires.
  • ✓ Breadboard.

Phần mềm:

  • ✓ Eclipse ESP-IDF (Espressif IDE).

Chúng tôi sẽ sử dụng Google Chrome để testing chức năng của trang web.

Mục lục:

  • ✓ 01 - Giới thiệu.
  • ✓ 02 - Phần cứng Espressif: ESP32 DevKits.
  • ✓ 03 - Development Environment Setup, và Tổng quan về ESP-IDF Build System & CMake .
  • ✓ 04 - Bài học bổ sung.
  • ✓ 05 - Components & Sensors Library (Tùy chọn).
  • ✓ 06 - Source Code khóa học.
  • ✓ 07 - RGB Application Status LED.
  • ✓ 08 - WiFi Application.
  • ✓ 09 - HTTP Server.
  • ✓ 10 - OTA Firmware Update.
  • ✓ 11 - DHT22 Sensor.
  • ✓ 12 - WiFi Connect Implementation.
  • ✓ 13 - Hiển thị thông tin kết nối WiFi trên trang Web.
  • ✓ 14 - WiFi Disconnect Button.
  • ✓ 15 - Non-Volatile Storage (NVS).
  • ✓ 16 - Button với Interrupt & Semaphore.
  • ✓ 17 - SNTP Time Synchronization.
  • ✓ 18 - 18 - Hiển thị Access Point SSID của ESP32 trên trang web.
  • ✓ 19 - AWS IoT.

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

  • ✓ Bất kỳ ai có kinh nghiệm về ngôn ngữ C quan tâm đến việc phát triển ứng dụng trên ESP32.
  • ✓ Các chuyên gia quan tâm đến việc bắt đầu embedded software development trên ESP32.
  • ✓ Những người có sở thích muốn nâng cao kỹ năng phát triển của mình bằng cách chuyển sang lập trình ESP32 sử dụng Arduino bằng ESP-IDF.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.