1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng điều khiển đèn trên nền edge computing

33 23 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 16,09 MB

Cấu trúc

  • I. Lý do chọn đề tài

  • II. Giới thiệu công nghệ

    • 1. Edge Computing

      • 1.1. Edge Computing là gì?

      • 1.2. Lợi ích của Edge Computing

    • 2. Mimik

      • 2.1. Backend Service

      • 2.2. EdgeSDK

      • 2.3. Microservices

  • III. Các modules sử dụng

    • 1. Tổng quan kịch bản hệ thống

      • 1.1. Ứng dụng edgeLight trên Android

      • 1.2. edgeSDK và microservice trên điện thoại Android

    • Sau khi ấn nút ‘Start’

    • Nút ‘info’

    • Nút ‘Login and associate’

    • Nút ‘Add microservice’

    • API ‘/androidon’

    • API ‘/androidoff’

      • 1.3. edgeSDK và microservice trên Raspberry Pi 2

      • 1.4. Ứng dụng xử lý bật/tắt đèn trên Raspberry Pi 2

  • IV. DEMO

    • 1. Kiểm tra microservices

  • V. MỞ RỘNG VÀ HƯỚNG PHÁT TRIỂN

    • 1. Tính bảo mật trong kiến trúc Edge Computing

    • 2. Hướng phát triển

  • VI. Tài liệu tham khảo

Nội dung

Trong thời đại kết nối Internet vạn vật (IoT), các thiết bị như xe hơi, ti vi, tủ lạnh, bóng đèn,... đều được kết nối Internet. Ước lượng mỗi ngày có hàng tỷ thiết bị kết nối IoT truyền và nhận dữ liệu, sinh ra một lượng dữ liệu khổng lồ. Như vậy, việc truyền dữ liệu lên tận Cloud để xử lý rồi trả lại kết quả có thể gây ra sự chậm trễ và ảnh hưởng đến tính an toàn của thông tin. Để giải quyết vấn đề này, điện toán biên (Edge Computing) ra đời. Edge Computing được đánh giá là một xu hướng tất yếu trong thời đại công nghệ IoT 4.0, được công ty phân tích Gartner dự báo là một trong mười xu hướng công nghệ sẽ tác động và chuyển đổi các ngành kinh tế từ nay tới năm 2023. Nhận thấy tiềm năng phát triển trong tương lai của công nghệ này, nhóm chọn đề tài nghiên cứu với mong muốn hiểu được cách hoạt động của Edge Computing và có thể áp dụng lâu dài sau này.

GIỚI THIỆU CÔNG NGHỆ

Edge Computing

Điện toán biên (Edge Computing) là một hệ thống mạng bao gồm các trung tâm xử lý và lưu trữ dữ liệu cục bộ, cho phép xử lý dữ liệu ngay tại các biên của mạng trước khi gửi đến trung tâm dữ liệu hoặc đám mây.

Hình 1: Mô hình truyền dữ liệu từ thiết bị IoT đến Edge Computing đến Cloud, Data Center

1.2 Lợi ích của Edge Computing

Xử lý dữ liệu ngay tại thiết bị giúp cải thiện tốc độ xử lý, loại bỏ thời gian chờ đợi khi gửi dữ liệu lên Cloud.

+ Bảo mật (Security) : Với Cloud Computing, dữ liệu phải được truyền đến Data

Edge Computing cho phép xử lý dữ liệu nhạy cảm ngay tại thiết bị, giảm thiểu rủi ro bị tấn công trong quá trình truyền tải Điều này giúp bảo vệ thông tin quan trọng mà không cần phải gửi đến trung tâm hoặc đám mây.

Các thiết bị Edge có độ tin cậy cao vì chúng được đặt gần các thiết bị IoT hoặc tại các trung tâm dữ liệu, cho phép lưu trữ và xử lý dữ liệu cục bộ Điều này đảm bảo rằng các thành phần vẫn hoạt động bình thường và dữ liệu không bị mất ngay cả khi mất kết nối Internet.

Edge Computing giúp giảm chi phí bằng cách cho phép người dùng quyết định dữ liệu nào sẽ được xử lý và lưu trữ cục bộ, từ đó giảm thiểu lượng băng thông cần thiết cho việc truyền tải dữ liệu lên Cloud Khi hàng tỷ thiết bị IoT kết nối vào mạng, việc tối ưu hóa chi phí đường truyền trở nên quan trọng hơn bao giờ hết.

Khả năng mở rộng của Edge Computing cho phép dễ dàng bổ sung các thiết bị Edge khi nhu cầu kết nối các thiết bị IoT gia tăng, trong khi băng thông chỉ tăng lên một cách không đáng kể.

Hình 2: Sự phát triển của Cloud trong tương lai

Mimik

Mimik Backend Service nằm trên Cloud, có nhiệm vụ cung cấp các dịch vụ cần thiết để hỗ trợ các Edge nodes (nút biên) thông qua Edge Cloud

Một Edge Cloud là tập hợp các nodes (hay các thiết bị) với ID node là duy nhất trên phạm vi toàn cầu

Mimik Backend Service có 5 thành phần chính:

• mDS (mimik Global Discovery Service)

Các phần của mDS và mSS vừa được đặt tại Backend, vừa đặt tại Egde node

MDS có vai trò quản lý các cluster, trong khi MSD lưu trữ toàn bộ thông tin về các node và cluster, bao gồm thông tin, tình trạng của cluster, cũng như chi tiết về vị trí và dịch vụ có sẵn trên từng node trong cluster.

Khi một node mới muốn gia nhập vào cluster, nó cần đăng ký với supernode Sau đó, supernode sẽ thông báo cho mDS Để tiết kiệm băng thông, supernode chỉ gửi các cập nhật mới đến mDS khi có sự thay đổi trong cluster.

Một chức năng quan trọng của mDS là kiểm tra tính tiếp cận của supernode Khi supernode bị tường lửa chặn, mDS và các nodes ở lớp mạng khác không thể nhận tín hiệu từ supernode Trong tình huống này, mDS gửi yêu cầu đến mSS để thiết lập kết nối SEP, với mSS đảm nhiệm việc tạo các kết nối SEP và BEP cho cluster.

Các nodes trong Edge Computing được phân chia làm 3 phạm vi:

+ Có cùng tài khoản người dùng (user account): các nodes được đăng ký dưới cùng một tài khoản ID

+ Có cùng lớp mạng (network): các nodes trong một cluster nằm trong cùng một lớp mạng

+ Lân cận (proximity): là các nodes ở các lớp mạng khác nhau nhưng ở cùng một khu vực địa lý

Hình 3: Ví dụ về cách phân chia phạm vi các nodes

SEP được dùng để gửi tín hiệu kết nối Sau khi đã kết nối thành công, dữ liệu sẽ được truyền qua BEP

SEP và BEP được triển khai dựa trên các tham số quan trọng như thời gian tồn tại, số lượng kết nối đồng thời và giao thức truyền thông, bao gồm HTTP, SSH, Web socket hoặc UDP tunnel.

Trong hình 4, một người dùng có hai thiết bị đã được đăng ký: node 2 trong cluster 1 và node 4 trong cluster 2 Mimik cung cấp SEP cho node 4, cho phép node 4 giao tiếp trực tiếp với node 2 Khi tín hiệu giữa hai node được thiết lập thành công, dữ liệu được truyền giữa chúng thông qua BEP.

Tóm lại, các bước để 2 node cùng người dùng nhưng khác lớp mạng có thể giao tiếp được với nhau:

+ Gửi yêu cầu đến supernode để nhận thông tin về các nodes trong cùng phạm vi

+ Xác định node muốn kết nối cùng với thông tin tín hiệu từ node đó. + Gửi tín hiệu kết nối đến node muốn kết nối thông qua SEP.

+ Node bên kia sau khi nhận được tín hiệu, gửi lại yêu cầu kết nối BEP cho node gửi

+ Hai nodes được kết nối và truyền dữ liệu thông qua BEP.

Hình 4: Tìm, kết nối, giao tiếp giữa 2 thiết bị cùng một UID (user ID)

Mimik sử dụng phần mềm nhận dạng của bên thứ ba - phần mềm dịch vụ (software as a service – SaaS), dựa trên chuẩn OAuth2.0

Mimik sử dụng token để xác thực danh tính người dùng, giúp xác minh thông tin đăng nhập Nếu người dùng hợp pháp, họ sẽ được cấp quyền truy cập vào dịch vụ Backend Các đối tượng cần sử dụng token bao gồm edgSDK, các microservice kết nối với edgSDK, các nhà phát triển ứng dụng và người dùng.

Bộ công cụ Mimik edge-Software Development Kit (edgeSDK) bao gồm các thư viện và API của Mimik, hoạt động như cầu nối giữa hệ điều hành và người dùng cuối Khi được cài đặt, edgeSDK biến thiết bị thành Cloud Edge Node hoặc các nút mạng thông minh, giúp mở rộng Cloud tại các vị trí biên Nó cung cấp các containers để triển khai microservices trên các thiết bị, tối ưu hóa hiệu suất và khả năng kết nối.

EdgeSDK có khả năng hoạt động trên nhiều thiết bị khác nhau như di động, cổng cố định, xe hơi, ti vi thông minh và cả trên trung tâm Cloud, tùy thuộc vào từng trường hợp sử dụng ứng dụng.

Mỗi cluster trong hệ thống có một supernode, chịu trách nhiệm quản lý thông tin liên quan đến cluster và các nút thành viên Supernode cũng đảm nhiệm việc phân bổ các nhiệm vụ cho các nút trong cluster.

EdgeSDK có thể hỗ trợ cho mỗi node một người dùng, nhiều microservices và nhiều nhà cung cấp ứng dụng.

Hình 5: Các thành phần chính của Mimik edgeSDK

Các thành phần chính của Mimik edgeSDK bao gồm:

Mimik cung cấp đa dạng dịch vụ siêu nhỏ (microservices) phù hợp với nhu cầu của người dùng, đồng thời cho phép người dùng tự tạo ra các microservices riêng.

CÁC MODULES SỬ DỤNG

Tổng quan kịch bản hệ thống

Mô hình đồ án của nhóm gồm 4 modules chính:

 Ứng dụng bật/tắt đèn trên điện thoại

 edgeSDK và microservice trên điện thoại Android

 edgeSDK và microservice trên Raspberry Pi 2

 Ứng dụng xử lý bật/tắt đèn trên Raspberry Pi 2

Hình 6: Mô hình ứng dụng điều khiển đèn trên nền edge computing

• Điện thoại và Raspberry Pi lấy accesstoken từ mimik IS và triển khai các microservices

• Ứng dụng gửi tín hiệu đến edgeSDK trên điện thoại.

• edgeSDK trên điện thoại gửi tín hiệu trực tiếp đến edgeSDK trên Raspberry Pi 2.

• edgeSDK trên Raspberry Pi gửi tín hiệu đến ứng dụng xử lý bật tắt đèn.

1.1 Ứng dụng edgeLight trên Android

Sử dụng thư viện edgeSDK-android-app-ops để thực hiện định nghĩa các hàm xử lý các sự kiện với edgeSDK.

Sử dụng thư viện edgeSDK-android-app-auth để kết nối điện thoại với mimikIdentity Service và lấy accesstoken.

Xử lý sự kiện nút ‘start’ để khởi động edgeSDK đã được cài sẵn ở điện thoại.

Xử lý sự kiện nút ‘info’ để lấy thông tin về edgeSDK của thiết bị.

Xử lý ‘Add microservice’ trên thiết bị di động.

Bỏ liên kết thiết bị với mimik Identity Service.

1.2 edgeSDK và microservice trên điện thoại Android

Thay vì xử lý onClick trên nút ‘Turn On’ và ‘Turn Off’ trên ứng dụng, nhóm tạo một HTTP Request đến microservice trên điện thoại bằng PowerShell.

Truy cập đến 2 API ‘androidon’ và ‘androidoff’ (với 192.168.0.100 là địa chỉ IP của điện thoại)

Xem địa chỉ IP của điện thoại

Sau khi ấn nút ‘Start’

1.3 edgeSDK và microservice trên Raspberry Pi 2

Tạo một microservice trên Raspberry Pi để nhận tín hiệu từ điện thoại và chuyển tiếp tín hiệu này đến module điều khiển LED, giúp điều khiển ánh sáng một cách linh hoạt và tiện lợi.

- Dùng Docker để đóng gói microservice mIoT thành image (IoT-v1).

Viết các API để mIoT xử lý tín hiệu từ điện thoại

 Các API sẽ chờ các GET Request từ điện thoại.

Tùy thuộc vào tín hiệu bật hoặc tắt đèn, các API sẽ gửi các yêu cầu HTTP đến máy chủ web được thiết lập trong module điều khiển LED Quá trình này được đóng gói thành hình ảnh bằng Docker.

 File script ‘build.sh’ sử dụng Docker để đóng gói theo dữ liệu từ Dockerfile.

Kết nối Raspberry Pi với mimik Identity Service.

 Tạo một request tới http://localhost:8083/ws/edge-service-api/v1 để lấy kết nối tài khoản.

(Nếu có accessTonken, ta có thể mình triển khai bằng các HTTP Request).

Dùng image triển khai container trên edgeSDK.

Tạo một request đến http://localhost:8083/mcm/v1/containers

Raspberry Pi: Sử dụng Raspberr Pi 2 cùng các thiết bị cần thiết để lắp mạch như hình vẽ:

Hình 7: Cắm mạch Raspberry Pi 2 kết nối đèn LED

 Chân dương của LED sẽ kết nối trực tiếp với cổng GPIO 4.

 Chân âm của LED sẽ kết nối với cổng GND thông qua một điện trở 220V.

- Sử dụng module ‘ http’ để tạo một HTTP Server để lắng nghe tín hiệu điều khiển.

- Sử dụng module ‘url ’ để đọc ra tín hiệu từ HTTP Request.

- Sử dụng module ‘onoff ’ để Raspberry Pi tương tác với LED.

Dựng một Web Server để lắng nghe tín hiệu từ edgeSDK.

Raspberry Pi tương tác với Led qua module ‘onoff’.

Lọc tách tín hiệu từ HTTP request và điều khiển đèn LED. Đoạn mã hoàn chỉnh:

DEMO

Kiểm tra microservices

Kết nối Raspberry Pi với tài khoản

Kiểm tra API ‘/test’ gửi dữ liệu lên Webhook

Tạo request đến edgeSDK bằng ‘curl’

Dữ liệu đã được gửi lên Webhook

2 Kiểm tra kết hợp module bật/tắt đèn từ microservices

Lắp đèn theo mô hình đã chuẩn bị.

Kiểm tra 2 API ‘/lighton’ và ‘/lightoff’ ở trên edgeSDK

Tạo HTTP Request tới API ‘/lighton’

Tạo HTTP Request tới API ‘/lightoff’

MỞ RỘNG VÀ HƯỚNG PHÁT TRIỂN

Tính bảo mật trong kiến trúc Edge Computing

Hình 8: Ba cấp độ bảo mật trong kiến trúc Edge Computing

Kiến trúc Edge Computing có 3 cấp độ bảo mật:

 Cấp độ 1: Mã hóa đường truyền Giao tiếp giữa các nodes thường với supernode được mã hóa bằng AES thông qua giao thức HTTP.

Level 2: Payload Encryption Nodes registered under the same user account must utilize the registered application token to execute API calls to edgeSDK.

Hướng phát triển

Các ngành công nghiệp có tiềm năng phát triển mạnh trong tương lai nhờ công nghệ Edge Computing bao gồm những lĩnh vực sử dụng và phát triển số lượng lớn các thiết bị IoT.

+ Du lịch, vận tải và cung ứng.

Năng lượng có thể được tiết kiệm và quản lý hiệu quả thông qua việc sử dụng các cảm biến để phát hiện rò rỉ nước, giúp giảm thiểu lãng phí Trong lĩnh vực sức khỏe, các thiết bị đeo như máy theo dõi nhịp tim và robot hỗ trợ phẫu thuật đóng vai trò quan trọng, yêu cầu độ chính xác cao về thời gian và quy trình xử lý để đảm bảo an toàn và hiệu quả cho bệnh nhân.

+ Bán lẻ: ví dụ: phòng thử đồ thông minh – người mua không cần thử đồ theo cách truyền thống,

Hình 9: Ước lượng tiềm năng phát triển trong tương lai của Edge Computing

Ngày đăng: 14/12/2021, 21:44

HÌNH ẢNH LIÊN QUAN

Hình 1: Mô hình truyền dữ liệu từ thiết bị IoT đến Edge Computing đến Cloud, Data Center - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 1 Mô hình truyền dữ liệu từ thiết bị IoT đến Edge Computing đến Cloud, Data Center (Trang 4)
Hình 3: Ví dụ về cách phân chia phạm vi các nodes - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 3 Ví dụ về cách phân chia phạm vi các nodes (Trang 6)
Hình 4: Tìm, kết nối, giao tiếp giữa 2 thiết bị cùng một UID (user ID) - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 4 Tìm, kết nối, giao tiếp giữa 2 thiết bị cùng một UID (user ID) (Trang 7)
Hình 5: Các thành phần chính của Mimik edgeSDK - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 5 Các thành phần chính của Mimik edgeSDK (Trang 8)
Hình 6: Mô hình ứng dụng điều khiển đèn trên nền edge computing - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 6 Mô hình ứng dụng điều khiển đèn trên nền edge computing (Trang 9)
Hình vẽ: - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình v ẽ: (Trang 24)
Hình 8: Ba cấp độ bảo mật trong kiến trúc Edge Computing - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 8 Ba cấp độ bảo mật trong kiến trúc Edge Computing (Trang 32)
Hình 9: Ước lượng tiềm năng phát triển trong tương lai của Edge Computing - Xây dựng ứng dụng điều khiển đèn trên nền edge computing
Hình 9 Ước lượng tiềm năng phát triển trong tương lai của Edge Computing (Trang 33)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w