HOANLK
  • Login
  • Register
Cart / 0₫

Chưa có sản phẩm trong giỏ hàng.

No Result
View All Result
HOANLK
No Result
View All Result
OTA

ESP32: Cập nhật chương trình OTA

by hoanlk
11/08/2023
in IOT, ESP

ESP32 là một bộ vi điều khiển có khả năng thực hiện cập nhật qua mạng (OTA). Các bản cập nhật OTA cho phép bạn cập nhật chương trình cơ sở của ESP32 không dây mà không cần kết nối vật lý với máy tính.

Cập nhật OTA là gì?

Over-the-air (OTA) cập nhật đề cập đến quá trình cập nhật chương trình cơ sở hoặc phần mềm của thiết bị không dây mà không cần kết nối vật lý với máy tính. Các bản cập nhật OTA rất hữu ích vì chúng cho phép bạn cập nhật thiết bị từ xa, đồng thời có thể tiết kiệm thời gian và công sức bằng cách loại bỏ nhu cầu truy cập vật lý vào thiết bị để thực hiện cập nhật.

Các bản cập nhật OTA thường được sử dụng cho các thiết bị được cài đặt ở những vị trí khó tiếp cận hoặc cần được cập nhật thường xuyên, chẳng hạn như thiết bị Internet of Things (IoT).

Method 1: ArduinoOTA Library

Để thực hiện cập nhật OTA, bạn sẽ cần thiết lập một máy chủ web phục vụ tệp cập nhật chương trình cơ sở và định cấu hình ESP32 để kết nối với máy chủ này và tải xuống tệp cập nhật. Sau đó, bạn có thể sử dụng thư viện ArduinoOTA để thực hiện cập nhật.

Ví dụ

Dưới đây là một ví dụ về mã minh họa cách thiết lập các bản cập nhật OTA trên ESP32 bằng thư viện ArduinoOTA:

  1. Trước tiên, bạn sẽ cần đưa các thư viện ArduinoOTA và WiFi vào đầu project của mình:

#include <ArduinoOTA.h>

#include <WiFi.h>

  1. Tiếp theo, thiết lập kết nối WiFi bằng cách gọi hàm WiFi.begin() và nhập tên và mật khẩu mạng WiFi của bạn:

const char* ssid = “your_wifi_name”;

const char* password = “your_wifi_password”;

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“.”);

}

  1. Khởi tạo thư viện ArduinoOTA bằng cách gọi hàm ArduinoOTA.begin():

ArduinoOTA.begin();

  1. Đặt tên máy chủ và mật khẩu cho bản cập nhật OTA bằng các hàm ArduinoOTA.setHostname() và ArduinoOTA.setPassword():

ArduinoOTA.setHostname(“esp32-ota”);

ArduinoOTA.setPassword(“password”);

  1. Thiết lập chức năng để xử lý các yêu cầu cập nhật OTA đến bằng chức năng ArduinoOTA.onStart():

void handleOTAStart() {

// Perform any necessary tasks before the update begins, such as saving data or closing file handles

Serial.println(“OTA update starting…”);

}

ArduinoOTA.onStart(handleOTAStart);

  1. Thiết lập một hàm để xử lý tiến trình cập nhật OTA bằng hàm ArduinoOTA.onProgress():

void handleOTAProgress(unsigned int progress, unsigned int total) {

// Display the progress of the update to the user

Serial.printf(“Progress: %u%%\r”, (progress / (total / 100)));

}

ArduinoOTA.onProgress(handleOTAProgress);

  1. Thiết lập một chức năng để xử lý việc hoàn thành cập nhật OTA bằng chức năng ArduinoOTA.onEnd():

void handleOTAEnd() {

// Perform any necessary tasks after the update is complete, such as restarting the ESP32

Serial.println(“\nOTA update complete!”);

ESP.restart();

}

ArduinoOTA.onEnd(handleOTAEnd);

  1. Cuối cùng, gọi hàm ArduinoOTA.handle() trong vòng lặp chính của chương trình để lắng nghe và xử lý các yêu cầu cập nhật OTA:

void loop() {

ArduinoOTA.handle();

// Your other code goes here

}

Đó là nó! Với các bước này, giờ đây bạn có thể thực hiện cập nhật OTA trên ESP32 của mình. Hãy nhớ kiểm tra kỹ các bản cập nhật OTA của bạn trước khi triển khai chúng cho các thiết bị sản xuất.

Full Code ESP32

#include <ArduinoOTA.h>

#include <WiFi.h>

const char* ssid = “your_wifi_name”;

const char* password = “your_wifi_password”;

void handleOTAStart() {

// Perform any necessary tasks before the update begins, such as saving data or closing file handles

Serial.println(“OTA update starting…”);

}

void handleOTAProgress(unsigned int progress, unsigned int total) {

// Display the progress of the update to the user

Serial.printf(“Progress: %u%%\r”, (progress / (total / 100)));

}

void handleOTAEnd() {

// Perform any necessary tasks after the update is complete, such as restarting the ESP32

Serial.println(“\nOTA update complete!”);

ESP.restart();

}

void setup() {

Serial.begin(115200);

// Connect to WiFi

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“.”);

}

// Initialize OTA

ArduinoOTA.begin();

ArduinoOTA.setHostname(“esp32-ota”);

ArduinoOTA.setPassword(“password”);

// Set up OTA event handlers

ArduinoOTA.onStart(handleOTAStart);

ArduinoOTA.onProgress(handleOTAProgress);

ArduinoOTA.onEnd(handleOTAEnd);

}

void loop() {

ArduinoOTA.handle();

// Your other code goes here

}

Trong mã này, ESP32 kết nối với mạng WiFi được chỉ định và sau đó khởi tạo thư viện ArduinoOTA. Nó đặt tên máy chủ và mật khẩu cho bản cập nhật OTA và đăng ký trình xử lý sự kiện để bắt đầu, tiến trình và kết thúc bản cập nhật. Cuối cùng, hàm ArduinoOTA.handle() được gọi trong vòng lặp chính của chương trình để lắng nghe và xử lý các yêu cầu cập nhật OTA.

Tham khảo: https://diyusthad.com/2022/12/esp32-ota-firmware-update.html

IT

PROFINET

SỰ KHÁC BIỆT GIỮA IT VÀ OT

Share this…
  • Facebook
  • Twitter
  • Linkedin
  • Whatsapp
  • Pinterest
Tags: ESPIOT
hoanlk

hoanlk

Related Posts

Cách sử dụng Modbus TCP/IP ESP8266
IOT

Cách sử dụng Modbus TCP/IP ESP8266

02/09/2023

Việc triển khai giao tiếp Modbus TCP/IP trên mô-đun ESP8266 khá giống với các bước được đề cập trước đó...

Kết Nối Ngành Tự Động Hóa Với HTTP REST API: Tiềm Năng Và Ước Mơ Của Tương Lai Công Nghệ
IT

Kết Nối Ngành Tự Động Hóa Với HTTP REST API: Tiềm Năng Và Ước Mơ Của Tương Lai Công Nghệ

15/08/2023

Ngày nay, ngành tự động hóa đang trở thành một phần không thể thiếu trong mọi lĩnh vực của cuộc...

Trí tuệ Nhân tạo (AI) và Tự động hóa – Cuộc Cách Mạng Công Nghiệp 4.0
IOT

Trí tuệ Nhân tạo (AI) và Tự động hóa – Cuộc Cách Mạng Công Nghiệp 4.0

12/08/2023

Cuộc cách mạng công nghiệp 4.0 đang đưa thế giới vào một giai đoạn mới với sự phát triển đáng...

What is the difference between IT and OT?
IOT

Sự khác biệt giữa IT và OT là gì?

05/07/2023

Sự khác biệt giữa Công nghệ thông tin (IT) và Công nghệ vận hành (OT) là gì? Nói tóm lại,...

IOT : Giới thiệu Internet vạn vật
IOT

IOT : Giới thiệu Internet vạn vật

15/08/2023

Internet vạn vật (IoT) là gì? Thuật ngữ IoT hay Internet vạn vật đề cập đến mạng lưới tập hợp...

Cơ bản MQTT Broker với C#
C-Sharp

Cơ bản MQTT Broker với C#

12/08/2023

Bây giờ tôi sẽ chỉ cho bạn cách phát triển MQTT broker đơn giản, có thể chấp nhận tất cả...

Next Post
IOT : Giới thiệu Internet vạn vật

IOT : Giới thiệu Internet vạn vật

What is the difference between IT and OT?

Sự khác biệt giữa IT và OT là gì?

Hướng dẫn lập trình xuất xung tốc độ cao PLC LSIS dòng XGB

Hướng dẫn lập trình xuất xung tốc độ cao PLC LSIS dòng XGB

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

© 2023 HOANLK - Premium theme by HOANLK.

No Result
View All Result

© 2023 HOANLK - Premium theme by HOANLK.

Welcome Back!

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In