Khi ngày càng có nhiều thiết bị IoT hạn chế về tài nguyên được triển khai, các bản cập nhật chương trình cơ sở qua mạng (FOTA) ngày càng trở nên quan trọng. Vì quyền truy cập vật lý thường tốn kém hoặc thậm chí không thể thực hiện được khi vận hành các triển khai lớn ở các địa điểm xa xôi, khó tiếp cận, FOTA cung cấp cách sửa lỗi, vá lỗ hổng bảo mật hoặc thêm chức năng trong suốt vòng đời của thiết bị được kết nối. Nhẹ M2M (LwM2M) xác định chi tiết quy trình cập nhật chương trình cơ sở từ xa. Khi tuân theo các nguyên tắc chuẩn hóa do giao thức cung cấp, việc cập nhật chương trình cơ sở của các thiết bị bị hạn chế tài nguyên từ xa có thể được thực hiện dễ dàng, bất kể thiết bị hoặc nền tảng được sử dụng.
“Khi ngày càng có nhiều thiết bị IoT hạn chế về tài nguyên được triển khai, các bản cập nhật chương trình cơ sở qua mạng (FOTA) ngày càng trở nên quan trọng.“
Cập nhật chương trình cơ sở với LwM2M
Mọi nền tảng hoặc nhà cung cấp thiết bị đều có thể phát triển cơ chế FOTA tùy chỉnh, còn được gọi là FUOTA (Cập nhật chương trình cơ sở OTA) hoặc DFU (Nâng cấp chương trình cơ sở của thiết bị). Vì không có phương pháp thống nhất toàn cầu để cập nhật chương trình cơ sở của thiết bị nên có thể tìm thấy nhiều cách triển khai khác nhau trên thị trường.
Các nhà phát triển nhúng có thể chỉ cần lấy một trong các thư viện có sẵn từ nhà cung cấp phần cứng hoặc nhà cung cấp dịch vụ đám mây cụ thể của họ để quản lý quá trình cập nhật. Tuy nhiên, những triển khai này dành riêng cho nhà cung cấp hoặc nền tảng và không thể dễ dàng chuyển sang các hệ thống khác. Việc áp dụng một nền tảng mới thường có nghĩa là thiết kế lại quy trình FOTA từ đầu.
Vấn đề về khả năng tương thích của nhà cung cấp có thể được giải quyết bằng cách áp dụng tiêu chuẩn LwM2M, tiêu chuẩn này không phụ thuộc vào phần cứng và có thể được triển khai trên bất kỳ nền tảng phần cứng nào. Tiêu chuẩn cung cấp các hướng dẫn rõ ràng về cách thiết bị nên báo cáo dữ liệu của chúng, cách thực hiện cấu hình từ xa bằng lệnh máy chủ và cách thực thi các bản cập nhật chương trình cơ sở, bất kể nhà sản xuất thiết bị, phiên bản chương trình cơ sở hay nền tảng phần cứng được sử dụng.
Quy trình cập nhật chương trình cơ sở
Nói chung, quy trình cập nhật chương trình cơ sở LwM2M bao gồm bốn bước:
- Thiết bị IoT (được gọi là Máy khách LwM2M) được kích hoạt để bắt đầu quá trình cập nhật firmware.
- Máy khách LwM2M tải phần sụn và báo cáo cho Máy chủ LwM2M khi quá trình tải xuống hoàn tất.
- Máy khách LwM2M thực hiện cập nhật firmware sau khi xác thực tính toàn vẹn và tính xác thực của phần sụn mới được thực hiện thông qua một quy trình gọi là khởi động an toàn.
- Khách hàng cố gắng chạy firmware mới và báo cáo trạng thái cho Server. Nếu thành công, thiết bị sẽ bắt đầu chạy chương trình cơ sở mới, nếu gặp lỗi, thiết bị sẽ thực hiện khôi phục về phiên bản chương trình cơ sở trước đó.
Quy trình này được xác định chi tiết trong thông số kỹ thuật của LwM2M (xem Thông số kỹ thuật LwM2M). Để thêm khả năng cập nhật chương trình cơ sở cho thiết bị, Đối tượng cập nhật chương trình cơ sở /5 cần được triển khai có chứa tất cả các chức năng cần thiết để tiến hành cập nhật và báo cáo trạng thái. Một số Máy khách LwM2M vốn hỗ trợ Đối tượng cập nhật chương trình cơ sở này.
Đang tải xuống chương trình cơ sở mới
Thời gian là rất quan trọng khi nói đến cập nhật chương trình cơ sở. Nếu chất lượng tín hiệu vô tuyến kém, việc truyền dữ liệu có thể mất nhiều thời gian do thông lượng thấp do các gói dữ liệu bị mất cần được truyền lại. Vì mô-đun radio của thiết bị phải ở trạng thái được kết nối trong một thời gian dài nên việc tải xuống tệp trong những trường hợp như vậy sẽ dẫn đến hao pin nhanh hơn.
Tiêu chuẩn LwM2M xác định hai phương pháp để thực hiện cập nhật chương trình cơ sở, cho phép Máy chủ hoặc Máy khách quyết định thời điểm tốt nhất để bắt đầu quá trình tải xuống chương trình cơ sở. Hai phương thức là PULL và PUSH:
SỰ LÔI KÉO
Với phương pháp p0ullmột thiết bị sẽ nhận vị trí của tệp sẽ được tải xuống và kéo tệp từ đó. Trong kịch bản PULL, Máy chủ LwM2M cung cấp cho thiết bị địa chỉ của máy chủ chứa tệp chương trình cơ sở được gọi là URI gói. Sau đó, thiết bị sẽ tải xuống phần sụn từ cái gọi là kho phần sụn trong thời gian sớm nhất có thể.
XÔ
Máy chủ LwM2M đẩy tệp chương trình cơ sở vào thiết bị. Trong kịch bản PUSH, Máy chủ LwM2M xác định thời điểm bắt đầu tải xuống chương trình cơ sở, lý tưởng là dựa trên các điều kiện kết nối. Thiết bị phải có quyền truy cập vào thông tin như Cường độ tín hiệu vô tuyến và Chất lượng liên kết để hỗ trợ quá trình ra quyết định phía máy chủ. Các tài nguyên này có sẵn trong Đối tượng giám sát kết nối LwM2M /4.
Đối tượng cập nhật chương trình cơ sở
Quá trình FOTA được xác định trong Đối tượng cập nhật chương trình cơ sở /5. Đối tượng này xác định quá trình cập nhật bằng cách sử dụng bốn tiểu bang(được định nghĩa bởi Resource/5/*/3), cũng như nhiều kết quả cập nhật(được xác định bởi Resource/5/*/5) đại diện cho các kết quả phổ biến nhất của quá trình cập nhật chương trình cơ sở.
Trạng thái đối tượng cập nhật chương trình cơ sở
Trạng thái 0: Nhàn rỗi
Trước khi tải xuống và sau khi cập nhật chương trình cơ sở thành công, thiết bị sẽ báo trạng thái là không hoạt động.
Trạng thái 1: Đang tải xuống
Phần sụn mới đang trên đường từ kho lưu trữ phần sụn đến Máy khách.
Lỗi kết quả cập nhật có thể xảy ra:
Độ phân giải URI không thành công bởi vì:
Loại gói không được hỗ trợ (kết quả 6)
URI không hợp lệ (kết quả 7)
Giao thức không được hỗ trợ (kết quả 9)
Tải xuống không thành công do:
Bộ nhớ flash không đủ (kết quả 2)
RAM không đủ (kết quả 3)
Mất kết nối (kết quả 4)
Kiểm tra tính toàn vẹn không thành công (kết quả 5)
Trạng thái 2: Đã tải xuống
Quá trình tải xuống chương trình cơ sở đã hoàn tất và tất cả các gói đều được nhận thành công.
Trạng thái 3: Đang cập nhật
Khi tài nguyên cập nhật được kích hoạt, Máy khách LwM2M sẽ bắt đầu cập nhật chương trình cơ sở của nó. Nếu cập nhật được thực hiện thành công, trạng thái sẽ thay đổi trở lại nhàn rỗi (trạng thái 0).
Kết quả cập nhật có thể có:
Cập nhật chương trình cơ sở không thành công (kết quả 8)
Kiểm tra tính toàn vẹn không thành công (kết quả 5)
Đã cập nhật chương trình cơ sở thành công (kết quả 1)
Trạng thái 0: Nhàn rỗi
Sau khi cập nhật thành công chương trình cơ sở, thiết bị báo cáo trạng thái của nó là nhàn rỗi và Kết quả cập nhật của nó là Cập nhật chương trình cơ sở thành công.
Cập nhật thiết bị cần thiết
Các bản cập nhật thiết bị IoT từ xa rất cần thiết cho sự thành công lâu dài của các ứng dụng IoT. Các lỗi phần mềm và lỗ hổng bảo mật sẽ được tìm thấy khi triển khai các thiết bị trong lĩnh vực này sẽ hoạt động trong nhiều năm. Vì quyền truy cập vật lý vào các thiết bị thường không thể thực hiện được nên FOTA là bắt buộc đối với mỗi, nếu không muốn nói là tất cả các triển khai IoT.
Cập nhật chương trình cơ sở từ xa đặt ra một số thách thức nghiêm trọng. Các thiết bị bị hạn chế về bộ nhớ (flash), dung lượng pin và băng thông khả dụng và thường sử dụng các kết nối không ổn định với đám mây. Tiêu chuẩn LwM2M đề xuất một phương pháp cập nhật chương trình cơ sở của các thiết bị IoT bị hạn chế về tài nguyên. Thông qua cách tiếp cận có cấu trúc với các trạng thái và mã lỗi được tiêu chuẩn hóa, các nhà phát triển có thể yên tâm rằng hình ảnh chương trình cơ sở mới có thể được gửi an toàn đến nhóm thiết bị của họ tại hiện trường, bất kể nhà cung cấp phần cứng hay nền tảng đám mây được sử dụng.
Nguồn : https://www.iotforall.com/ .
Post by Automation Bot.