Site icon TAPIT

Xây dựng hệ thống Internet of Thing sử dụng nền tảng Azure IoT Hub (P3)

Tại phần 2 của chuỗi bài viết hướng dẫn các bạn sử dụng nền tảng Azure IoT Hub, mình đã chia sẻ đến các bạn kiến trúc của một IoT Hub Endpoint và cách thức tương tác với những kiến trúc này. Trong bài viết này, mình sẽ hướng dẫn các bạn kết nối thiết bị với IoT Hub qua giao thức MQTT.

Phần 3: Hướng dẫn kết nối thiết bị với IoT Hub qua giao thức MQTT

 IoT Hub cho phép thiết bị kết nối với “IoT Hub endpoints” qua các phiên bản:   

Một thiết bị có thể sử dụng giao thức MQTT để kết nối với IoT Hub thông qua một trong hai cách sau:

Trong phạm vi bài viết này, mình sẽ hướng dẫn cách thứ 2 – Sử dụng trực tiếp giao thức MQTT để thiết bị kết nối với IoT Hub. Thiết bị khi kết nối đến IoT Hub bắt buộc phải hỗ trợ bảo mật TLS/SSL và có thể xác thực danh tính thông qua một trong hai cách: cơ chế Username/Password hoặc sử dụng chứng chỉ X5.509. Cụ thể hơn, mình sẽ hướng dẫn các bạn phương pháp bảo mật theo kiểu xác thực danh tính theo cơ chế Username/Password sử dụng MQTT.fx.

Giao thức MQTT cung cấp các trường như ClientId, Username, Password. Các trường được định nghĩa trong IoT Hub như sau:

Trong đó:

Ví dụ nếu tên IoT Hub của bạn là ThangHub.azure-devices.net, tên thiết bị là device, thì trường Username là ThangHub.azure-devices.net/device/?api-version=2018-06-30

ĐỐI VỚI SỬ DỤNG AZURE IOT HUB:

Mã SAS được tạo ra có định dạng: SharedAccessSignature sig={signature-string}&se={expiry}&sr={URL-encoded-resourceURI}

Chúng ta sử dụng mã này tại trường Password.

ĐỐI VỚI SỬ DỤNG AZURE CLI:

Nhập với lệnh: az iot hub generate-sas-token -d {device_id} -n {iothub_name}

Trong đó:

Sau đó nhấn Enter để chạy lệnh, mã SAS được tạo ra và hiện ở command.

Tại MQTT.fx, tại mục MQTT Broker Profile Settings:

Chúng ta có thể lấy địa chỉ host name của mình tại mục Overview.

Các thông số sau khi điền tại mục MQTT Broker Profile Settings và tạm không quan tâm đến các thông số General.

Tại mục User Credentials:

Vì chúng ta đang sử dụng  bảo mật SSL/TLS nên tích chọn “Enable SSL/TLS”.

Chúng ta nhấn “OK” để hoàn tất việc cấu hình.

Để kết nối thiết bị với IoT Hub chúng ta nhấn CONNECT.

Nếu thành công thì sẽ có biểu tượng ổ khóa và ô chấm màu xanh.

Như vậy qua bài này, mình đã giới thiệu cho các bạn cách thiết lập các thông số, cũng như cách kết nối thiết bị với IoT Hub qua giao thức MQTT.fx. Tiếp theo tại phần 4 – phần cuối cùng của chuỗi bài viết này, mình sẽ hướng dẫn các bạn tương tác giữa MQTT Client (sử dụng MQTT.fx) với IoT Hub qua giao thức MQTT. Chúc các bạn thành công!

Nhóm thực tập & TAPIT IoT

Quốc Thắng, Ngọc Chính, Minh Duy

Tìm hiểu thêm:
Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32
Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32
[HỌC ONLINE: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]
Fanpage Cộng đồng Kỹ thuật TAPIT: TAPIT – Learning, Research and Sharing Community