Helpex - Trao đổi & giúp đỡ Đăng nhập

Xem xét lại quản lý thiết bị dựa trên web

Nhiều hệ thống nhúng sử dụng máy chủ web nhúng để quản lý thiết bị nhưng không được sử dụng các công nghệ web mới nhất. Chúng ta hãy có một cái nhìn mới về quản lý thiết bị dựa trên web bằng cách sử dụng hai công nghệ hiện đại như WebSockets và Vue.js để tạo giao diện người dùng phản ứng trên toàn hệ thống.

Vue.js và các ứng dụng phản ứng

Các khung như AngularJS, ReactJS và Vue.js đơn giản hóa đáng kể việc thiết kế các ứng dụng phản ứng. Nhiều nhà thiết kế cũng coi AJAX và REST có bản chất phản ứng. Điều này có thể đúng với các ứng dụng chỉ yêu cầu tin nhắn không đồng bộ truyền từ máy khách đến máy chủ; tuy nhiên, đối với các hệ thống nhúng, mô hình này thất bại. Trong một hệ thống nhúng, bạn có thể có các báo động và các loại sự kiện khác mà bạn muốn đẩy không đồng bộ và theo thời gian thực tới giao diện người dùng web. Thăm dò máy chủ bằng AJAX không phải là một giải pháp tốt vì các sự kiện máy chủ phản ứng phải được đệm ở phía máy chủ cho đến chu kỳ thăm dò ý kiến ​​khách tiếp theo. Điều này làm phức tạp thiết kế và làm cho giao diện người dùng ít phản hồi hơn.

WebSockets

Bạn có thể có một máy chủ web nhúng trong thiết bị và tạo giao diện người dùng mà bạn có thể nghĩ rằng không cần bất kỳ sự kiện thời gian thực nào từ máy chủ. Ví dụ, hãy xem xét một hệ thống nhúng điều khiển bóng đèn. Giao diện web cơ bản cho phép chúng ta bật hoặc tắt bóng đèn từ xa. Ban đầu, một hệ thống như vậy dường như không cần bất kỳ dữ liệu thời gian thực nào từ máy chủ, nhưng bạn đã xem xét điều gì xảy ra nếu hai người dùng sử dụng hai trình duyệt khác nhau thử điều khiển bóng đèn cùng một lúc?

Thiết bị nhúng là tài nguyên được chia sẻ

Cung cấp giao diện web cho thiết bị nhúng yêu cầu nhà thiết kế nghĩ về thiết bị như một tài nguyên được chia sẻ. Một nhà thiết kế không thể dễ dàng ngăn nhiều người dùng cố gắng kiểm soát cùng một phần cứng vì bất kỳ ai có quyền truy cập vào thiết bị đều có thể kết nối với nó và đưa ra giao diện web bất cứ lúc nào.

Xem xét lại quản lý thiết bị dựa trên web

Trong hình trên, hai người dùng đang điều khiển một bóng đèn trong một thiết bị. "Đặt sự kiện" và "Cập nhật sự kiện" tương tự như AJAX RPC tiêu chuẩn nhưng có một điểm khác biệt lớn. Phản hồi được gửi cho cả khách hàng. Cấu trúc này đảm bảo không có giao diện người dùng được kết nối hiển thị thông tin cũ.

Chúng tôi có thể triển khai logic cần thiết cho giao diện người dùng ở trên bằng cách sử dụng WebSockets. WebSockets cung cấp kênh liên lạc không đồng bộ (phản ứng) song công hoàn toàn qua một kết nối TCP. Vì các kết nối WebSocket từ các trình duyệt vẫn tồn tại, nên máy chủ web nhúng hiện có thể phản hồi đồng thời với tất cả các máy khách được kết nối.

Một ví dụ làm việc thực tế

Một ví dụ hoạt động đáng giá cả ngàn từ, vì vậy tôi đã tập hợp một ứng dụng WebSocket phản ứng đầy đủ chức năng cho thấy cách sử dụng WebSockets để điều khiển bóng đèn. Ví dụ hoàn chỉnh bao gồm hai Ứng dụng web một trang có thể được tải và chạy trực tiếp trong trình duyệt mà không phải cài đặt bất kỳ phần mềm nào. Hai ứng dụng: Ứng dụng Light Switch được thiết kế bằng Vue.js và Ứng dụng Bóng đèn được thiết kế bằng JQuery.

Xem hướng dẫn đầy đủ để biết chi tiết: Cách tiếp cận hiện đại để nhúng máy chủ web vào thiết bị

Video sau đây cho biết cách sử dụng hai Ứng dụng web một trang:


6 hữu ích 0 bình luận 6.7k xem chia sẻ

Có thể bạn quan tâm

loading