Các thành phần MQTT

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng truyền thanh số nhằm nâng cao chất lượng hệ thống truyền thanh cơ sở (Trang 83 - 91)

6. Ý nghĩa khoa học và thực tiễn của đề tài

3.3.2. Các thành phần MQTT

- Client (khách hàng): Tất cả các nhà xuất bản hoặc người đăng ký nào kết nối với nhà môi giới tập trung qua mạng đều được coi là khách hàng. Điều cần lưu ý là cả nhà xuất bản và người đăng ký đều được gọi là khách hàng, vì họ kết nối với dịch vụ tập trung, khách hàng có thể liên tục hoặc tạm thời. Khách hàng liên tục duy trì một phiên với nhà môi giới trong khi khách hàng tạm thời không được nhà môi giới theo dõi. Khách hàng thường kết nối với nhà môi giới thông

qua thư viện (C, C ++, Go, Java, C #, PHP, Python, Node.js và Arduino) và SDK. Publish (Xuất bản): Là quá trình thiết bị gửi thông điệp tới người môi giới. Broker (Nhà môi giới): Đây là phần mềm nhận tất cả các tin nhắn từ các khách hàng xuất bản gửi chúng đến các khách hàng đăng ký và được giữ kết nối với các khách hàng liên tục. Tùy thuộc vào người triển khai để quyết định cách tạo lớp môi giới có thể mở rộng. Các nhà môi giới MQTT đã triển khai thương mại bao gồm HiveMQ, Xively, AWS IoT và Loop. Connection: MQTT được sử dụng bởi các máy khách dựa trên TCP/IP. Cổng tiêu chuẩn được giới thiệu bởi các công ty môi giới năm 1883, không phải là một cổng an toàn. Những nhà môi giới hỗ trợ TLS/ SSL thường sử dụng cổng 8883. Để liên lạc an toàn, khách hàng và nhà môi giới dựa vào chứng chỉ kỹ thuật số. AWS IoT là một trong những triển khai an toàn của MQTT, yêu cầu khách hàng sử dụng chứng chỉ X.509. Message (Thông báo): Là dữ liệu mà một thiết bị nhận được khi đăng ký từ một chủ đề hoặc gửi “khi xuất bản” cho một chủ đề. Topic (Chủ đề): Là điểm cuối mà khách hàng kết nối với một chủ đề trong MQTT, hoạt động như nơi phân phối trung tâm để xuất bản và đăng ký tin nhắn. Trong MQTT, một chủ đề là một vị trí cho nhà xuất bản và người đăng ký và được tạo ra khi chúng ta thiết lập kết nối với nhà môi giới. Chủ đề là các chuỗi phân cấp đơn giản, được mã hóa bằng UTF-8 và phân cách bằng dấu gạch chéo. Người đăng ký có thể chọn đăng ký một chủ đề cụ thể hoặc tất cả các chủ đề phụ thông qua các ký tự đại diện. Subscribe (Đăng ký): Là nơi thiết bị thực hiện để truy xuất thông báo từ người môi giới.

3.3.3. Phương thức hoạt động MQTT

MQTT dựa trên các máy khách (client) và một máy chủ (server), máy chủ là người chịu trách nhiệm xử lý các yêu cầu của client về việc nhận hoặc gửi dữ liệu giữa client và server với nhau. Máy chủ MQTT được gọi là một broker (nhà môi giới) và client chỉ đơn giản là các thiết bị được kết nối. Do đó, khi một thiết bị (một client) muốn gửi dữ liệu cho broker, hoạt động này được gọi là “publish“. Khi một thiết bị muốn nhận dữ liệu từ broker, hoạt động này được gọi là “subscribe”.

Hình 3.6. Các thành phần của MQTT

Ngoài ra, các client này có thể vừa xuất bản (publish) và vừa đăng ký (subscribe) các chủ đề. Vì vậy, các nhà môi giới ở đây có nhiệm vụ xử lý các hành động xuất bản / đăng ký với các chủ đề mục tiêu. Nhược điểm của giao thức này là các Client không thể trao đổi trực tiếp với nhau, tốn tài nguyên Server để duy trì kết nối TCP khi có nhiều Client. Hệ thống truyền thông thế hệ mới dùng giao thức MQTT trên nền TCP (pha 1) hoặc TLS (pha sau). Thiết bị thuộc hệ thống truyền thanh thế hệ mới đóng vai trò là Client (có thể mở rộng lên thành Server trong tương lai nếu có nhu cầu kết nối HOST trực tiếp đến thiết bị). Thiết bị nhận thông tin từ các cảm biến (DOOR, ENV, MOTION…) rồi gửi về MQTT broker bằng cách PUBLISH bản tin. Thiết bị nhận cấu hình, lệnh điều khiển (playback) bằng cách SUBCRIBE các topic. Nội dung các bản tin tương thích với SHUv3. Một điểm khác biệt quan trọng so với SHUv3 là việc lưu trữ các log của thiết bị: khi log được gửi về Server thành công thì sẽ bị xóa khỏi bộ nhớ của thiết bị. Phương thức áp dụng MQTT tham khảo [PL-C].

3.3.4. Phương thức client gửi dữ liệu xuống client khác thông qua broker MQTT

- Mô tả chức năng hệ thống + Xác thực trạng thái của Client. + Xác thực ID khách hàng

+ Xác thực IpAddress

+ Xác thực tên người dùng và mật khẩu

+ Kiểm soát truy cập dựa trên IpAddress, ClientID, Tên người dùng

Máy chủ MQTT (Broker) Máy khách (Client) Máy khách (Client) Máy khách (Client)

+ Kết nối TCP / SSL - Ứng dụng chương trình

Chương trình được dùng để giám sát và hỗ trợ việc gửi bản tin từ một client muốn gửi dữ liệu xuống client khác thông qua broker MQTT.

- Hướng dẫn sử dụng + Môi trường chạy:

Chương trình MQTT được cài đặt hệ điều hành Linux với bản CentOS 6.6. Có thể download CentOS tại địa chỉ: https://www.centos.org/download/

+ Chạy chương trình: Giao diện chương trình như hình bên dưới:

Cấu hình một thiết bị trỏ về địa chỉ server cài đặt Broker với địa chỉ 10.4.200.171 port 1883 ta sẽ được các kết quả giám sát trên giao diện Dashboard như bên dưới.

Xác thực trạng thái của client

Hình 3.8. Xác thực trạng thái client

Xác thực ID khách hàng

Hình 3.9. Xác thực ID khách hàng

Hình 3.10. Xác thức IP Adress thiết bị.

Hình 3.11. Xác thực ngƣời dừng

Kiểm soát truy cập dựa trên IpAddress, ClientID, Tên người dùng

Hình 3.12. Kiểm soát truy cập của client

Kiểm tra một bản tin đẩy từ Client về một Client khác.

Hình 3.13. Thiết lập đẩy bản tin

Điền các thông số kết nối sau đó ấn Connect chọn Tab Media. Điền nội dung bản tin và tên topic muốn đẩy đến thiết bị client cần nhận sau đó ấn Media Data 2.

Hình 3.15. Kết quả bản tin đƣợc gửi đi

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng truyền thanh số nhằm nâng cao chất lượng hệ thống truyền thanh cơ sở (Trang 83 - 91)

Tải bản đầy đủ (PDF)

(108 trang)