Internet of ThingsIoT platformsThingsboard.io

Bài 4: Gửi dữ liệu lên Thingsboard bằng MQTT

MQTT (Message Queuing Telemetry Transport) là một giao thức gửi dạng publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định. MQTT cũng là giao thức sử dụng trong Facebook Messenger. Để tìm hiểu nhiều hơn về giao thức này bạn có thể tham khảo bài viết  này https://lophocvui.com/iot-internet-of-things/smart-home/dieu-khien-bat-tat-den-voi-home-assistant-dung-nodemcu/ .Ở bài viết này lophocvui.com sẽ hướng dẫn các bạn dùng sử dụng giao thức này để đẩy dữ liệu lên Thingsboard.

I/ Tạo một thiết bị mới

Sau khi đăng nhập vào Thingsboard của bạn bằng tài khoản Tenant administrator. Bạn vào phần Device nhấp vào nút   dấu “+” màu đỏ ở bên dưới góc bên phải.

Bạn điền đầy đủ thông tin về tên,thể loại và mô tả về thiết bị của bạn rồi nhấn ADD. Để quản lý chi tiết bạn click vào thẻ thiết bị mới được tạo ra:

Bạn click vào dòng COPY ACCESS TOKEN để copy được $ACCESS_TOKEN.

$ACCESS_TOKEN là một mã(tối đa 20 ký tự) chứng thực của thiết bị đó nó sẽ được tạo ngẫu nhiên khi bạn vừa tạo ra thiết bị đó tuy nhiên bạn có thể sửa đổi nó.

  • Click vào COPY DEVICE ID để lấy ID của thiết bị của bạn.
  • Click vào MAKE DEVICE PUBLIC cho nó thành thiết bị công khai.(tất cả các customer đều xem được).
  • Click vào MANAGE CREDENTIALS để có thể thay đổi $ ACCESS TOKEN của bạn.
  • Nếu bạn muốn sửa lại tên lúc đầu bạn đặt bạn tích vào cái nút hình cái bút chì màu đỏ góc trên bên phải màn hình.

II/ Dùng MQTT đẩy dữ liệu lên thiết bị trên Thingsboard

Bây giờ bạn có thể đẩy dữ liệu từ máy tính của bạn hoặc từ esp8266,hay các cảm biến Iot khác lên thiết bị ảo này. Dữ liệu sẽ được đẩy vào trong các trường ATTRIBUTES hoặc LATEST TELEMETRY của thiết bị tùy bạn. Ở bài viết này lophocvui.com sẽ hướng dẫn các bạn viết một file python để đẩy dữ liệu lên thiết bị bằng giao thức MQTT. Dưới đây là file python để giả lập gửi dữ liệu nhiệt độ liên tục lên Thingsboard.

Chú ý:

  • Để cài đặt thư viện Paho MQTT Python Client trên Ubuntu:
  • Để cài đặt gói mosquito_client trên Ubuntu:
  • Các client sẽ kết nối với broker Thingsboard bằng user là $ACCESS_TOKEN của thiết bị và không có mật khẩu.
  • ThingsBoard hỗ trợ định dạng (key-value)khóa-giá trị trong JSON. Vậy nên trước khi gửi dữ liệu lên trong ví dụ trên đã chuyển dữ liệu nhiệt độ từ kiểu từ điển trong python sang địng dạng JSON bằng hàm json.dumps().
  • Dữ liệu ở ví dụ trên gửi vào trường LATEST TELEMETRY của thiết bị, nếu bạn gửi dữ liệu vào trường ATTRIBUTES của thiết bị,hãy publish vào topic sau: v1/devices/me/attributes.

III/ Hiển thị trực quan dữ liệu

Sau khi tạo và chạy file python như trên bạn  vào tab Devices =>Demo1 =>LATEST TELEMETRY để thấy dữ liệu của bạn.

Tuy nhiên để dữ liệu nhiệt độ này hiển thị một cách trực quan hơn đẹp hơn bạn có thể sử dụng các tiện ích hỗ trợ sẵn của Thingsboard. Ở đây bạn nên tạo một biểu đồ để hiện thị nhiệt độ. Để đơn giản bạn hãy tạo vào phần Dashboards tạo một dashboard mới(tạo tương tự như tạo thiết bị). Sau đó bạn vào phần Entity aliases =>Add Alias =>Edit alias (biểu tượng cái bút chì) và cấu hình như sau:

Sau đó vào ADD NEW WIDGET => Charts =>Timeseries – Flot.

và cấu hình như sau:

nhấn ADD là xong bây giờ bạn có thể thấy dữ liệu của bạn hiển thị trên đồ thị này.

Bạn có thể tùy chỉnh để có một giao diện đẹp và bắt mắt hơn. Ở bài viết tiếp theo lophocvui.com sẽ hướng dẫn các bạn đọc dữ liệu  nhiệt độ ,độ ẩm từ cảm biến DHT11  bằng node mcu và hiển thị lên Thingsboard.

Nguồn tham khảo:

—————————
Chi tiết liên hệ:
📌Website: lophocvui.com
☎Hotline: 0971479145//0983811938
🖌Fanpage:https://www.facebook.com/lophocvui.com/

Bình luận

Related Articles

Close
Close