Logo Zephyrnet

Quản lý thiết bị IoT bằng LwM2M

Ngày:

Quản lý thiết bị IoT bằng LwM2M
Minh họa: © IoT cho tất cả

Trong thị trường ngày nay, Thiết bị IoT đến trong các hình thức và hình dạng khác nhau. Mỗi thiết bị có một ngăn xếp giao tiếp duy nhất đi kèm với cấu trúc gói dữ liệu cụ thể và lớp quản lý thiết bị được thiết kế chu đáo. Giờ hãy tưởng tượng những khó khăn của một nhà phân phối năng lượng, người đã triển khai nhiều nhãn hiệu đồng hồ thông minh khác nhau trong nhiều năm để đo việc sử dụng điện trong hàng nghìn tòa nhà. Mỗi mét đi kèm với một cấu trúc dữ liệu khác nhau cần được định dạng. Cần triển khai các quy trình cụ thể để quản lý từ xa các thiết bị khác nhau và cần áp dụng các cơ chế cụ thể để cập nhật chương trình cơ sở của thiết bị.

Khi các thiết bị sử dụng tiêu chuẩn LwM2M, các nhà tích hợp IoT có thể yên tâm rằng mỗi thiết bị đều báo cáo dữ liệu tương tự nhau. Các cấu hình và chương trình cơ sở có thể được cập nhật bằng các lệnh máy chủ tương tự không phụ thuộc vào phần cứng, phiên bản chương trình cơ sở hoặc cảm biến được sử dụng. Hãy khám phá ba thành phần cơ bản của LwM2M để đảm bảo khả năng tương tác: định dạng dữ liệu được tiêu chuẩn hóa, kiến ​​trúc LwM2M và hoạt động của LwM2M.

“Khi các thiết bị sử dụng tiêu chuẩn LwM2M, các nhà tích hợp IoT có thể yên tâm rằng mỗi thiết bị đều báo cáo dữ liệu tương tự nhau.”

-AVHệ thống

Định dạng dữ liệu LwM2M

LwM2M là một giao thức truyền thông lớp ứng dụng được phát triển bởi OMA SpecWorks để đơn giản hóa việc nhắn tin và quản lý thiết bị của các thiết bị IoT. Giao thức xác định ngữ nghĩa giao tiếp, cơ chế quản lý thiết bị, cập nhật qua mạng (FOTA) và thu thập dữ liệu đo từ xa và rất phù hợp với các thiết bị bị hạn chế về tài nguyên. Tiêu chuẩn LwM2M sử dụng cái gọi là Đối tượng thông minh IPSO để thể hiện cấu hình, chức năng và cảm biến nhằm nhận ra khả năng tương tác dữ liệu. Khi cấu trúc Đối tượng thông minh IPSO theo một cách cụ thể, một ngôn ngữ được tạo ra mà cả Máy khách LwM2M và Máy chủ LwM2M đều có thể hiểu được. Ngôn ngữ này chứa các đối tượng, thể hiện đối tượng và tài nguyên.

# 1: Đối tượng

Các đối tượng đại diện cho một thành phần vật lý (cảm biến, đèn LED hoặc bộ truyền động) hoặc một thực thể logic (chẳng hạn như công nghệ vô tuyến ưu tiên, cấu hình cập nhật chương trình cơ sở hoặc triển khai bảo mật). Tất cả các đối tượng được xác định bởi một ID đối tượng. Tiêu chuẩn LwM2M xác định ba đối tượng bắt buộc được coi là cần thiết để thiết bị kết nối và giao tiếp với máy chủ LwM2M. Các đối tượng bắt buộc là:

  1. ID đối tượng 0: Bảo mật LwM2M: Chứa thông tin bí mật về các kết nối đến Máy chủ LwM2M được định cấu hình trên Máy khách.
  2. ID đối tượng 1: Máy chủ LwM2M: Chứa thông tin không bí mật về các kết nối đến Máy chủ LwM2M được định cấu hình trên Máy khách.
  3. ID đối tượng 3: Thiết bị: Chứa thông tin cơ bản về thiết bị, chẳng hạn như số sê-ri và phiên bản chương trình cơ sở.

Bên cạnh các đối tượng bắt buộc, các đối tượng bổ sung có thể được thực hiện. Ví dụ về các đối tượng không bắt buộc là:

  • ID đối tượng 4: Giám sát kết nối: Cung cấp thông tin về trạng thái kết nối của thiết bị, chẳng hạn như cường độ tín hiệu và loại mạng.
  • ID đối tượng 5: Cập nhật chương trình cơ sở: Cho phép thực hiện cập nhật chương trình cơ sở từ xa.
  • ID đối tượng 6: Vị trí: Cung cấp thông tin về vị trí địa lý của thiết bị, chẳng hạn như vĩ độ và kinh độ.
  • ID đối tượng 11: Hồ sơ kết nối APN LwM2M: Cho phép thiết bị kết nối với APN.
  • ID đối tượng 3303: Nhiệt độ: Báo cáo các phép đo nhiệt độ.
  • ID đối tượng 3313: Gia tốc kế: Đại diện cho gia tốc kế trục 1-3.

#2: Trường hợp đối tượng

Một số đối tượng có thể có nhiều thể hiện đối tượng. Ví dụ về các đối tượng như vậy bao gồm đối tượng quản lý các kết nối đến Máy chủ LwM2M vì có thể cấu hình nhiều Máy chủ LwM2M hoặc các thiết bị chứa nhiều SIM với các cấu hình APN khác nhau. Khi các thiết bị chứa nhiều cảm biến giống hệt nhau, các phiên bản đối tượng được sử dụng để phân biệt các cảm biến khác nhau.

#3: Tài nguyên

Tài nguyên đại diện cho các thuộc tính cụ thể của một đối tượng có thể được đọc, viết hoặc thực thi. Mỗi tài nguyên được xác định bởi một ID tài nguyên duy nhất. Ví dụ: đối tượng nhiệt độ có nhiệt độ hiện tại của tài nguyên, đơn vị đo lường và dấu thời gian. Tương tự, đối tượng thiết bị có các tài nguyên như tên nhà sản xuất, số sê-ri và phiên bản chương trình cơ sở. Đối tượng vị trí có vĩ độ, kinh độ và độ cao của tài nguyên. Tất cả các chi tiết của các đối tượng và tài nguyên được xác định trong Cơ quan đăng ký OMA. Ngoài ra còn có khả năng xác định đối tượng tùy chỉnh của bạn nếu một tính năng hoặc cảm biến cụ thể không được liệt kê trong Sổ đăng ký OMA.

Mỗi tài nguyên chứa một mã định danh, một loại (float, string, int, dirty) và các hoạt động của máy chủ được phép (chẳng hạn như READ, WRITE hoặc EXECUTE). Chúng ta hãy xem xét một vài ví dụ.

Các ví dụ

Đối tượng thiết bị được biểu thị bằng mã định danh 3 và các tài nguyên bao gồm:

ID tài nguyên Tên tài nguyên Vận hành máy chủ Kiểu
0 nhà chế tạo Đọc Chuỗi
1 Số mô hình Đọc Chuỗi
3 Phiên bản phần mềm Đọc Chuỗi
4 Khởi động lại Thực thi
13 Thời điểm hiện tại Viết được Thời gian
Đối tượng thiết bị

Đối tượng nhiệt độ được biểu diễn bằng định danh 3303, và các tài nguyên bao gồm:

ID tài nguyên Tên tài nguyên Vận hành máy chủ Kiểu
5700 Giá trị cảm biến Đọc Phao
5701 Đơn vị cảm biến Đọc Chuỗi
5518 Dấu thời gian Đọc Thời gian
Đối tượng nhiệt độ

Khi gửi dữ liệu, mỗi tin nhắn được định dạng là: / / =

Để gửi dữ liệu nhiệt độ mới nhất, dữ liệu có thể giống như sau: 3303/0/5700 = 23.5

Để tối ưu hóa băng thông, dữ liệu thường được mã hóa thành tải trọng nhị phân tiết kiệm không gian. Mặc dù dữ liệu có thể được gửi bằng JSON đơn giản, nhưng phổ biến hơn là sử dụng CBOR hoặc SenML để giảm kích thước tải trọng.

Gửi Vĩ độ và Kinh độ bằng định dạng dữ liệu LwM2M

Phiên bản tài nguyên

Trong một số trường hợp, tài nguyên có nhiều phiên bản tài nguyên. Ví dụ: đối tượng Thiết bị 3 bao gồm tài nguyên 6: Nguồn điện khả dụng. Các trường hợp khác nhau mô tả các nguồn năng lượng khác nhau:

0: Nguồn một chiều
1: Pin bên trong
2: Pin ngoài
3: Pin nhiên liệu
4: Cấp nguồn qua Ethernet
5: USB
6: Nguồn AC (Main)
7: Năng lượng mặt trời

Để mô tả sự sẵn có của năng lượng mặt trời, định dạng tin nhắn trở thành: 3/0/6/7.

Kiến trúc LwM2M: Máy khách & Máy chủ

Kiến trúc LwM2M bao gồm Máy khách LwM2M và Máy chủ LwM2M. Giao tiếp hoạt động độc lập với công nghệ (không dây) được sử dụng và có thể chạy trên cả mạng IP và mạng không phải IP. Các công nghệ IP phổ biến bao gồm WiFi và di động. Non-IP bao gồm Bluetooth, LoRaWAN hoặc Wirepas. Các mạng không phải IP có thể được xử lý bằng mạng IEEE 802.15.4 (6LoWPAN). Ví dụ: bằng cách chạy chuỗi qua Bluetooth. 

Tiêu chuẩn LwM2M sử dụng giao thức CoAP để cho phép các thiết bị dễ dàng giao tiếp với đám mây. Hãy coi CoAP là giao thức HTTP, nhưng được thiết kế cho các thiết bị bị hạn chế về tài nguyên. CoAP thường được so sánh với MQTT vì cả hai giao thức đều được sử dụng phổ biến trong các ứng dụng IoT. Điểm khác biệt chính là CoAP sử dụng UDP theo mặc định trong khi MQTT dựa trên TCP. Chi phí nhỏ của UDP thường được coi là một lợi thế khi so sánh với TCP. Mặc dù CoAP có thể được sử dụng với TCP, nhưng UDP thường là lựa chọn ưu tiên khi ưu tiên sử dụng hiệu quả tài nguyên mạng.

Các ứng dụng khách LwM2M phổ biến bao gồm Anjay (được duy trì bởi AVSystem) và Ứng dụng khách Zephyr LwM2M (được duy trì bởi Dự án Zephyr). Máy chủ LwM2M do AVSystem cung cấp được gọi là Coiote và có thể được sử dụng để xử lý dữ liệu thiết bị, cấu hình và cập nhật chương trình cơ sở.

Máy khách LwM2M chạy trên thiết bị cuối và giao tiếp với máy chủ LwM2M bằng kết nối an toàn. Máy khách thông báo cho máy chủ về các đối tượng và tài nguyên được hỗ trợ trong lần kết nối đầu tiên cũng như trong các lần cập nhật trạng thái định kỳ. Trong suốt vòng đời của thiết bị, máy khách sẽ gửi thông báo đến máy chủ với dữ liệu đo từ xa được định dạng theo tiêu chuẩn LwM2M. Tất cả dữ liệu được Máy chủ LwM2M thu thập và lưu trữ, nơi dữ liệu có thể được xử lý thêm hoặc chuyển tiếp tới cơ sở dữ liệu cụ thể của các nền tảng như Azure IoT Hub hoặc AWS IoT Core.

Hoạt động của LwM2M

Tính năng cốt lõi thứ ba của giao thức LwM2M là các hoạt động có thể được bắt đầu từ cả máy khách và máy chủ. Hoạt động của máy khách được sử dụng để thông báo cho máy chủ về dữ liệu đo từ xa hoặc trạng thái của thiết bị. Hoạt động của máy chủ được sử dụng để đọc hoặc ghi dữ liệu hoặc để cập nhật cấu hình thiết bị hoặc chương trình cơ sở từ xa theo thời gian. Có thể phân biệt hai giao diện: Giao diện báo cáo thông tin và Giao diện quản lý thiết bị.

#1: Giao diện báo cáo thông tin

Máy khách LwM2M có thể thông báo cho máy chủ về dữ liệu đo từ xa hoặc các thay đổi trạng thái trong thời gian thực do Máy khách khởi tạo. Máy chủ cũng có thể xác định hành vi của thiết bị bằng cách yêu cầu thiết bị gửi dữ liệu theo các khoảng thời gian định kỳ hoặc khi các giá trị vượt quá một ngưỡng nhất định (ví dụ: khi nhiệt độ tăng trên 30 độ). Điều này có thể được thực hiện bằng cách sử dụng các thao tác: QUAN SÁT, GỬI và THÔNG BÁO.

  • QUAN SÁT: Khi thao tác Quan sát được gọi, Máy khách sẽ bắt đầu gửi các thông báo THÔNG BÁO tới Máy chủ về dữ liệu hoặc trạng thái của nó theo các khoảng thời gian có thể định cấu hình. Thao tác QUAN SÁT cũng có thể bị hủy khi gửi HỦY QUAN SÁT.
  • GỬI: Thông điệp SEND được Client sử dụng để gửi dữ liệu đến server mà không cần yêu cầu rõ ràng. Tùy thuộc vào chương trình cơ sở ứng dụng, nó có thể được sử dụng để báo cáo các phép đo mới hoặc thông báo cho máy chủ về sự thay đổi trạng thái hoặc dữ liệu đo từ xa.
  • THÔNG BÁO: Để phản hồi hoạt động QUAN SÁT được bắt đầu từ máy chủ, máy khách sẽ gửi các hoạt động THÔNG BÁO cùng với dữ liệu. Thông thường, máy chủ cung cấp băng thông mà máy khách cần gửi dữ liệu của mình. Ví dụ: Ít nhất 1 giờ một lần, nhưng không quá 15 phút một lần.

#2: Giao diện quản lý thiết bị

Giao diện quản lý thiết bị cho phép máy chủ kết nối từ xa với Máy khách LwM2M và quản lý cấu hình, phần mềm, bảo mật, v.v. Giao diện đi kèm với một tập hợp các hoạt động được tiêu chuẩn hóa, tất cả đều do Máy chủ khởi xướng.

  • KHÁM PHÁ: Truy xuất danh sách các đối tượng và tài nguyên được Client hỗ trợ.
  • ĐỌC: Truy xuất giá trị hiện tại của một tài nguyên cụ thể hoặc toàn bộ đối tượng.
  • VIẾT: Sửa đổi giá trị của một tài nguyên cụ thể hoặc toàn bộ đối tượng.
  • HÀNH HÌNH: Gọi một hành động hoặc hoạt động trên một tài nguyên. Ví dụ: hướng dẫn thiết bị đặt lại, khởi động lại hoặc nâng cấp chương trình cơ sở.
  • TẠO NÊN: Tạo một thể hiện đối tượng mới.
  • DELETE: Xóa một thể hiện đối tượng.

Đơn giản hóa với LwM2M

Bối cảnh IoT bị phân mảnh và rất dễ bị lạc khi tìm hiểu kỹ các công nghệ không dây, giao thức nhắn tin và định dạng dữ liệu. LwM2M hứa hẹn sẽ đơn giản hóa thế giới được kết nối thông qua tiêu chuẩn hóa và khả năng tương tác. Điều này được thực hiện nhờ các Đối tượng thông minh IPSO với các số nhận dạng được xác định trước, cho phép tạo ra một đại diện kỹ thuật số của thiết bị. Định dạng dữ liệu được tiêu chuẩn hóa cho phép bất kỳ Máy chủ LwM2M nào cũng có thể dễ dàng diễn giải dữ liệu. Kiến trúc máy khách-máy chủ chỉ định cách dữ liệu truyền giữa các thiết bị đầu cuối và web. Cuối cùng, các hoạt động được xác định trước cho phép các thiết bị gửi dữ liệu và được định cấu hình lại theo thời gian.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img