Cùng với sự phát triển không ngừng của công nghệ và đặc biệt là xu thế vạn vận kết nối Internet, ngày càng nhiều thiết bị nhúng kết nối vào Internet được sử dụng khắp nơi trên thế giới trong rất nhiều lĩnh vực khác nhau. Dưới áp lực của sự phát triển, các thiết bị sau khi đưa vào sử dụng thì mới phát hiện các lỗi hay cần nâng cấp thêm để bổ sung, tối ưu các tính năng. Trong đó, nhiều thiết bị được lắp đặt sử dụng tại những nơi mà con người hay đội ngũ kỹ thuật khó có thể tiếp cận được, điều nay dẫn đến những khó khăn trong quá trình thay đổi chương trình chạy trên thiết bị.
Trong chuỗi bài viết này nhóm nghiên cứu sẽ chia sẻ các yếu tố kỹ thuật liên quan đến quá trình cập nhật từ xa cho thiết bị nhúng. Từ đó, thực nghiệm cập nhật chương trình từ xa, xây dựng thử nghiệm và đánh giá thư viện chương trình cập nhật từ xa trên mô hình cụ thể.
Thư viện và phương pháp đề xuất có độ tin cậy cao, ít chiếm dụng bộ nhớ và thời gian thực hiện cập nhật chương trình nhanh. Cấu trúc thư viện được thiết kế cho phép dễ dàng kế thừa, áp dụng cho nhiều hệ thống nhúng có kết nối Internet được thiết kế dựa trên nền tảng vi xử lý ARM Cortex –M để thực hiện việc cập nhật chương trình nhằm vá lỗi, nâng cấp, tối ưu các tính năng của một hệ thống từ xa, trong một thời gian ngắn mà không cần can thiệp trực tiếp vào thiết bị.
Chân thành gửi lời cảm ơn đến các thành viên Trần Thụy Ngọc Hằng, Nguyễn Hoàng Phương Trinh, Ngô Thanh Liêm, Nguyễn Thùy Nhiên, Đậu Đức Thắng, Ngô Hữu Hoàng Việt, Nguyễn Phi Hoàng Phúc, Trịnh Vĩnh Trường tại Cộng đồng Kỹ thuật TAPIT đã tham gia đóng góp vào nghiên cứu này!
Mục đích nghiên cứu
- Cung cấp nền tảng cơ sở khoa học kỹ thuật về cập nhật chương trình từ xa cho các thiết bị nhúng có kết nối Internet với các yếu tố: Cấu trúc tập tin chương trình, tổ chức bộ nhớ, giao thức truyền nhận dữ liệu, tính toàn vẹn dữ liệu và quy trình khởi động thiết bị nhúng.
- Đề xuất phương pháp cập chương trình từ xa, xây dựng thử nghiệm và đánh giá thư viện chương trình cập nhật từ xa trên mô hình cụ thể.
Đối tượng nghiên cứu
- Vi xử lý ARM Cortex – M
- Vi điều khiển STM32
- Mạng thông tin máy tính với các giao thức Internet HTTP, FTP
- Kỹ thuật phát hiện lỗi trong truyền nhận dữ liệu.
TỔNG QUAN VỀ CẬP NHẬT CHƯƠNG TRÌNH TỪ XA
Trong phần này sẽ trình bày về ứng dụng của cập nhật chương trình từ xa, mô hình cập nhật chương trình từ xa gồm thiết bị nhúng, chương trình chạy trên thiết bị nhúng, máy chủ quản lý tập tin chương trình và quá trình cập nhật chương trình từ xa.
- Tính cấp thiết của đề tài và Ứng dụng của Cập nhật chương trình từ xa
- Mô hình cập nhật chương trình từ xa và quá trình cập nhật
NỀN TẢNG PHẦN CỨNG CẬP NHẬT CHƯƠNG TRÌNH TỪ XA
Phần này sẽ trình bày về tổng quan về phần cứng, tổ chức bộ nhớ của vi điều khiển và cấu trúc chương trình, bộ xử lý trung tâm ARM Cortex – M, quá trình khởi động của vi điều khiển và module truyền nhận dữ liệu 3G/4G.
- Tổng quan về phần cứng thực hiện thí nghiệm
- Tổ chức bộ nhớ vi điều khiển
- Cấu trúc tập tin chương trình
- Cấu trúc chương trình trong bộ nhớ
- Bộ xử lý trung tâm ARM Cortex M
- Quá trình khởi động của vi điều khiển
- Module truyền nhận dữ liệu 4G
ĐỀ XUẤT PHƯƠNG PHÁP VÀ XÂY DỰNG THƯ VIỆN CẬP NHẬT CHƯƠNG TRÌNH TỪ XA
Phần này đề xuất phương pháp cập nhật chương trình từ xa, xây dựng thư viện cập nhật chương trình từ xa với các thuật toán nhận, kiểm tra lỗi tập tin chương trình, thuật toán ghi tập tin vào bộ nhớ và thuật toán khởi động lại vi điều khiển
- Phương pháp cập nhật chương trình từ xa
- Thuật toán kết nối thiết bị với máy chủ
- Thuật toán tải tập tin chương trình ghi chương trình vào bộ nhớ
- Thuật toán kiểm tra lỗi tập tin
- Thuật toán khởi động lại vi điều khiển
KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ HIỆU QUẢ
Phần này nêu lên các kết quả thực hiện được của đề tài và đánh giá hiệu quả dựa trên các tiêu chí về chiếm tài nguyên bộ nhớ khi triển khai tính năng OTA, tỉ lệ thành công khi thực hiện OTA, độ tin cậy khi thự hiện OTA và thời gian thời gian thực hiện quá trình OTA.
- Các kết quả của nghiên cứu
- Đánh giá hiệu quả về chiếm chụng tài nguyên bộ nhớ
- Đánh giá kết quả về độ tin cậy, tỉ lệ cập nhật thành công
- Đánh giá về thời gian cập nhật chương trình
KẾT LUẬN VÀ MỘT SỐ HƯỚNG PHÁT TRIỂN
Chúc các bạn thành công!
Thay mặt nhóm Nghiên cứu
Thuong Nguyen
Tìm hiểu thêm:
Xem thêm Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32 tại đây.
Xem thêm Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32 tại đây.