You are on page 1of 8

Machine Translated by Google

Khóa học Internet vạn vật

PHÒNG THÍ NGHIỆM 8

Phòng thí nghiệm WiFi

Số phát hành 1.0

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

1. Giới thiệu ................................................ ................................... 1

1.1 Tổng quan về phòng thí nghiệm.................................................................. ................................................................. ............1

2 Quản lý thiết bị Arm Pelion .................................................... ............ 1

2.1 Kết nối thiết bị.................................................................................. ................................................................. ............1

2.2 Quản lý thiết bị.................................................................. ................................................................. ......................2

2.3 Cập nhật chương trình cơ sở của thiết bị.................................................. ................................................................. .....3

3 Thực hiện................................................................................. ...................................... 4

3.1 Thiết lập Nền tảng Arm Pelion .................................................... ...........................................4

3.2 Thiết lập bảng................................................................................. ................................................................. ....................4

3.2.1 Thiết lập Wi-Fi................................................................................. ................................................................. ..............4

3.2.2 Tạo tài nguyên M2M.................................................................. .................................................5

3.2.3 Thêm khóa API và chứng chỉ kết nối.................................................. .................................5

4 Mã ứng dụng.................................................................. ................................. 5

4.1 Cấu trúc chương trình................................................................................. ................................................................. .................5

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

1.1 Tổng quan phòng thí nghiệm

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 2 cánh tay

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

phù hợp với mạng có băng thông thấp và mạng lưới.

• 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

tin cần thiết để kết nối với Quản lý thiết bị.

• 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

tin trực tuyến.

2.1 Kết nối thiết bị

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

chính liên quan đến luồng kết nối:

• 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

được trong quá trình khởi động.

• 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.

2.2 Quản lý thiết bị

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

tượng và Tài nguyên.

Ứng dụng thiết bị tạo và sở hữu cấu trúc tài nguyên:

• Đố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

cảm biến nhiệt độ.

• 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

nguyên cũng có thể là một mảng có nhiều giá trị.

Cấu trúc dữ liệu mẫu:

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

Hình 1: Cấu trúc dữ liệu mẫu

2.3 Cập nhật chương trình cơ sở của thiết bị

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ở

lên Quản lý thiết bị bằng cách sử dụng:

1. Cổng thông tin quản lý thiết bị.

2. API quản lý thiết bị.

3. Lệnh cập nhật công cụ bảng kê khai.

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:

• Một bí mật, gọi là khóa riêng.

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:

• Tính toán hàm băm của tài liệu bằng SHA256.

• 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

thực quy trình cập nhật chương trình cơ sở.

3 Thực hiện

3.1 Thiết lập Nền tảng Arm Pelion

Để 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

khóa API mới:

1. Nhấp vào Khóa API mới trong Quản lý quyền truy cập > Khóa API,

2. Đặt cho khóa API một cái tên dễ nhận biết.

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.

4. Nhấp vào Tạo khóa API.

5. Sao chép key API bằng nút Copy to Clipboard

3.2 Lắp đặt bảng mạch

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.

3.2.1 Thiết lập 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();

Sau đó sử dụng hàm connect() để kết nối với WiFi.

3.2.2 Tạo tài nguyên M2M

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

cách gửi dữ liệu đến hệ thống quản lý thiết bị Pelion:

M2MObjectList m2m_obj_list;

// NHẬN tài nguyên 3000/0/5701

m2m_get_res = M2MInterfaceFactory::create_resource(m2m_obj_list, 3000, 0,


5701, M2MResourceInstance::INTEGER, M2MBase::GET_ALLOWED);

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.

3.2.3 Thêm khóa API và chứng chỉ kết nối

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

với Quản lý thiết bị Pelion.

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ý

thiết bị Arm Pelion.

4.1 Cấu trúc chương trình

• Khởi tạo

o Tạo đối tượng DigitalOut cho đèn LED.

o Khởi tạo các biến.

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 Cập nhật chỉ số cảm biến.

o Treo cờ cho biết các phép đo cần được đọc và hiển thị lại.

• Chức năng chính

o Khởi tạo cảm biến.

o Khởi tạo WiFi.

o Tạo tài nguyên và gửi giá trị.

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

You might also like