intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Xây dựng hệ thống thu thập dữ liệu chuỗi thời gian

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:3

1
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đưa ra giải pháp thường xuyên cập nhật địa chỉ IP vào địa chỉ tên miền đã được xác định thông qua dịch vụ miễn phí của Duck Duck DNS. Đồng thời với giải pháp tự xây dựng máy chủ chứa dữ liệu chuỗi thời gian, tác giả đã xây dựng thành công hệ thống điều khiển giám sát và lưu trữ dữ liệu lớn dựa trên nền tảng mã nguồn mở. Ngoài ra, hệ thống không sử dụng dịch vụ điện toán đám mây, đảm bảo tính riêng tư và bảo mật trên môi trường Internet.

Chủ đề:
Lưu

Nội dung Text: Xây dựng hệ thống thu thập dữ liệu chuỗi thời gian

  1. Tuyển tập Hội nghị Khoa học thường niên năm 2024. ISBN: 978-604-82-8175-5 XÂY DỰNG HỆ THỐNG THU THẬP DỮ LIỆU CHUỖI THỜI GIAN Lê Trung Dũng Trường Đại học Thủy lợi, email: dung_lt@tlu.edu.vn 1. GIỚI THIỆU CHUNG 2. HỆ THỐNG LƯU TRỮ DỮ LIỆU CHUỖI Hiện nay việc thu thập dữ liệu chuỗi thời THỜI GIAN THỰC gian thường phải dùng hệ thống server trên Hệ thống sử dụng InfluxDB [5], cơ sở dữ nền tảng điện toán đám mây để lưu trữ và liệu nguồn mở phổ biến nhất dành cho các giám sát dữ liệu. Ngoài ra người dùng cũng nhà phát triển quản lý dữ liệu chuỗi thời gian. có thể tự xây dựng hệ thống server trong nhà InfluxDB có thể cài đặt ở mọi môi trường, từ cùng với các thiết bị IoT. các thiết bị IoT, máy tính, hay các thiết bị Tuy nhiên, khi sử dụng nền tảng điện toán biên (edge computing). đám mây, hệ thống có thể phải đối mặt với nguy cơ rò rỉ dữ liệu qua môi trường Internet. 2.1. Tổng quan cấu trúc của hệ thống Có nhiều dự án mã nguồn mở cho phép Hình 1 mô tả tổng quan cấu trúc của hệ người dùng tự phát triển thiết bị điều khiển thống. Trong đó hệ thống được triển khai trên giám sát nhà thông minh, như Thinger.io [1], 3 phần: hệ thống cơ sở dữ liệu chuỗi thời openHAB [2], hay Home Assistant [3]. Tuy gian; hệ thống cảm biến thông minh; hệ nhiên khi dữ liệu phát triển nhanh chóng, hệ thống có nhu cầu sủ dụng hệ thống lưu trữ dữ thống giao diện giám sát. Các thành phần này liệu lớn. Điều này sẽ gặp khó khăn với các hệ đều không nằm trên cùng một mạng máy tính thống trên. Ngoài ra, khi phát triển hệ thống cục bộ. Mọi kết nối đều được thực thi qua này, người dùng gặp khó khăn khi hệ thống môi trường Internet. Người dùng có thể truy địa chỉ IP thường xuyên thay đổi. Điều này cập, giám sát các thông số của hệ thống dẫn tới việc điều khiển từ xa qua Internet gặp thông qua môi trường Internet. Hệ thống khó khăn khi xác định địa chỉ IP động của không dùng nền tảng điện toán đám mây nên ngôi nhà. có thể tránh được nguy cơ rò rỉ dữ liệu thông Bài báo đưa ra giải pháp thường xuyên cập qua dịch vụ của nhà cung cấp. nhật địa chỉ IP vào địa chỉ tên miền đã được xác định thông qua dịch vụ miễn phí của Duck Duck DNS [4]. Đồng thời với giải pháp tự xây dựng máy chủ chứa dữ liệu chuỗi thời gian, tác giả đã xây dựng thành công hệ thống điều khiển giám sát và lưu trữ dữ liệu lớn dựa trên nền tảng mã nguồn mở. Ngoài ra, hệ thống không sử dụng dịch vụ điện toán đám mây, đảm bảo tính riêng tư và bảo mật trên môi trường Internet. Hình 1. Tổng quan cấu trúc của hệ thống 300
  2. Tuyển tập Hội nghị Khoa học thường niên năm 2024. ISBN: 978-604-82-8175-5 2.2. Cảm biến Ngoài khả năng gửi dữ liệu về hệ thống lưu trữ cơ sở dữ liệu chuỗi thời gian, cảm Hệ thống cho phép giám sát, tự động thu biến được thực thi trên thiết bị IoT là thập dữ liệu chuỗi thời gian như cảm biến ESP8266 có thể được giám sát trực tiếp các nhiệt độ, độ ẩm... từ các thiết bị IoT nhỏ gọn thông số thông qua WebServer triển khai trên như ESP8266 và cảm biến DHT11. Dữ liệu địa chỉ IP của thiết bị. Hình 2 mô tả các sẽ được gửi về máy chủ thông qua tên miền thông số của cảm biến trên địa chỉ IP của được cấp bởi dịch vụ miễn phí. ESP8266 là 192.168.0.106. 2.3. Cơ sở dữ liệu 3.2. Duck DNS Máy chủ lưu trữ dữ liệu được triển khai Duck DNS là một dịch vụ miễn phí dùng trên máy tính chạy hệ điều hành Linux và hệ để trỏ DNS (tên miền phụ của duckdns.org) thống cơ sở dữ liệu chuỗi thời gian. Điều này đến một IP bất kì. Do vậy, nếu triển khai dịch cho phép hệ thống có thể triển khai trên nền vụ này trên máy chủ thì máy chủ thu thập dữ tảng dữ liệu lớn. Không gian nhớ có thể mở liệu có thể nhận dữ liệu từ cảm biến mà không rộng theo quy mô của bài toán mà không bị gặp trở ngại về việc địa chỉ IP của hệ thống giới hạn bởi cấu hình của thiết bị. thay đổi. Hệ thống sẽ tự động cập nhật tên 2.4. Giao diện giám sát miền đã đăng ký với địa chỉ IP của máy chủ. Sau đây là đoạn mã lệnh giúp cho hệ Giao diện giám sát được triển khai trên hệ thống Duck DNS cập nhật địa chỉ IP một điều hành Home Assistant với tiện ích bổ sung cách tự động. InfluxDB và phần cứng Raspberry Pi 4B. Tạo file duck.sh tại đường dẫn ~/duckdns/duck.sh và chứa nội dung: 3. KẾT QUẢ NGHIÊN CỨU echo url="https://www.duckdns.org/update? domains=smarthomedhtl&token=1800957a- Hệ thống được xây dựng dựa trên thiết bị 172b-4a2c-b829-1c3a67d1728c&ip=" | curl -k -o IoT để thu thập dữ liệu và gửi về máy chủ. ~/duckdns/duck.log -K - Trong đó, máy chủ được cài đặt hệ điều hành Cập nhật địa chỉ IP trỏ tới bởi tên miền Ubuntu 22.04 LTS, và hệ thống cơ sở dữ liệu http://homedhtl.duckdns.org bằng cách: InfluxDB. Hệ thống máy chủ web dùng để + Chỉnh sửa dịch vụ cron bằng lệnh hiển thị, giám sát dữ liệu được thực thi trên crontab -e máy tính nhúng Raspberry Pi 4B, 4GB Ram với hệ điều hành Home Assistant. + Đưa nội dung sau vào phần cuối để Duck DNS cập nhật địa IP sau mỗi 5 phút: 3.1. Nút cảm biến */5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1 Cảm biến đo nhiệt độ, độ ẩm được thực thi 3.3. Home Assistant trên DHT11 và ESP8266Wifi có kích thước nhỏ gọn. Lập trình trên bộ công cụ Adruino Home Assistant được cài đặt trên phần IDE. Cảm biến tự động gửi dữ liệu về máy chủ cứng IoT Raspberry pi 4B [6]. Phiên bản tại địa chỉ www.smarthomedhtl.duckdns.org Home Assistant: Home Assistant 2023.5.4. như hình 2 mô tả. Hình 2. Giám sát dữ liệu trên ESP8266 Hình 3. Màn hình đăng nhập Home Assistant 301
  3. Tuyển tập Hội nghị Khoa học thường niên năm 2024. ISBN: 978-604-82-8175-5 Trên Hình 3, giao diện mô tả màn hình gian dài theo yêu cầu của người dùng. Điều đăng nhập hệ thống, Home Assistant, yêu cầu này không thể có được nếu không triển khai đăng nhập theo tài khoản và mật khẩu của hệ hệ thống lưu trữ dữ liệu như InfluxDB. thống. Điều này giúp đảm bảo tính bảo mật của hệ thống điều khiển và giám sát nhà 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN thông minh. 4.1. Kết luận 3.4. Kết nối máy chủ dữ liệu Bài báo đã tự xây dựng được hệ thống Trên hệ điều hành Home Assistant có hệ giám sát từ xa dựa trên hệ thống cơ sở dữ liệu thống quản lý và cài đặt các tiện ích bổ sung. chuỗi thời gian. Hệ thống máy chủ có thể tự Trong đó có tiện ích InfluxDB, tiện ích này cấu hình để cập nhật địa chỉ IP với tên miền giúp cho việc kết nối máy chủ dữ liệu và đã đăng ký với dịch vụ miễn phí DuckDNS. giám sát dữ liệu một cách dễ dàng. Máy chủ dữ liệu được phát triển trên hệ thống cơ sở dữ liệu chuỗi thời gian InfluxDB, có thể mở rộng cấu hình một cách dễ dàng theo công nghệ dữ liệu lớn. Ngoài ra, bài báo xây dựng hệ thống giao diện giám sát dựa trên tiện ích mở rộng InfluxDB trên hệ điều hành Home Assistant và thiết bị nhúng Raspberry Pi 4B, điều này giúp cho việc triển khai giao diện một cách nhanh chóng. Hệ thống hoàn toàn được triển khai trên nền tảng mã nguồn mở, tự phát triển, không dựa vào bất cứ dịch vụ điện toán đám mây nào, điều này giúp cho việc tự chủ hệ thống, Hình 4. Kết nối máy chủ InfluxDB giảm nguy cơ rò rỉ dữ liệu từ phía nhà cung Hình 4 mô tả cách khai báo cấu hình để truy cấp dịch vụ. cập dữ liệu chuỗi thời gian trên máy chủ được 4.2. Hướng phát triển của đề tài tại địa chỉ http://smarthomedhtl.duckdns.org. Trên đó hệ thống sẽ phải khai báo Token để Hệ thống có thể tiếp tục được mở rộng và đảm bảo vấn đề bảo mật. triển khai trên diện rộng với nhiều hệ thống cơ sở dữ liệu hơn và nhiều loại cảm biến từ nhiều vị trí địa lý khác nhau. 5. TÀI LIỆU THAM KHẢO [1] Thinger.io, 2023. [Trực tuyến]. Available: https://thinger.io/. [2] openHAB, 2023. [Trực tuyến]. Available: https://www.openhab.org/. [3] Home Assistant, 2023. [Trực tuyến]. Available: https://www.home-assistant.io/. [4] Duck DNS, 2023. [Trực tuyến]. Available: Hình 5. Giao diện giám sát dữ liệu https://www.duckdns.org/. [5] Influxdata, 2024. [Trực tuyến]. Available: Hình 5 mô tả giao diện giám sát dữ liệu https://www.influxdata.com/. nhiệt độ và độ ẩm. Giao diện này hoàn toàn [6] Raspberry Pi, 2023. [Trực tuyến]. Available: có thể mô tả dữ liệu trong một khoảng thời https://www.raspberrypi.com/. 302
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2