Hướng dẫn chi tiết: Trực quan hóa và lưu trữ dữ liệu cảm biến IoT thời gian thực với AWS Managed Gra


Summary

Bài viết này khám phá cách trực quan hóa và lưu trữ dữ liệu cảm biến IoT theo thời gian thực bằng AWS Managed Grafana, mang lại giá trị lớn cho những ai muốn tối ưu hóa hệ thống IoT của mình. Key Points:

  • Quản lý quyền truy cập chi tiết hơn với AWS IAM giúp bảo mật dữ liệu cảm biến và ngăn chặn rò rỉ thông tin.
  • Tích hợp các dịch vụ AWS khác như Kinesis và Lambda mở rộng khả năng phân tích, tự động hóa quy trình và học máy cho dữ liệu IoT.
  • Sử dụng MQTT over WebSockets để có kết nối an toàn hơn trong môi trường truyền tải IoT thời gian thực.
Nắm bắt những chiến lược quản lý quyền truy cập, tích hợp dịch vụ và cải thiện kết nối sẽ giúp bạn nâng cao hiệu suất của hệ thống IoT.

Giới thiệu về việc giám sát dữ liệu cảm biến IoT qua AWS

Một công ty triển khai các cảm biến IoT để theo dõi các tham số môi trường như nhiệt độ, độ ẩm và áp suất tại nhiều vị trí khác nhau. Những cảm biến này sẽ gửi dữ liệu telemetry đến AWS IoT Core qua giao thức MQTT, nơi mà một quy tắc IoT xử lý và lưu trữ dữ liệu trong Amazon Timestream. Dữ liệu sau đó được trực quan hóa trong AWS Managed Grafana, cho phép giám sát thời gian thực, phát hiện bất thường và phân tích xu hướng lịch sử.

### Lợi ích chính
- **Khả năng mở rộng:** Xử lý hiệu quả khối lượng lớn dữ liệu từ cảm biến.
- **Giám sát độ trễ thấp:** Nhập khẩu và trực quan hóa dữ liệu theo thời gian thực.
- **Chi phí hợp lý:** Tối ưu hóa chuỗi thời gian của Timestream giúp giảm chi phí lưu trữ.
- **Những hiểu biết nâng cao:** Bảng điều khiển Grafana dựa trên PromQL cung cấp khả năng phân tích sâu sắc.

Hãy bắt đầu xây dựng dự án này: Truy cập vào dịch vụ AWS IoT Core, sau đó chọn Tất cả thiết bị >> Các thứ.

Lợi ích của việc sử dụng AWS cho dữ liệu IoT

Bước đầu tiên, bạn hãy nhấn vào "Tạo Thứ", sau đó chọn "Tạo Thứ Đơn". Tiếp theo, hãy đặt tên cho thiết bị của bạn, ở đây mình sẽ dùng tên "AWS_DHT_11". Đối với Thiết Bị Shadow, thì chọn Không và bấm Tiếp theo. Tiếp theo là phần Chứng chỉ Thiết bị, bạn hãy chọn tùy chọn Khuyến nghị và tiếp tục bấm Tiếp theo.

Giờ chúng ta cần nhấp vào "Tạo Chính sách" để gán chính sách này cho nhóm thiết bị của mình. Hãy đặt tên cho chính sách và trong Tài liệu Chính sách, cho phép 4 hành động khác nhau: Kết nối/Đăng bài/Nhận/Ghi danh và tài nguyên chính sách thì để là *. Sau đó, nhấn Tạo để hoàn tất.
Extended Perspectives Comparison:
Lợi íchMô tả
Khả năng mở rộngXử lý hiệu quả khối lượng lớn dữ liệu từ cảm biến.
Giám sát độ trễ thấpNhập khẩu và trực quan hóa dữ liệu theo thời gian thực.
Chi phí hợp lýTối ưu hóa chuỗi thời gian của Timestream giúp giảm chi phí lưu trữ.
Những hiểu biết nâng caoBảng điều khiển Grafana dựa trên PromQL cung cấp khả năng phân tích sâu sắc.
Quy trình thiết lậpBước từ tạo thiết bị đến cấu hình AWS Managed Grafana để trực quan hóa dữ liệu.

Bắt đầu với AWS IoT Core và tạo thiết bị

Chính sách của bạn đã sẵn sàng! Hãy đến phần Attach policy, nhấn vào biểu tượng làm mới, bạn sẽ thấy chính sách mà bạn đã tạo trước đó. Tiếp theo, hãy chọn "Create thing". Tải tất cả các chứng chỉ cần thiết như "Device certificate", "key files" và "Root CA certificates", vì chúng rất quan trọng để gửi dữ liệu tới AWS IoT Core. Giờ thì thiết bị AWS IoT Core của bạn đã được cấu hình xong! Hãy chuyển đến phần Domain Configuration và chọn endpoint. Cuối cùng, quay lại mã Arduino của bạn, dán endpoint này vào tệp secrets.h và cập nhật với tên Thing mà bạn đã tạo trước đó.

Cấu hình chính sách cho thiết bị IoT của bạn

Để bắt đầu, bạn cần sao chép mã từ kho GitHub sau:
https://github.com/aaryangupta/Sensor-Visualization-AWS.git
. Tiếp theo, hãy dán chứng chỉ thiết bị, chứng chỉ gốc và chứng chỉ riêng tư vào tệp secrets.h theo đúng vị trí của chúng. Sau khi tải lên mã của bạn vào ESP32 hoặc NodeMCU hay bất kỳ phần cứng nào mà bạn đang sử dụng, hãy truy cập bảng điều khiển AWS IoT và trong trình thử nghiệm MQTT, đăng ký vào chủ đề/đối tượng mà bạn đã tạo trước đó. Bạn sẽ thấy dữ liệu hiển thị ở đó!

Hiện tại, dữ liệu đang được gửi đến AWS IoT Core; bây giờ chúng ta cần lưu trữ dữ liệu này vào một cơ sở dữ liệu. Trong trường hợp này, tôi đã chọn cơ sở dữ liệu Timestream để lưu trữ và làm nguồn cho Grafana nhằm trực quan hóa dữ liệu cảm biến của mình. Để tạo cơ sở dữ liệu mới trong dịch vụ Timestream, hãy chọn "timestream for LiveAnalytics" và nhấp vào "tạo cơ sở dữ liệu".


Cấu hình chính sách cho thiết bị IoT của bạn Free Images


Tạo cơ sở dữ liệu Timestream để lưu trữ dữ liệu cảm biến

Bây giờ, hãy chọn cơ sở dữ liệu tiêu chuẩn và đặt tên cho nó. Ở đây, tôi đã đặt là "IOTDATA". Để mặc định mọi thứ và nhấn vào "tạo cơ sở dữ liệu". Cơ sở dữ liệu của bạn đã sẵn sàng! Bây giờ hãy nhấp vào tên cơ sở dữ liệu và chuyển đến phần bảng để tạo bảng mới. Đặt tên cho bảng và trong cài đặt sơ đồ, chọn phân vùng tùy chỉnh. Trong khóa phân vùng phối hợp - -> Khóa phân vùng = Dimensionpartition key name = device_id.

Trong thời gian lưu trữ dữ liệu, bạn có thể chọn khoảng thời gian mà bạn muốn lưu trữ dữ liệu. Sau đó, bỏ chọn các cài đặt ghi vào bộ nhớ từ tính và sao lưu tạm thời. Bấm "tạo bảng". Bảng của bạn đã được tạo xong! Giờ thì hãy vào trong bảng, tìm nút hành động và chọn "Truy vấn bảng". Chạy truy vấn dưới đây bằng cách thay thế tên cơ sở dữ liệu và bảng của bạn.

SELECT * FROM "IOTDATA"."sensordata" WHERE time between ago(15m) and now() ORDER BY time DESC LIMIT 10


Trong phần đầu ra, bạn sẽ nhận được thông báo thành công với “0 hàng bị ảnh hưởng”. Ok, bây giờ quay lại AWS IOT CORE và trong phần định tuyến tin nhắn, chọn quy tắc rồi nhấp vào "Tạo quy tắc". Đặt tên cho quy tắc; ở đây tôi đã gọi là "Timestream_Rule". Nhấn tiếp theo sau đó! Trong câu lệnh SQL, dán truy vấn dưới đây và thay thế “AWS_DHT_11/pub” bằng tên thiết bị hoặc tên chủ đề của bạn. Sau đó nhấn Tiếp theo.

Thiết lập quy tắc trong AWS IoT Core để gửi dữ liệu đến Timestream

Để thiết lập một quy tắc trong AWS IoT Core nhằm gửi dữ liệu đến Timestream, trước tiên bạn cần thực hiện câu lệnh SQL như sau: `SELECT * FROM 'AWS_DHT_11/pub'`. Tiếp theo, trong phần hành động của quy tắc, hãy chọn "Bảng Timestream". Đối với tên cơ sở dữ liệu, điền vào IOTDATA (đã tạo trước đó) và tên bảng là sensordata (cũng đã được tạo). Bạn sẽ cần chỉ định tên và giá trị cho các chiều; cụ thể là sử dụng `device_id` làm tên chiều và `${device_id}` làm giá trị tương ứng.

Về vai trò IAM, bạn có thể nhấn vào "tạo một vai trò mới" hoặc chọn một vai trò đã được tạo trước đó nếu có. Hãy đặt tên cho vai trò đó và nhấn nút để hoàn tất việc tạo.

Sau khi hoàn thành các bước trên, quy tắc của bạn sẽ trông giống như mô tả ở hình ảnh (hình ảnh này không có sẵn ở đây). Cuối cùng, hãy nhấn nút tiếp theo. Kiểm tra lại tất cả các cài đặt mà bạn đã thực hiện trước khi nhấn "Tạo" để xác nhận mọi thứ đã đúng như mong đợi.

Xác minh rằng dữ liệu đang được lưu trữ trong Timestream

Quy tắc của bạn đã sẵn sàng. Hãy trở lại trình chỉnh sửa truy vấn bảng cơ sở dữ liệu Timestream, nơi chúng ta đã chạy truy vấn trước đó. Bây giờ, hãy chạy lại cùng một truy vấn và bạn sẽ thấy dữ liệu đang được lưu trữ trong bảng của mình. Thật tuyệt vời! Gần như toàn bộ thiết lập đã hoàn thành. Giờ thì hãy bắt đầu thiết lập để trực quan hóa dữ liệu qua AWS Managed Grafana. Tìm kiếm "AWS Managed Grafana" trên thanh tìm kiếm và nhấp vào "tạo không gian làm việc". Đặt tên cho không gian làm việc của bạn và nhấn Tiếp theo. Trong phần Truy cập xác thực, chọn "Trung tâm danh tính AWS IAM (AWS SSO)". Sau đó, nó sẽ yêu cầu bạn tạo một người dùng mới. Nhấn vào "tạo người dùng".

Thiết lập AWS Managed Grafana để trực quan hóa dữ liệu

Đầu tiên, bạn cần nhập địa chỉ email và tên người dùng, sau đó nhấp vào "tạo người dùng". Sau khi làm điều này, bạn sẽ thấy một dấu tích màu xanh ghi là "Đã kích hoạt". Trong phần loại quyền truy cập, hãy chọn "quản lý bởi dịch vụ". Tiếp theo, trong các tùy chọn cấu hình workspace, hãy chọn cả hai mục và trong phần kiểm soát truy cập mạng, hãy chọn quyền truy cập mở trước khi nhấn "Tiếp theo".

Bây giờ hãy chọn "Tài khoản hiện tại" và đánh dấu tất cả các nguồn dữ liệu cùng với tên kênh thông báo rồi tiếp tục bằng cách nhấn "Tiếp theo". Cuối cùng, xem lại tất cả các cài đặt đã thực hiện và nhấp vào nút “tạo workspace” để hoàn thành.

Thêm nguồn dữ liệu Amazon Timestream vào Grafana

Việc tạo workspace này sẽ mất khoảng 5–10 phút. Sau khi hoàn tất, bạn có thể thấy một lỗi trong tab Xác thực. Để khắc phục điều này, hãy nhấp vào "Gán người dùng hoặc nhóm mới" và sau đó chọn người dùng trước khi nhấn "Gán Người dùng". Sau bước này, bạn sẽ thấy lỗi đã được giải quyết và có dấu kiểm màu xanh lá cây hiển thị. Tiếp theo, hãy quay lại phần Cấu hình người dùng và nhóm, chọn người dùng và cấp quyền quản trị cho họ; nếu không làm vậy, bạn sẽ không thể chỉnh sửa bảng điều khiển Grafana. Cuối cùng, hãy nhấp vào liên kết đến bảng điều khiển Grafana của bạn hoặc sao chép dán vào tab mới.

Xây dựng bảng điều khiển trực quan hóa cho cảm biến IoT

Bây giờ hãy nhấp vào nút "Đăng nhập". Nhập tên người dùng và chọn "quên mật khẩu" để tạo một mật khẩu mới rồi đăng nhập. Sau khi đăng nhập, bạn sẽ thấy màn hình như thế này. Ở góc trên bên trái, nhấp vào ba dòng. Truy cập vào Quản trị >> Plugin và Dữ liệu >> Plugins. Tìm kiếm Amazon Timestream và nhấp vào Cài đặt. Sau đó, đi tới Kết nối >> Nguồn dữ liệu >> Thêm nguồn dữ liệu và chọn Amazon Timestream. Nhập vùng mà bạn đã tạo cơ sở dữ liệu cùng với tên bảng và tên phép đo. Nhấn lưu & kiểm tra, nếu kết nối thành công, bạn sẽ thấy thông báo kết nối thành công. Nhấp vào "Xây dựng bảng điều khiển" để tạo bảng điều khiển.

Chạy truy vấn đầu tiên để xem tất cả dữ liệu dưới dạng bảng bằng cách chạy truy vấn sau đây:
select * FROM $__database.$__table

Bây giờ hãy chạy truy vấn này để lấy dữ liệu nhiệt độ cho trực quan hóa. Nhấn lưu & áp dụng để xem trên bảng điều khiển.
select time, measure_value::bigint from $__database.$__table where measure_name like 'temperature'

Đối với độ ẩm, thực hiện tương tự, nhấn Thêm và chọn Trực quan hóa rồi chạy truy vấn sau cho độ ẩm. Sau khi chạy xong truy vấn, hãy lưu & áp dụng.
select time, measure_value::bigint from $__database.$__table where measure_name like 'humidity'


Bảng điều khiển cảm biến IoT thời gian thực của bạn đã sẵn sàng!!! Bạn có thể tùy chỉnh giao diện bảng điều khiển theo ý mình trong phần chỉnh sửa! Hãy nhớ lưu lại bảng điều khiển này để tham khảo trong tương lai nhé! Bạn đã hoàn thành việc xây dựng một bảng điều khiển trực quan hóa cảm biến IoT thời gian thực cho ứng dụng của mình!!!

Reference Articles

Nhà Sách Tin Học

Những gì bạn sẽ học được:✓ Sử dụng dữ liệu theo phong cách Ngành để tìm hiểu cách KIẾN TRÚC CÁC TRUY VẤN SQL cho mục đích phân tích dữ liệu và báo cáo.✓ Tìm ...

Khóa Học Tìm Hiểu Cách Sử Dụng Hiệu Quả Các Công ...

Khóa học cung cấp kiến thức và hướng dẫn thực hành các công cụ AI trong các lĩnh vực văn bản, âm thanh, hình ảnh và video. Khóa học này dành cho ...

https://huggingface.co/nguyendangsonlam/lsg-ner-vi...

... và": 7, + "của": 8, + "các": 9, + "có": 10, + "là": 11, + "trong": 12, + "cho": 13, + "được": 14, + "với": 15, + "đã": 16, + "người": 17, + "không": 18, + ...

Source: Hugging Face

- Kiến Thức Cho Người lao Động Việt Nam

Do what ? Eat what? Go where? Learn what ? Listen to what? Play what ? Shop where? ... Do what ? Eat what? Go where? Learn what ? Listen to what? Play what ? Shop ...


Erwin Böttinger

Expert

Related Discussions

❖ Related Articles