Professional Documents
Culture Documents
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Machine Translated by Google
Nội dung
2.3 Cập nhật chương trình cơ sở của thiết bị.................................................. ................................................................. .....3
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Machine Translated by Google
1. Giới thiệu
Trong phòng thí nghiệm này, chúng ta sẽ tìm hiểu cách lập trình bo mạch DISCO-L475VG-IOT01A có mô-đun WiFi tích hợp để gửi và nhận
dữ liệu cảm biến từ nền tảng Arm Pelion. Phòng thí nghiệm này bao gồm hai phần;
phần đầu tiên bao gồm thiết lập bảng để gửi các giá trị cảm biến bằng WiFi và phần thứ hai bao gồm thiết lập nền tảng Arm
Pelion để xem các giá trị cảm biến từ bảng của chúng tôi.
Quản lý thiết bị Pelion là một dịch vụ được quản lý để tương tác và quản lý các thiết bị được kết nối của bạn. Nó bao
gồm:
• Kết nối an toàn qua đó chúng ta có thể tương tác và quản lý các thiết bị IoT của mình.
• Trang tổng quan cung cấp bản tóm tắt về tài khoản của chúng tôi như trạng thái và cách sử dụng thiết bị.
• Quản lý truy cập để tạo khóa API nhằm cấp quyền truy cập vào cổng quản lý thiết bị.
• Giải pháp cập nhật chương trình cơ sở từ xa từ đầu đến cuối, bao gồm hỗ trợ cập nhật delta
• Cơ chế cung cấp linh hoạt có thể hoạt động với mọi thiết lập ban đầu nhằm cung cấp cho thiết bị của chúng tôi tất cả thông
• Phát triển ứng dụng web bằng cách sử dụng các giao diện lựa chọn: API Chuyển trạng thái đại diện (REST) hoặc cổng thông
Quản lý thiết bị cung cấp giải pháp kết nối an toàn giữa các thiết bị IoT bị hạn chế và phần mềm hoặc ứng dụng web. Trong phần
này, chúng ta sẽ tìm hiểu một số khái niệm chính về cách bo mạch được khởi động với các dịch vụ Quản lý thiết bị
Pelion và tìm hiểu về giao thức nhẹ giữa máy với máy (LwM2M) để giao tiếp với bo mạch của bạn. Sau đây là một số khía cạnh
• ID thiết bị: Đây là ID duy nhất được Quản lý thiết bị tạo ra khi thiết bị kết nối với
lần đầu tiên. API có thể sử dụng ID này để tham chiếu đến thiết bị.
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 1
Machine Translated by Google
• Tên điểm cuối: Tên được đặt cho thiết bị của chúng tôi tại nhà máy. Điều này thường giống nhau
làm ID thiết bị
• Khởi động: Đầu tiên, thiết bị kết nối với dịch vụ khởi động, cung cấp
thông tin xác thực tài khoản máy chủ LwM2M để đăng ký.
• Đăng ký: Trong quá trình này, thiết bị kết nối trực tiếp với máy chủ LwM2M bằng thông tin xác thực nhận
• Hủy đăng ký: Quá trình hủy đăng ký một thiết bị khỏi máy chủ LwM2M khi thiết bị đó không còn cần kết nối.
Quản lý thiết bị Pelion cung cấp cách tương tác với các thiết bị được triển khai. Thiết bị có một số thuộc tính
tích hợp: thông tin mà thiết bị cung cấp cho Quản lý thiết bị, chẳng hạn như nhà sản xuất, số sê-ri và
kiểu máy. Thuộc tính tùy chỉnh cho phép chúng tôi tạo các bộ lọc chi tiết.
Chúng tôi có thể lọc các thiết bị theo cả thuộc tính tích hợp và tùy chỉnh.
• Tài nguyên
Tài nguyên là các cảm biến và cơ cấu chấp hành trong một thiết bị. Ví dụ: quản lý tài nguyên thiết bị có
nghĩa là đọc giá trị nhiệt độ hoặc điều khiển khóa cửa được kích hoạt bằng thiết bị. Bạn có thể sử dụng
dịch vụ Quản lý thiết bị để quản lý tài nguyên thiết bị và thực hiện các hành động trên thiết bị. Quản
lý tài nguyên dựa trên các hoạt động đọc, viết, tạo và thực thi.
Tất cả giao tiếp với thiết bị đều không đồng bộ và kết quả của một thao tác được gửi dưới dạng sự kiện
thông qua kênh thông báo sự kiện. Để đảm bảo việc phân phối, Quản lý thiết bị sẽ xếp hàng các
hoạt động và cung cấp logic thử lại giao thức bất khả tri.
Mô hình tài nguyên có cấu trúc dữ liệu phân cấp biểu thị thông tin thiết bị bằng cách sử dụng Đối
• Đối tượng: Đối tượng là tập hợp các Tài nguyên trong thiết bị. Ví dụ, nó là một “giao diện” cho
• Phiên bản đối tượng: Một đối tượng có thể có nhiều phiên bản.
• Tài nguyên: Bất kỳ thông tin nào từ thiết bị đều là Tài nguyên, có
giá trị tĩnh (giá trị không bao giờ thay đổi) hoặc giá trị động (giá trị thay đổi trong quá trình
hoạt động của thiết bị). Bạn có thể đọc, ghi hoặc thực thi thông tin của Tài nguyên. Tài
Hình 1 cho thấy một ví dụ về cấu trúc dữ liệu với hai đối tượng khác nhau: cảm biến nhiệt độ và cảm biến độ ẩm. Đối
tượng cảm biến nhiệt độ có năm Tài nguyên khác nhau. Chúng ta có thể đọc giá trị của chúng, đặt lại giá trị tối
thiểu/tối đa của chúng và thay đổi giá trị đơn vị. Thiết bị có ba trường hợp cảm biến nhiệt độ.
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 2
Machine Translated by Google
Cập nhật quản lý thiết bị có thể được sử dụng để gửi chương trình cơ sở mới đến các thiết bị đã triển khai. Để thực
hiện việc này, chúng tôi cần ứng dụng khách Cập nhật quản lý thiết bị chạy trên thiết bị và dịch vụ Cập nhật
quản lý thiết bị (nền tảng Pelion) cung cấp các bản cập nhật. Quá trình triển khai bản cập nhật chương trình cơ sở
cho các thiết bị tại hiện trường bắt đầu bằng việc xây dựng hình ảnh chương trình cơ sở mới và tải nó lên máy
chủ Quản lý thiết bị, nơi dịch vụ cập nhật có thể truy cập vào nó. Ứng dụng khách Cập nhật, chạy trên thiết bị,
chịu trách nhiệm xác minh, cài đặt và báo cáo tiến trình cập nhật chương trình cơ sở. Chúng tôi cần tích hợp nó
với ứng dụng của bạn để kích hoạt các bản cập nhật trong tương lai. Chúng tôi có thể tải chương trình cơ sở
Cập nhật quản lý thiết bị sử dụng chứng chỉ để đảm bảo bảo mật hai đầu và để xác thực rằng bản cập nhật chương
trình cơ sở có nguồn gốc từ một nguồn chính hãng và đáng tin cậy. Nó sử dụng mật mã đường cong
elip (ECC), một loại mật mã khóa công khai. Đặc biệt, công cụ kê khai và Cập nhật quản lý thiết bị sử dụng Thuật
toán chữ ký số đường cong Elliptic. Thuật toán này sử dụng hai mẩu thông tin:
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 3
Machine Translated by Google
• Một con số, gọi là khóa công khai, tương ứng với bí mật.
Để ký một tài liệu, người giữ khóa riêng trước tiên sẽ tính toán hàm băm của tệp kê khai bằng SHA256, sau đó chuyển
đổi hàm băm đó bằng khóa riêng. Số mới này, được gọi là chữ ký, được thêm vào tài liệu. Sau đó, bất kỳ ai
có khóa chung đều có thể xác minh rằng chữ ký khớp với tài liệu bằng cách:
• Chuyển đổi chữ ký trở lại thành hàm băm bằng khóa chung.
• So sánh hàm băm được tính toán và hàm băm chữ ký.
Nếu chúng giống nhau thì người xác minh có thể tin chắc rằng người ký đang sở hữu khóa riêng và do đó có thể xác
3 Thực hiện
Để sử dụng dịch vụ Quản lý thiết bị Arm Pelion, chúng tôi chỉ cần đăng ký bằng tài khoản Mbed hiện có của mình tại https://
portal.mbedcloud.com/
Sau khi thiết lập tài khoản, chúng ta có thể tạo khóa API trong Quản lý quyền truy cập. Khóa API cho phép các ứng
dụng (di động, web, v.v.) truy cập API dịch vụ Quản lý thiết bị cho một nhóm cụ thể và các thiết bị của nhóm đó. Để tạo
1. Nhấp vào Khóa API mới trong Quản lý quyền truy cập > Khóa API,
3. Cấp quyền truy cập vào khóa API. Theo mặc định, khóa API sử dụng khóa API của nhóm Nhà phát triển
quyền truy cập. Chúng ta có thể liên kết nó với một nhóm khác khi tạo nó hoặc sau này.
Trong phòng thí nghiệm 5, chúng tôi đã học cách đọc dữ liệu từ các cảm biến trên máy bay. Trong phòng thí nghiệm này, chúng
tôi sẽ gửi dữ liệu từ các cảm biến đó đến nền tảng Arm Pelion bằng WiFi.
Bo mạch hệ điều hành Mbed phải có cấu hình mặc định để kết nối và lưu trữ trong hệ điều hành Mbed (target.json). Chúng
tôi có thể mở rộng hoặc ghi đè cấu hình mặc định bằng cách sử dụng mbed_app.json trong ứng dụng của mình bằng cách tạo
một mục nhập mới dưới tên mục tiêu cho thiết bị nơi chúng tôi đặt thông tin xác thực WiFi của mình.
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 4
Machine Translated by Google
Ban đầu chúng tôi đặt phiên bản mạng mặc định,
NetworkInterface::get_default_instance();
Chúng ta cần tạo các tài nguyên sẽ cập nhật các giá trị cảm biến theo định kỳ. Ví dụ dưới đây cho thấy
M2MObjectList m2m_obj_list;
cloud_client->add_objects(m2m_obj_list);
m2m_get_res->set_value();
Đoạn mã này liên kết một tài nguyên (bất kỳ giá trị nào) với đường dẫn web /3000/0/5701. Đường dẫn
có thể được chỉ định ngẫu nhiên. Mọi cập nhật tài nguyên đều có thể được đẩy lên nền tảng Pelion thông qua
giao thức M2M, bằng cách gọi hàm set_value() và bạn có thể xem các bản cập nhật đồng thời trên cổng thông
tin.
Chúng tôi cần thêm khóa API mà chúng tôi đã tạo trong nền tảng Arm Pelion trong phần Quản lý thiết bị
Pelion. Tiếp theo, chúng tôi sẽ thêm chứng chỉ kết nối cho phép thiết bị của chúng tôi kết nối an toàn
4 Mã ứng dụng
Trong bài tập thí nghiệm này, chúng ta sẽ viết một chương trình đọc các giá trị nhiệt độ và độ ẩm từ các
cảm biến trên máy cứ sau 5 giây. Sau đó, chúng tôi sẽ gửi những giá trị này đến nền tảng quản lý
• Khởi tạo
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 5
Machine Translated by Google
• Người xử lý
o Treo cờ cho biết các phép đo cần được đọc và hiển thị lại.
Bản quyền © 2023 Arm Limited (hoặc các chi nhánh của nó). Đã đăng ký Bản quyền.
Trang 6