1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình

109 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (16)
    • 1.1 GIỚI THIỆU CHUNG (16)
    • 1.2 MỤC TIÊU NGHIÊN CỨU ĐỀ TÀI (17)
    • 1.3 GIỚI HẠN ĐỀ TÀI (18)
    • 1.4 TÌNH HÌNH NGHIÊN CỨU (18)
      • 1.4.1 Sự phát triển của công nghệ thu thập và giám sát năng lượng (18)
      • 1.4.2 Sự phát triển của công nghệ thu thập và giám sát năng lượng (19)
    • 1.5 PHẠM VI VÀ PHƯƠNG PHÁP NGHIÊN CỨU (20)
      • 1.5.1 Phạm vi nghiên cứu (20)
      • 1.5.2 Phương pháp nghiên cứu (21)
    • 1.6 BỐ CỤC ĐỀ TÀI (23)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (23)
    • 2.1 GIỚI THIỆU VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT NĂNG LƯỢNG (24)
      • 2.1.1 Khái niệm (24)
      • 2.1.2 Lợi ích của việc sử dụng hệ thống (24)
      • 2.1.3 Hạn chế của hệ thống (25)
    • 2.2 GIAO THỨC TRUYỀN THÔNG MODBUS RTU (25)
      • 2.2.1 Giới thiệu (25)
      • 2.2.2 Cấu trúc bản tin Modbus RTU (26)
      • 2.2.3 Ứng dụng (27)
    • 2.3 GIAO THỨC MQTT (28)
      • 2.3.1 Giới thiệu (28)
      • 2.3.2 Tính năng nổi bật (28)
      • 2.3.3 Tổng quan về mô hình Pub/Sub (29)
      • 2.3.4 Thành phần của MQTT (30)
      • 2.3.5 Cơ chế hoạt động (30)
      • 2.3.6 Ưu điểm (31)
    • 2.4 CƠ SỞ DỮ LIỆU ( DATABASE ) (32)
      • 2.4.1 Khái niệm (32)
      • 2.4.2 Tầm quan trọng của database (32)
      • 2.4.3 SQL và NoSQL (33)
      • 2.4.4 SQLite3 (35)
      • 2.4.5 PostgreSQL (35)
    • 2.5 DỮ LIỆU CHUỖI THỜI GIAN ( TIME SERIES DATA ) (36)
      • 2.5.1 Khái niệm (36)
      • 2.5.2 Đặc điểm và ứng dụng (37)
      • 2.5.3 Timescale - Giải pháp lưu trữ dữ liệu chuỗi thời gian (37)
    • 2.6 RULE ENGINE (38)
      • 2.6.1 Giới thiệu (38)
      • 2.6.2 Ứng dụng (38)
  • CHƯƠNG 3 PHÂN TÍCH YÊU CẦU (23)
    • 3.1 YÊU CẦU CHỨC NĂNG (40)
      • 3.1.1 Gateway (40)
      • 3.1.2 Server giám sát thiết bị (41)
    • 3.2 YÊU CẦU PHI CHỨC NĂNG (43)
      • 3.2.1 Giao diện người dùng (43)
      • 3.2.2 Phương thức giao tiếp (43)
      • 3.2.3 Độ tin cậy và chính xác của dữ liệu (43)
      • 3.2.4 Hiệu suất và thời gian phải hồi (43)
    • 3.3 CÁC TÁC NHÂN TRONG HỆ THỐNG (44)
    • 3.4 SƠ ĐỒ USE CASE (44)
    • 4.1 SƠ ĐỒ THIẾT KẾ HỆ THỐNG (46)
    • 4.2 THIẾT KẾ GATEWAY IOT THU THẬP NĂNG LƯỢNG (46)
      • 4.2.1 Kiến trúc tổng thể (46)
      • 4.2.2 Sơ đồ kết nối Gateway với thiết bị thu thập dữ liệu (48)
      • 4.2.3 Thiết kế cơ sở dữ liệu (49)
      • 4.2.4 Thiết kế backend (55)
      • 4.2.5 Thiết kế frontend (64)
    • 4.3 THIẾT KẾ SERVER TẬP TRUNG (67)
      • 4.3.1 Kiến trúc tổng thể (67)
      • 4.3.2 Thiết kế cơ sở dữ liệu (68)
      • 4.3.3 Sequence diagram (76)
  • CHƯƠNG 5 TRIỂN KHAI VÀ THỰC NGHIỆM (24)
    • 5.1 MÔI TRƯỜNG TRIỂN KHAI (81)
      • 5.1.1 Triển khai Gateway (81)
      • 5.1.2 Triển khai Server giám sát (81)
    • 5.2 KẾT QUẢ THỰC NGHIỆM (82)
      • 5.2.1 Tổng quan kết quả đạt được (82)
      • 5.2.2 Độ chính xác của dữ liệu (83)
      • 5.2.3 Giao diện Gateway (85)
      • 5.2.4 Giao diện Server giám sát (94)
  • CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (23)
    • 6.1 KẾT LUẬN (106)
    • 6.2 HƯỚNG PHÁT TRIỂN (107)
  • TÀI LIỆU THAM KHẢO (108)

Nội dung

Thông tin đề tài Tên đề tài: THIẾT KẾ HỆ THỐNG THU THẬP VÀ GIÁM SÁT DỮ LIỆU ĐIỆN NĂNG CHO CÔNG TY THƯƠNG MẠI VÀ KỸ THUẬT THÁI BÌNH Đơn vị quản lý: Bộ môn Công nghệ kỹ thuật Máy tính - V

TỔNG QUAN

GIỚI THIỆU CHUNG

Công nghiệp hóa - hiện đại hóa là một quá trình phát triển tất yếu và không thể thiếu đối với bất kỳ quốc gia nào trên thế giới, đặc biệt là đối với Việt Nam - một quốc gia có nền kinh tế hội nhập sâu rộng với nền kinh tế toàn cầu Quá trình công nghiệp hóa - hiện đại hóa này đang tạo ra những bước tiến mạnh mẽ, thúc đẩy toàn bộ các lĩnh vực trong nền kinh tế của đất nước Nhưng đi kèm với sự phát triển đó là một nhu cầu về năng lượng khổng lồ để đáp ứng được cho nền công nghiệp đang phát triển vượt bậc này

Với nhu cầu năng lượng khổng lồ ấy, việc tiết kiệm năng lượng là một việc cực kỳ cần thiết vì nó liên quan đến vấn đề an ninh trong việc sản xuất của các nhà máy, việc giảm thiểu chi tiêu dẫn đến việc giảm giá thành sản phẩm, cạnh tranh với thị trường và có một lợi nhuận cao hơn cho mỗi doanh nghiệp Thử nghĩ xem cùng một lĩnh vực chế tạo sản xuất hoặc kinh doanh buôn bán mà công ty của chúng ta chỉ sử dụng nguồn năng lượng để cung cấp cho việc sản xuất, hoạt động thấp hơn đối thủ 10% thì đó cũng chính là một trong những nguồn thu nhập và lợi nhuận của công ty

Nắm được nhu cầu cấp thiết về việc thu thập và giám sát năng lượng đó, chúng tôi đã thiết kế và xây dựng “Hệ thống thu thập và giám sát dữ liệu điện năng” Với hệ thống này người dùng có thể thu thập dữ liệu và hiển thị nó một cách trực quan Điều đó giúp cho chúng ta có thể phát hiện và ngăn chặn kịp thời những sự cố liên quan về năng lượng, giám sát năng lượng tiêu thụ của máy móc một cách trực tiếp, phát hiện sự lãng phí và từ những dữ liệu đó ta có thể phân tích và đưa ra các chiến lược về việc sử dụng nguồn năng lượng một cách có hiệu quả hơn, góp phần giảm thiểu chi phí và bảo vệ môi trường.

MỤC TIÊU NGHIÊN CỨU ĐỀ TÀI

Mục tiêu chính của đề tài này nhằm phát triển một hệ thống có khả năng giám sát thiết bị, thu thập dữ liệu một cách dễ dàng và hệ thống này sẽ là một nền tảng thu thập dữ liệu đặt nền móng cho việc phát triển các hệ thống khác trong tương lai Và để đạt được mục tiêu này nhóm chúng tôi sẽ thực hiện xây dựng hệ thống gồm 2 phần chính là Gateway thu thập năng lượng và Server giám sát thiết bị Đối với Gateway thu thập năng lượng sẽ có những chức năng sau:

- Phần cứng giao tiếp với các thiết bị thu thập bằng giao thức RS485

- Phần mềm: Hiển thị giao diện cho phép người dùng:

+ Tạo mới, chỉnh sửa, xóa các thiết bị thu thập năng lượng

+ Giám sát được dữ liệu đã thu thập của từng thiết bị

+ Giám sát được thông số hệ thống

+ Điều chỉnh, thiết lập được các thông số cấu hình của Gateway + Xem được các trạng thái nhật ký hoạt động lỗi trong quá trình vận hành Đối với server giám sát thiết bị các yếu tố và chức năng liên quan:

- Xác thực, phân quyền người dùng, mỗi quyền sẽ có các quyền hạn nhất định để truy cập vào các tài nguyên

- Quản lý thiết bị, gateway Giao diện quản lý hiển thị chi tiết thông tin thiết bị

- Giám sát trạng thái kết nối, xác thực, dữ liệu thu thập của thiết bị

- Quản lý thẻ, các thẻ này có thể được gán vào thiết bị để phân loại từng thiết bị

- Hỗ trợ tích hợp vào các hệ thống khác thông qua REST API và API Key.

GIỚI HẠN ĐỀ TÀI

Bên cạnh những mục tiêu đã đề ra, đề tài còn một vài giới hạn như sau:

- Gateway chỉ hỗ trợ giao thức RS485

- Việc triển khai hệ thống yêu cầu các thiết bị phần cứng như Gateway, Server, và các thiết bị đo điện năng Chi phí cho việc mua sắm và bảo trì các thiết bị này có thể là một yếu tố hạn chế.

TÌNH HÌNH NGHIÊN CỨU

1.4.1 Sự phát triển của công nghệ thu thập và giám sát năng lượng trong dân dụng

Trong những năm trở lại đây, công nghệ thu thập và giám sát năng lượng đã có những bước tiến đáng kể, đem đến nhiều lợi ích cho người dân trong việc quản lý và tiết kiệm năng lượng Các hệ thống giám sát năng lượng ngày càng trở nên phổ biến và dễ tiếp cận hơn, giúp người dân có thể theo dõi và kiểm soát mức tiêu thụ năng lượng trong gia đình một cách chính xác và hiệu quả

Trước đây, các hệ thống giám sát năng lượng thường được áp dụng trong các tòa nhà, nhà máy hoặc cơ sở công nghiệp lớn, với chi phí đầu tư cao và quy mô phức tạp Tuy nhiên, với sự phát triển của công nghệ, các thiết bị và ứng dụng giám sát năng lượng dân dụng đã trở nên phổ biến và dễ dàng tiếp cận hơn

Các nhà sản xuất đã tập trung phát triển các giải pháp giám sát năng lượng nhỏ gọn, đơn giản và giá cả phải chăng, phù hợp với nhu cầu của người dân Những thiết bị thông minh như đồng hồ đo năng lượng kỹ thuật số, cảm biến và ứng dụng điện thoại thông minh cho phép người dân theo dõi mức tiêu thụ năng lượng của từng thiết bị hoặc toàn bộ hệ thống điện trong nhà Điều này giúp người dân có thể xác định những nguồn tiêu thụ năng lượng lớn, điều chỉnh thói quen sử dụng và áp dụng các biện pháp tiết kiệm năng lượng hiệu quả hơn

Ngoài ra, sự phát triển của các nền tảng điện toán đám mây và công nghệ phân tích dữ liệu đã mở ra nhiều khả năng mới trong việc quản lý và tối ưu hóa tiêu thụ năng lượng Các nhà cung cấp dịch vụ giám sát năng lượng có thể cung cấp các giải pháp toàn diện, bao gồm thu thập dữ liệu, phân tích và đề xuất các giải pháp tiết kiệm năng lượng dựa trên hành vi và mô hình tiêu thụ của người dân

Một trong những hệ thống giám sát năng lượng lớn nhất hiện nay dành cho đời sống của người dân ở Việt Nam là hệ thống giám sát năng lượng của tập đoàn EVN Họ thu thập năng lượng qua hệ thống giám sát năng lượng và lưu trữ dữ liệu sử dụng điện năng của người dùng, sau đó gửi dữ liệu về cho người dùng để họ biết được năng lượng tiêu thụ của họ

Với sự phát triển này, công nghệ thu thập và giám sát năng lượng trong dân dụng đã trở thành một công cụ hữu ích, giúp người dân có thể kiểm soát và quản lý tốt hơn mức tiêu thụ năng lượng của gia đình, góp phần vào việc bảo vệ môi trường và tiết kiệm chi phí

1.4.2 Sự phát triển của công nghệ thu thập và giám sát năng lượng trong công nghiệp

Trong lĩnh vực công nghiệp, sự phát triển của công nghệ thu thập và giám sát năng lượng đã đóng một vai trò quan trọng trong việc nâng cao hiệu quả sử dụng năng lượng, giảm chi phí và tăng cường bảo vệ môi trường Các công nghệ này đã trở thành một phần không thể thiếu trong quá trình quản lý và tối ưu hóa sử dụng năng lượng tại các nhà máy, xí nghiệp và các cơ sở sản xuất

Một trong những công nghệ tiên tiến nhất trong lĩnh vực này là hệ thống giám sát năng lượng (Energy Management System - EMS) Các hệ thống này sử dụng các cảm biến, thiết bị đo lường và phần mềm chuyên dụng để thu thập, phân tích và theo dõi dữ liệu về mức tiêu thụ năng lượng trong toàn bộ quy trình sản xuất Nhờ đó, các nhà quản lý có thể xác định được các điểm tiêu thụ năng lượng lớn, phát hiện ra những khu vực hoặc thiết bị không hiệu quả, và đưa ra các giải pháp cải thiện phù hợp

Schneider Electric là một trong những công ty hàng đầu cung cấp các giải pháp EMS (Energy Management System) và BMS (Building Management giúp theo dõi, phân tích và tối ưu hóa việc sử dụng năng lượng, trong khi BMS cho phép quản lý tự động các hệ thống điện, thông gió và sưởi ấm trong tòa nhà Schneider cũng cung cấp các giải pháp SCADA (Supervisory Control and Data Acquisition) để giám sát và điều khiển các quy trình công nghiệp

Siemens cũng là một nhà cung cấp hàng đầu về giải pháp quản lý năng lượng công nghiệp Hệ thống SCADA của Siemens, như SIMATIC WinCC và SIMATIC PCS 7, cho phép giám sát và điều khiển các quy trình sản xuất phức tạp Ngoài ra, Siemens còn cung cấp các giải pháp BMS như Desigo để quản lý hiệu quả năng lượng trong các tòa nhà

Rockwell Automation là một công ty công nghệ công nghiệp lớn, chuyên cung cấp các giải pháp SCADA và phần mềm như FactoryTalk để giám sát và điều khiển các quy trình sản xuất Hệ thống FactoryTalk của Rockwell Automation cho phép thu thập, phân tích và trực quan hóa dữ liệu về năng lượng trong môi trường sản xuất

Tuy nhiên, một giới hạn chính của các hệ thống EMS, BMS và SCADA của các hãng này là chúng thường yêu cầu sử dụng các thiết bị và phần mềm chuyên biệt của hãng đó Điều này có nghĩa rằng, để triển khai một hệ thống quản lý năng lượng đầy đủ, các doanh nghiệp phải sử dụng các sản phẩm và giải pháp từ cùng một nhà cung cấp Việc tích hợp các thiết bị và phần mềm của các hãng khác nhau vào hệ thống có thể gặp khó khăn do vấn đề tương thích và kết nối

Giới hạn này đôi khi có thể hạn chế khả năng lựa chọn và tối ưu cho doanh nghiệp, buộc họ phải sử dụng các giải pháp từ một nhà cung cấp duy nhất, thay vì có thể lựa chọn các thiết bị và phần mềm tốt nhất từ nhiều nguồn khác nhau.

PHẠM VI VÀ PHƯƠNG PHÁP NGHIÊN CỨU

Hệ thống được thiết kế nhằm thực hiện những tính năng của một hệ thống thu thập và giám sát năng lượng nhằm mục đích thương mại Đối tượng nhắm đến việc thương mại là dành cho các công ty, xí nghiệp vừa và nhỏ cùng với dân dụng để mọi người có thể giám sát năng lượng tiêu thụ của họ một cách trực quan Với phạm vi khách hàng như vậy đòi hỏi chúng tôi phải cho ra một sản phẩm có chi phí rẻ, có nhiều mẫu mã lựa chọn và có những tính năng một cách linh động dành cho từng loại khách hàng

Tra cứu tài liệu và nắm vững kiến thức về các giao thức Tham khảo các nghiên cứu và sản phẩm đã ra mắt trước đây của các hãng chuyên sản xuất các thiết bị và giải pháp liên quan cũng như các nghiên cứu của sinh viên đối với đề tài này và một số đề tài liên quan, sách, giáo trình và các tài liệu để có được cái nhìn tổng quan về đối tượng nghiên cứu Nhằm đảm bảo nhóm có nền tảng cơ sở lý thuyết vững chắc để thiết kế hệ thống

Xác định rõ được mục tiêu nghiên cứu của hệ thống và lập ra kế hoạch nghiên cứu cụ thể, rõ ràng để việc nghiên cứu đạt được kết quả mong muốn Dựa vào các kiến thức và yêu cầu thu được, tiến hành thiết kế xây dựng hệ thống để đạt được yêu cầu

Quy trình các bước thực hiện đề tài:

Hình 1.1 Quy trình thực hiện đề tài

BỐ CỤC ĐỀ TÀI

Bài báo cáo được chia làm 5 phần chính:

Giới thiệu chung về đề tài nghiên cứu, tính cấp thiết và ứng dụng thực tế của đề tài Bên cạnh đó cũng đưa ra một số mục tiêu, giới hạn và phương pháp nghiên cứu của đề tài.

CƠ SỞ LÝ THUYẾT

GIỚI THIỆU VỀ HỆ THỐNG THU THẬP VÀ GIÁM SÁT NĂNG LƯỢNG

Hệ thống thu thập và giám sát năng lượng (PMS - Power Monitoring System) là hệ thống cho phép người dùng có thể đo lường và theo dõi được năng lượng tiêu thụ được thu thập từ các thiết bị thu thập năng lượng, từ đó cho phép người dùng có thể theo dõi trực tiếp, quản lý rủi ro, tối ưu hóa năng lượng tiêu thụ cho các thiết bị và từ những dữ liệu năng lượng tiêu thụ thu thập được mà đưa ra những giải pháp tiết kiệm năng lượng giúp bảo vệ môi trường, giảm thiểu chi phí về năng lượng và tạo ra những nguồn lợi nhuận khác cho người dùng

Hiện nay, những nhà máy, xí nghiệp đa số đều sử dụng những hệ thống PMS này hoặc những hệ thống liên quan để quản lý năng lượng tiêu thụ và giúp tăng lợi nhuận cho công ty nhiều hơn

2.1.2 Lợi ích của việc sử dụng hệ thống

Việc sử dụng hệ thống thu thập và giám sát năng lượng mang đến những lợi ích sau:

- Theo dõi trực quan năng lượng của từng thiết bị, khu vực được kết nối với hệ thống.

- Giám sát trực tiếp phát hiện rủi ro vượt ngưỡng, mất tín hiệu,

- Thuận tiện cho việc bảo trì, lắp đặt.

- Lưu trữ dữ liệu thu thập cho phép người dùng có thể lấy dữ liệu năng lượng để xem xét lỗi, phân tích dữ liệu để đưa ra giải pháp tiết kiệm năng lượng,

2.1.3 Hạn chế của hệ thống

Bên cạnh những lợi ích đã đưa ra, hệ thống thu thập và giám sát năng lượng còn có những hạn chế như chỉ có thể giám sát được năng lượng đã thu thập mà không có điều khiển, nếu muốn có điều khiển thì phải nâng cấp hệ thống SCADA với nguồn kinh phí đắt đỏ hơn Việc tích hợp giữa các hãng còn hạn chế, chỉ những hệ thống của hãng này mới thu thập được năng lượng của nó chứ không thu thập được các hãng khác.

GIAO THỨC TRUYỀN THÔNG MODBUS RTU

Modbus là một giao thức truyền thông phổ biến được sử dụng rộng rãi trong các hệ thống điều khiển và giám sát công nghiệp Giao thức này cho phép giao tiếp giữa các thiết bị khác nhau như máy tính, thiết bị điều khiển logic, thiết bị hiển thị, đầu đọc và các thiết bị đầu cuối khác

Modbus hoạt động dựa trên mô hình truyền thông master/slave, trong đó máy chủ (master) khởi tạo yêu cầu và các thiết bị slave phản hồi Điều này cho phép truyền thông tin liên lạc hai chiều giữa các thiết bị trên mạng

Modbus là một cấu trúc truyền tin, một giao thức truyền thông tiêu chuẩn quốc tế dùng để trao đổi dữ liệu giữa các thiết bị của các hãng khác nhau và nó có thể sử dụng trên nhiều môi trường truyền khác nhau như RS-232, RS-485, Ethernet, Tùy vào mục đích của việc truyền thông mà người dùng có thể sử dụng các chuẩn truyền khác nhau Ví dụ như chuẩn truyền RS-232 thường được dùng để giao tiếp master – slave theo hình thức p2p (point to point), có nghĩa là chuẩn RS-232 thường dùng cho các trường hợp có 1 master và 1 slave giao tiếp với nhau mà không cần thông qua mạng trung gian nào khác Chuẩn RS-485 là chuẩn phổ biến vì nó có thể truyền tin với chống nhiễu tốt và kết nối được nhiều thiết bị trên 1 đường truyền Dây cáp truyền tin của RS-485 yêu cầu là cáp xoắn và có giới hạn truyền tin trong bán kính 500m, kèm với sự lắp đặt dễ dàng và chi phí thấp nên hiện tại chuẩn truyền thông RS-485 rất phổ biến trong lĩnh vực công nghiệp [1]

2.2.2 Cấu trúc bản tin Modbus RTU

Một khung tin Modbus RTU (Remote Terminal Unit) được xây dựng dựa trên các khung tin UART (Universal Asynchronous Receiver/Transmitter) Các khung tin Modbus phải được phân cách bởi một khoảng thời gian im lặng (silent interval) tối thiểu bằng 3,5 lần thời gian truyền một ký tự UART Trong một khung tin Modbus, các ký tự phải được truyền liên tục Nếu có khoảng im lặng lớn hơn 1,5 lần thời gian truyền một ký tự xuất hiện trong khung tin, khung tin đó sẽ bị coi là không hoàn chỉnh và bị bỏ qua bởi thiết bị nhận

Hình 2.1 Cấu trúc bản tin Modbus RTU

Hình 2.2 Quá trình truyền nhận giao thức Modbus RTU

Khung tin từ thiết bị Master gọi là Query, còn khung tin phản hồi từ Slave gọi là Response Master có thể gửi khung tin broadcast cho tất cả các Slave mà không yêu cầu phản hồi

Khung tin Query và Response của Modbus RTU gồm 4 trường chính:

1 Trường địa chỉ (Address Field): Xác định địa chỉ của Slave mà Master muốn giao tiếp, từ 1 đến 247

2 Trường mã lệnh (Function Code): Chỉ định hành động mà Master yêu cầu Slave thực hiện, như đọc/ghi dữ liệu

3 Trường dữ liệu (Data): Chứa thông tin bổ sung cho Slave thực hiện lệnh trong Query, hoặc chứa dữ liệu yêu cầu trong Response

4 Trường kiểm tra lỗi (Error Check): Sử dụng phương pháp Cyclical Redundancy Check (CRC) để kiểm tra lỗi khung tin, chiếm 16 bit Điều quan trọng là các khung tin Modbus phải tuân thủ khoảng thời gian im lặng và cách bố trí các trường dữ liệu theo quy định để đảm bảo giao tiếp đúng cách giữa Master và Slave

Modbus RTU (Remote Terminal Unit) là một giao thức truyền thông phổ biến trong lĩnh vực điều khiển và thu thập dữ liệu trong công nghiệp Nó có nhiều ứng dụng quan trọng như sau [1]:

- Hệ thống giám sát và điều khiển quy trình sản xuất: Modbus RTU được sử dụng để giám sát và điều khiển các thiết bị như PLC (Programmable Logic Controller), HMI (Human-Machine Interface), và các cảm biến trong môi trường sản xuất công nghiệp

- Hệ thống quản lý tòa nhà (BMS - Building Management System): Giao thức này được sử dụng để giám sát và điều khiển các hệ thống như điều hòa không khí, đèn chiếu sáng, hệ thống báo cháy và an ninh trong các tòa nhà thông minh

- Hệ thống điều khiển và giám sát năng lượng: Modbus RTU cho phép thu thập dữ liệu từ các thiết bị đo đạc như đồng hồ điện, cảm biến nhiệt độ và áp suất, giúp quản lý và tối ưu hóa việc sử dụng năng lượng trong các nhà máy và tòa nhà

- Hệ thống giám sát và điều khiển môi trường: Giao thức này được sử dụng để giám sát và điều khiển các thiết bị đo lường môi trường như cảm biến nhiệt độ, độ ẩm, áp suất, và chất lượng không khí trong các nhà kính, phòng thí nghiệm và nhà máy

- Hệ thống đo lường và giám sát từ xa: Modbus RTU cho phép truyền dữ liệu đo lường và giám sát qua đường truyền dài như mạng điện thoại, radio hoặc vệ tinh, giúp giám sát và điều khiển từ xa các hệ thống và thiết bị trong ngành dầu khí, điện lực và giao thông

- Hệ thống tự động hóa trong nông nghiệp: Giao thức này được sử dụng để giám sát và điều khiển các thiết bị như máy bơm, van, cảm biến trong hệ thống tưới tiêu và kiểm soát môi trường trong nhà kính

Modbus RTU là giao thức tiêu chuẩn, dễ triển khai và tương thích với nhiều loại thiết bị khác nhau từ các nhà sản xuất khác nhau, đó là lý do nó được sử dụng rộng rãi trong nhiều lĩnh vực công nghiệp.

GIAO THỨC MQTT

MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông điệp (message) theo mô hình publish/subscribe, được sử dụng cho các thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng sử dụng tốt trong điều kiện mạng không ổn định [2]

Mô hình Pub/Sub hỗ trợ truyền tải thông điệp phân tán một chiều, tách biệt với các phần của ứng dụng

Thông điệp được truyền ngay lập tức mà không quan tâm đến nội dung cụ thể

Sử dụng giao thức TCP/IP làm nền tảng

Hỗ trợ ba mức độ tin cậy trong truyền tải dữ liệu (QoS: Quality of Service):

- QoS 0: Broker/client chỉ gửi dữ liệu một lần và việc gửi được xác nhận thông qua giao thức TCP/IP

- QoS 1: Broker/client gửi dữ liệu với ít nhất một lần xác nhận từ phía nhận, có thể có nhiều hơn một lần xác nhận

- QoS 2: Broker/client đảm bảo dữ liệu được nhận đúng một lần thông qua quy trình bắt tay bốn bước

Gói dữ liệu được tối ưu hóa để giảm tải cho đường truyền

2.3.3 Tổng quan về mô hình Pub/Sub

Mô hình Pub/Sub bao gồm hai thành phần chính: Client và Broker Client được chia thành hai vai trò là Publisher và Subscriber

Broker đóng vai trò trung tâm, là điểm kết nối của tất cả các Client (Publisher/Subscriber) Chức năng chính của Broker là nhận thông điệp từ Publisher, xếp vào hàng đợi, và sau đó chuyển tiếp đến địa chỉ cụ thể Ngoài ra, Broker còn có thể thực hiện các chức năng bổ sung như bảo mật thông điệp, lưu trữ thông điệp, và ghi lại nhật ký

Client được chia thành hai loại: Publisher và Subscriber Client có thể thực hiện ít nhất một trong hai nhiệm vụ: publish thông điệp lên một hoặc nhiều chủ đề cụ thể (topics) hoặc subscribe vào một hoặc nhiều chủ đề để nhận thông điệp từ các chủ đề này

MQTT Clients có khả năng tương thích với hầu hết các hệ điều hành phổ biến hiện nay như macOS, Windows, Linux, Android, và iOS

Các thành phần chính của MQTT bao gồm Client (Publisher/Subscriber), Server (Broker), Sessions (phiên làm việc), Subscriptions và Topics

- MQTT Client (Publisher/Subscriber): Các client sẽ subscribe một hoặc nhiều topic để gửi và nhận thông điệp từ những topic tương ứng

- MQTT Server (Broker): Broker xử lý các yêu cầu đăng ký (subscriptions) từ client, nhận thông điệp và chuyển tiếp chúng đến các Subscriber phù hợp dựa trên các đăng ký từ client

- Topic: Topic có thể được xem như là một hàng đợi các thông điệp, và có khuôn mẫu cho Subscriber hoặc Publisher Về mặt logic, các topic cho phép Client trao đổi thông tin với những ngữ nghĩa đã được định nghĩa trước Ví dụ:

Dữ liệu cảm biến nhiệt độ của một tòa nhà

- Session: Một session là kết nối giữa client và server Tất cả các giao tiếp giữa client và server đều thuộc về một session

- Subscription: Khác với session, subscription là kết nối logic giữa client và topic Khi đã đăng ký một topic, Client có thể gửi và nhận thông điệp với topic đó

MQTT hoạt động theo cơ chế client/server, trong đó mỗi cảm biến hoạt động như một khách hàng (client) và kết nối đến một máy chủ môi giới (broker) thông qua giao thức TCP (Transmission Control Protocol) Broker chịu trách nhiệm điều phối tất cả các thông điệp từ phía gửi đến đúng phía nhận

MQTT là một giao thức định hướng bản tin, nghĩa là mỗi bản tin là một đoạn tín hiệu rời rạc mà broker không thể nhìn thấy nội dung Mỗi bản tin được gửi đến một địa chỉ, gọi là kênh (Topic) Client đăng ký vào một hoặc nhiều kênh để nhận hoặc gửi dữ liệu, gọi là subscribe Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gửi dữ liệu vào kênh mà họ đã đăng ký Khi một client gửi bản tin đến một kênh nào đó, hành động này được gọi là publish

Một phiên MQTT bao gồm bốn giai đoạn: kết nối, xác thực, giao tiếp và kết thúc

- Kết nối: Client bắt đầu bằng cách tạo kết nối TCP/IP tới broker, sử dụng cổng tiêu chuẩn hoặc cổng tùy chỉnh do các nhà phát triển broker xác định Cổng tiêu chuẩn là 1883 cho giao tiếp không mã hóa và 8883 cho giao tiếp được mã hóa sử dụng SSL (Secure Sockets Layer) / TLS (Transport Layer Security) Trong quá trình giao tiếp SSL/TLS, client cần xác thực máy chủ

- Xác thực: Trong giai đoạn này, client và broker xác thực lẫn nhau để đảm bảo an toàn trong quá trình truyền thông tin

- Giao tiếp: Sau khi kết nối và xác thực, client sẽ gửi bản tin lên broker nếu nó là Publisher hoặc nhận bản tin từ broker nếu nó là Subscriber Quá trình này tiếp tục diễn ra cho đến khi kết nối kết thúc

- Kết thúc: Phiên làm việc sẽ kết thúc khi client hoặc broker đóng kết nối Sau khi kết thúc, để tiếp tục truyền nhận MQTT, quy trình lại quay về các bước trên

Về ưu điểm của MQTT, MQTT mang lại nhiều lợi ích nhất là trong hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập dữ liệu IoT [2]

- Truyền thông tin hiệu quả hơn

- Tăng khả năng mở rộng

- Giảm đáng kể tiêu thụ băng thông mạng

- Rất phù hợp cho điều khiển và do thám

- Tối đa hóa băng thông có sẵn

- Rất an toàn, bảo mật

- Được sử dụng trong các ngành công nghiệp dầu khí, các công ty lớn như Amazon, Facebook,

- Tiết kiệm thời gian phát triển

- Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thông hơn so với giao thức cũ

Tổng kết lại thì MQTT là giao thức gọn nhẹ được thiết kế chủ yếu để kết nối các thiết bị bị hạn chế nguồn trên các mạng băng thông thấp Mặc dù nó đã tồn tại trong hơn một thập kỷ nhưng chỉ khi có sự ra đời của M2M (máy để truyền thông máy) và Internet of Things (IoT) mới làm cho nó trở thành một giao thức phổ biến

CƠ SỞ DỮ LIỆU ( DATABASE )

Cơ sở dữ liệu là một tập hợp dữ liệu có cấu trúc và được tổ chức một cách hệ thống, được lưu trữ dưới dạng điện tử Nó có thể chứa đựng các loại dữ liệu khác nhau, bao gồm văn bản, số liệu, hình ảnh, video và các tệp tin khác Để quản lý, lưu trữ, truy xuất và chỉnh sửa dữ liệu trong cơ sở dữ liệu, người ta sử dụng một loại phần mềm đặc biệt gọi là Hệ thống Quản lý Cơ sở Dữ liệu (Database Management System - DBMS) [3]

Trong các hệ thống máy tính, thuật ngữ "cơ sở dữ liệu" cũng có thể được sử dụng để chỉ DBMS, hệ thống cơ sở dữ liệu hoàn chỉnh (bao gồm DBMS và dữ liệu được lưu trữ), hoặc một ứng dụng phần mềm kết nối và tương tác với cơ sở dữ liệu

Tóm lại, cơ sở dữ liệu là một kho lưu trữ dữ liệu điện tử có cấu trúc, trong đó dữ liệu được quản lý và truy xuất bởi một phần mềm đặc biệt gọi là DBMS Nó giúp tổ chức, lưu trữ và xử lý dữ liệu một cách hiệu quả và an toàn

2.4.2 Tầm quan trọng của database

Cơ sở dữ liệu hiệu năng cao đóng một vai trò quan trọng đối với bất kỳ tổ chức nào Chúng hỗ trợ các hoạt động nội bộ, lưu trữ thông tin tương tác với khách hàng và nhà cung cấp Ngoài ra, cơ sở dữ liệu còn giữ dữ liệu quản trị và các dữ liệu chuyên biệt như mô hình kỹ thuật hay kinh tế Ví dụ về các hệ thống sử dụng cơ sở dữ liệu bao gồm thư viện số, hệ thống đặt vé du lịch và hệ thống quản lý tồn kho Sau đây là một số lý do chứng minh tầm quan trọng của cơ sở dữ liệu [3]:

- Khả năng điều chỉnh quy mô hiệu quả: Các ứng dụng cơ sở dữ liệu có thể quản lý lượng dữ liệu khổng lồ, lên đến hàng triệu, tỷ và thậm chí nhiều hơn thế Điều này sẽ không thể thực hiện được nếu không có cơ sở dữ liệu

- Đảm bảo tính nhất quán của dữ liệu: Cơ sở dữ liệu có các quy tắc và điều kiện được tích hợp sẵn để duy trì tính nhất quán và toàn vẹn của dữ liệu

- Bảo mật dữ liệu: Cơ sở dữ liệu hỗ trợ yêu cầu bảo mật, quyền riêng tư và tuân thủ đối với dữ liệu Ví dụ, người dùng phải đăng nhập để truy cập, và mỗi người dùng có thể được cấp quyền truy cập khác nhau như chỉ đọc

- Phân tích dữ liệu: Các phần mềm hiện đại sử dụng cơ sở dữ liệu để phân tích dữ liệu, xác định xu hướng, mẫu hình và đưa ra dự đoán Điều này giúp tổ chức đưa ra các quyết định kinh doanh dựa trên dữ liệu chính xác

Tóm lại, với khả năng lưu trữ và quản lý lượng lớn dữ liệu, đảm bảo tính nhất quán, bảo mật và hỗ trợ phân tích, cơ sở dữ liệu trở thành một thành phần thiết yếu đối với hoạt động của bất kỳ tổ chức nào trong thời đại số hóa hiện nay

SQL (Structured Query Language) là ngôn ngữ chuẩn để thao tác với cơ sở dữ liệu quan hệ (Relational Database) Trong cơ sở dữ liệu quan hệ, dữ liệu được tổ chức dưới dạng các bảng và các mối quan hệ giữa chúng [4]

SQL được sử dụng hiệu quả để thêm, tìm kiếm, cập nhật và xóa dữ liệu trong cơ sở dữ liệu Ngoài ra, SQL cũng có thể được sử dụng để tối ưu hóa và duy trì cơ sở dữ liệu [4]

Các hệ quản trị cơ sở dữ liệu quan hệ phổ biến như MySQL, Oracle, SQL Server, Sybase đều sử dụng SQL làm ngôn ngữ truy vấn

Ngược lại, NoSQL (Not only SQL) là hệ quản trị cơ sở dữ liệu không quan hệ, không yêu cầu lược đồ cố định, tránh phải thực hiện phép nối dữ liệu, và dễ dàng mở rộng quy mô Cơ sở dữ liệu NoSQL thường được sử dụng cho các kho dữ liệu phân tán cần lưu trữ lượng dữ liệu khổng lồ, như dữ liệu người dùng của Twitter, Facebook, Google

Nên sử dụng SQL khi:

- Cần sử dụng ngôn ngữ đơn giản để giao tiếp với RDBMS

- Phân tích dữ liệu liên quan đến hành vi và tùy chỉnh

- Tạo báo cáo tổng quan tùy chỉnh

- Muốn lưu trữ và truy xuất dữ liệu nhanh chóng

- Cần thực hiện các phép nối và truy vấn phức tạp trên dữ liệu

Nên sử dụng NoSQL khi:

- Không cần đảm bảo tính ACID (Atomicity, Consistency, Isolation, Durability)

- Mô hình RDBMS truyền thống không đủ linh hoạt

- Dữ liệu cần lược đồ linh hoạt

- Không cần triển khai logic xác thực và ràng buộc trong cơ sở dữ liệu

- Cần ghi nhật ký dữ liệu từ nhiều nguồn phân tán

- Lưu trữ dữ liệu tạm thời như giỏ hàng, danh sách mong muốn, dữ liệu phiên

Tóm lại, SQL là lựa chọn phù hợp cho các ứng dụng yêu cầu mô hình dữ liệu cố định, đảm bảo tính nhất quán và thực hiện truy vấn phức tạp Trong khi đó, NoSQL thích hợp cho việc lưu trữ và xử lý dữ liệu không cấu trúc, linh hoạt với khả năng mở rộng cao

SQLite là một hệ quản trị cơ sở dữ liệu (DBMS) quan hệ giống như MySQL, nhưng gọn nhẹ, đơn giản và không cần mô hình server-client Đặc biệt, SQLite không yêu cầu cài đặt, cấu hình hay khởi động, không có khái niệm người dùng, mật khẩu hay quyền hạn Dữ liệu được lưu trữ trong một file duy nhất [5]

SQLite phù hợp cho các hệ thống quy mô nhỏ và vừa, với tốc độ và chức năng tương đương các DBMS khác Nhờ không cần cài đặt hay cấu hình, SQLite thường được sử dụng trong phát triển, thử nghiệm để tránh rắc rối

Tính năng chính của SQLite:

- Đảm bảo tính ACID ngay cả khi hệ thống bị treo hoặc mất điện

- Không cần cấu hình hay quản trị

- Hỗ trợ đầy đủ tính năng nâng cao như chỉ mục một phần, chỉ mục biểu thức, JSON,

- Lưu trữ cả cơ sở dữ liệu trong một file đa nền tảng

- Hỗ trợ cơ sở dữ liệu kích thước terabyte và chuỗi kích thước gigabyte

- API đơn giản, nhanh, viết bằng ANSI-C với nhiều ngôn ngữ binding

- Mã nguồn mở hoàn toàn, kiểm tra 100%

- Đa nền tảng: Android, iOS, Linux, Windows,

Tóm lại, SQLite là một DBMS cực kỳ nhẹ và dễ sử dụng, rất phù hợp cho các ứng dụng nhỏ và mục đích phát triển, thử nghiệm

DỮ LIỆU CHUỖI THỜI GIAN ( TIME SERIES DATA )

Chuỗi thời gian (time series) là một chuỗi các điểm dữ liệu xảy ra theo thứ tự liên tiếp trong một khoảng thời gian Một chuỗi thời gian sẽ theo dõi chuyển động của các điểm dữ liệu đã chọn (chẳng hạn như giá của chứng khoán) trong một khoảng thời gian xác định [7] Ứng dụng của chuỗi thời gian trải khắp các ngành công nghiệp khác nhau như: quan sát hoạt động sóng điện trong não, đo lượng mưa, dự báo giá cổ phiếu, theo dõi doanh số bán lẻ hàng năm, người đăng ký hàng tháng, nhịp tim mỗi phút,

Dữ liệu chuỗi thời gian là tập hợp các quan sát thu được thông qua các phép đo lặp lại theo thời gian Dữ liệu chuỗi thời gian ở khắp mọi nơi, vì thời gian là thành phần của mọi thứ mà chúng ta có thể nhận biết được

2.5.2 Đặc điểm và ứng dụng

Dữ liệu chuỗi thời gian xuất hiện trong nhiều lĩnh vực khác nhau, bao gồm:

- Giám sát hệ thống: Dữ liệu log, hiệu suất của máy chủ, trạng thái kết nối

- Tài chính: Giá cổ phiếu, lãi suất, và các chỉ số kinh tế

- IoT (Internet of Things): Dữ liệu cảm biến, nhiệt độ, độ ẩm, và các thông số môi trường

- Y tế: Dữ liệu từ thiết bị theo dõi sức khỏe, nhịp tim, và huyết áp

- Đặc điểm của dữ liệu chuỗi thời gian:

- Tần suất cao: Dữ liệu được thu thập và ghi lại với tần suất cao, có thể là hàng giây, phút hoặc thậm chí mili giây

- Khối lượng lớn: Lượng dữ liệu tăng nhanh chóng theo thời gian do quá trình ghi nhận liên tục

- Phân tích dự đoán: Thường được sử dụng để phân tích xu hướng, dự đoán tương lai và phát hiện bất thường

2.5.3 Timescale - Giải pháp lưu trữ dữ liệu chuỗi thời gian

Timescale là một phần mở rộng của PostgreSQL, Timescale kết hợp tính linh hoạt của PostgreSQL với các tính năng mạnh mẽ dành riêng cho dữ liệu chuỗi thời gian, mang lại nhiều lợi ích cho việc quản lý và phân tích loại dữ liệu này Timescale tối ưu xử lý dữ liệu chuỗi thời gian thông qua việc phân chia lại cấu trúc tables tiêu chuẩn của PostgreSQL, cụ thể là “space/time partitioning" [8] Tính năng nổi bật của Timescale:

- Tích hợp với PostgreSQL: Timescale là một phần mở rộng của PostgreSQL, do đó kế thừa toàn bộ tính năng mạnh mẽ của PostgreSQL như tính

- Hypertable: Timescale sử dụng một cấu trúc gọi là hypertable để quản lý dữ liệu chuỗi thời gian Hypertable tự động phân chia (partition) dữ liệu theo thời gian và không gian, giúp tối ưu hóa việc ghi nhận và truy vấn dữ liệu

- Hiệu suất cao: Timescale tối ưu hóa việc ghi dữ liệu với tần suất cao và cung cấp khả năng nén dữ liệu để giảm kích thước lưu trữ Hỗ trợ đánh chỉ mục (index) dành riêng cho dữ liệu chuỗi thời gian giúp tăng tốc độ truy vấn

- Khả năng mở rộng: Cho phép mở rộng quy mô ngang (horizontal scalability) và dọc (vertical scalability), giúp quản lý khối lượng dữ liệu lớn mà không ảnh hưởng đến hiệu suất

- Hỗ trợ phân tích chuỗi thời gian: Cung cấp các hàm và công cụ phân tích chuỗi thời gian mạnh mẽ giúp dễ dàng thực hiện các phân tích phức tạp

- Quản lý dữ liệu dễ dàng: Timescale cung cấp các công cụ quản lý dữ liệu như chính sách tự động nén và loại bỏ dữ liệu cũ (retention), giúp duy trì hiệu suất và tối ưu hóa sử dụng tài nguyên.

PHÂN TÍCH YÊU CẦU

YÊU CẦU CHỨC NĂNG

3.1.1 Gateway a Giao tiếp với các thiết bị thu thập dữ liệu bằng giao thức RS485

Gateway giao tiếp với các thiết bị thông qua giao thức RS485, cho phép truyền dữ liệu một cách đáng tin cậy giữa các thiết bị

- Hỗ trợ kết nối nhiều thiết bị thu thập

- Thu thập được các dữ liệu điện năng cần thiết của thiết bị như: Energy, Volt, Current, b Tạo mới, chỉnh sửa, xóa các kết nối các thiết bị thu thập năng lượng

Hệ thống cho phép người dùng thêm mới, chỉnh sửa thông tin và xóa các thiết bị thu thập năng lượng được kết nối với Gateway

- Giao diện người dùng thân thiện để quản lý thiết bị

- Xác thực hành động xóa thiết bị để tránh mất dữ liệu quan trọng c Giám sát dữ liệu

Gateway sẽ hiển thị dữ liệu thu thập được từ các thiết bị dưới dạng bảng và biểu đồ

- Cập nhật dữ liệu theo thời gian thực

- Lưu trữ lịch sử dữ liệu để phân tích sau này d Giám sát thông số hệ thống

Cho phép theo dõi các thông số hoạt động của Gateway, bao gồm nhiệt độ, điện áp và trạng thái kết nối

- Giao diện hiển thị trực quan, dễ hiểu e Điều chỉnh, thiết lập các thông số cấu hình Gateway

Cho phép thay đổi các thiết lập cấu hình của Gateway, như cài đặt thời gian tồn tại của dữ liệu, thông số kết nối với Server

- Giao diện cấu hình dễ sử dụng

- Lưu và áp dụng các thay đổi một cách nhanh chóng f Xem lại các trạng thái nhật ký hoạt động lỗi trong quá trình vận hành

Gateway ghi lại nhật ký các sự kiện và lỗi xảy ra trong quá trình hoạt động, giúp người quản trị hệ thống dễ dàng phát hiện và xử lý sự cố

- Nhật ký được phân loại theo mức độ quan trọng

- Toàn bộ nhật ký từ mức INFO trở lên đều được gửi lên Server

3.1.2 Server giám sát thiết bị a Xác thực và phân quyền người dùng

Gateway sẽ sử dụng giao thức RS485 để giao tiếp với các thiết bị thu thập năng lượng, cho phép truyền dữ liệu một cách đáng tin cậy giữa các thiết bị Yêu cầu:

- Hỗ trợ kết nối nhiều thiết bị thu thập

- Đảm bảo tín hiệu giao tiếp ổn định và ít nhiễu b Quản lý thiết bị và Gateway

Hệ thống cho phép người dùng thêm mới, chỉnh sửa thông tin và xóa các thiết bị thu thập năng lượng được kết nối với Gateway

- Giao diện người dùng thân thiện để quản lý thiết bị

- Xác thực hành động xóa thiết bị để tránh mất dữ liệu quan trọng c Giám sát trạng thái kết nối, xác thực, dữ liệu

Server giám sát trạng thái kết nối và xác thực của các thiết bị, đồng thời thu thập và hiển thị dữ liệu từ các thiết bị này

- Cảnh báo khi thiết bị mất kết nối

- Cung cấp biểu đồ và báo cáo chi tiết về dữ liệu thu thập d Quản lý thẻ phân loại thiết bị

Hệ thống cho phép gán thẻ (tags) cho các thiết bị để phân loại và dễ dàng quản lý

- Giao diện quản lý thẻ trực quan

- Hỗ trợ tìm kiếm thiết bị theo thẻ e Quản lý API Key để các hệ thống khác giao tiếp với server giám sát thiết bị

Hệ thống phải hỗ trợ tạo và quản lý API Key để cho phép các hệ thống khác truy cập và giao tiếp với server

- Tạo mới, thu hồi và quản lý API Key

- Giới hạn quyền truy cập của từng API Key theo nhu cầu.

YÊU CẦU PHI CHỨC NĂNG

- Giao diện người dùng phải thân thiện, trực quan

- Giao diện người dùng phải linh hoạt và phản hồi đáng kể để phù hợp trên nhiều loại màn hình từ máy tính đến điện thoại di động

- Phông chữ và màu sắc phải theo cấu trúc hợp lý

- Giao thức HTTPS được sử dụng cho việc giao tiếp giữa ứng dụng web và server

- Giao thức MQTT được sử dụng cho việc giao tiếp giữa gateway và server

3.2.3 Độ tin cậy và chính xác của dữ liệu

- Gateway phải thu thập dữ liệu chính xác từ các thiết bị

- Server phải có khả năng xác thực nguồn gốc dữ liệu và đảm bảo tính toàn vẹn trước khi xử lý

3.2.4 Hiệu suất và thời gian phải hồi

- Dữ liệu từ gateway phải được xử lý và lưu trữ một cách hiệu quả để đảm bảo thời gian phản hồi nhanh chóng cho người dùng

- Hệ thống phải có khả năng xử lý và lưu trữ lượng dữ liệu lớn một cách hiệu quả, đặc biệt là trong các tình huống tăng cường khả năng mở rộng.

CÁC TÁC NHÂN TRONG HỆ THỐNG

Quản trị viên là người nắm quyền hạn cao nhất trong hệ thống, có thể quản lý và cấu hình toàn bộ các thành phần của hệ thống.

Kỹ thuật viên là những người chịu trách nhiệm cấu hình Gateway, lắp đặt các thiết bị thu thập năng lượng và bảo trì hệ thống.

Người dùng là những cá nhân được người quản trị tạo và phân quyền trong hệ thống Quyền hạn của họ được xác định bởi vai trò và phạm vi (scope) do người quản trị thiết lập.

Các hệ thống bên ngoài

Các hệ thống bên ngoài tương tác với hệ thống thông qua API key Quyền hạn của API key được xác định bởi phạm vi (scope) do người quản trị thiết lập.

SƠ ĐỒ USE CASE

Sơ đồ Use Case là một công cụ quan trọng giúp mô tả các chức năng của hệ thống từ góc nhìn của người sử dụng Nó xác định các tác nhân (actors) tương tác với hệ thống và các trường hợp sử dụng (use cases) mà họ có thể thực hiện

Trong hệ thống này, có hai loại người dùng chính là Quản trị viên và Kỹ thuật viên, mỗi loại người dùng có các quyền truy cập và thực hiện các chức năng khác nhau Sơ đồ Use Case dưới đây sẽ minh họa rõ các chức năng mà mỗi tác nhân có thể thực hiện trong hệ thống giám sát thiết bị và thu thập dữ liệu điện năng

Hình 3.1 Sơ đồ Use Case hệ thống

SƠ ĐỒ THIẾT KẾ HỆ THỐNG

Hình 4.1 Sơ đồ kiến trúc hệ thống

Hệ thống được chia thành 2 thành phần chính thực hiện những chức năng và nhiệm vụ khác nhau:

- Khối thu thập dữ liệu: Gồm các thiết bị (Devices) và cổng (Gateways) Các thiết bị này có nhiệm vụ thu thập dữ liệu về năng lượng và gửi lên MQTT thông qua các Gateway Đây là nơi bắt đầu quá trình giám sát dữ liệu năng lượng

- Server giám sát: Chịu trách nhiệm lưu trữ, quản lý dữ liệu và giám sát các thiết bị kết nối Server không chỉ lưu trữ dữ liệu mà còn xử lý, phân tích và cung cấp các thông tin cần thiết thông qua ứng dụng web quản trị.

THIẾT KẾ GATEWAY IOT THU THẬP NĂNG LƯỢNG

Kiến trúc tổng thể của gateway thu thập năng lượng được thiết kế theo mô hình phân tầng, bao gồm các thành phần chính là Frontend, Backend và kết nối với các thiết bị phần cứng

Hình 4.2 Sơ đồ hệ thống của Gateway

Phía Frontend là giao diện người dùng web, truy cập thông qua trình duyệt để hiển thị dashboard, xem dữ liệu thiết bị, cấu hình và điều khiển hệ thống Nó được xây dựng bằng công nghệ Vue.js và trao đổi dữ liệu với Backend thông qua API

Backend đóng vai trò xử lý trung tâm, bao gồm các thành phần và dịch vụ chính như:

- MQTT service: Kết nối với Broker MQTT để nhận/gửi dữ liệu theo giao thức MQTT

- Log service: Dịch vụ ghi log hoạt động của hệ thống

- Time to Live Data Service: Dịch vụ kiểm tra dữ liệu và xóa các bản ghi quá hạn

- SQLite Database: Cơ sở dữ liệu SQLite lưu trữ thông tin thiết bị, dữ liệu đo đạc và người dùng

- Modbus RTU Connector: Kết nối và giao tiếp với các thiết bị phần cứng đo đạc qua giao thức Modbus RTU

- API Services: Cung cấp API cho Frontend giao tiếp, được xây dựng bằng Python/FastAPI

Phần cứng bao gồm các thiết bị đo đạc năng lượng, kết nối với gateway thông qua giao tiếp Modbus RTU đường truyền RS485

Toàn bộ hệ thống gateway này có khả năng thu thập, xử lý, lưu trữ và hiển thị dữ liệu đo đạc năng lượng Đồng thời, nó cũng gửi dữ liệu lên MQTT Broker theo chuẩn MQTT để server tập trung có thể nhận và xử lý tiếp

Kiến trúc được thiết kế theo hướng chia nhỏ các thành phần, đáp ứng việc mở rộng về sau cũng như dễ dàng bảo trì và nâng cấp từng phần độc lập Các giao thức và công nghệ lựa chọn nhằm đáp ứng yêu cầu hiệu năng, khả năng kết nối đa dạng thiết bị và hệ thống bên ngoài

4.2.2 Sơ đồ kết nối Gateway với thiết bị thu thập dữ liệu

Hình 4.3 Sơ đồ kết nối giữa Gateway và đồng hồ thu thập dữ liệu

Hình ảnh trên mô tả kết nối giao tiếp giữa một Gateway và các thiết bị đo điện năng sử dụng giao thức RS485 Dưới đây là mô tả chi tiết về các thành phần và cách chúng kết nối với nhau:

Gateway (Máy tính nhúng): cụ thể ở trong đề tài này chọn máy tính nhúng cho mô hình là Raspberry Pi 3 Model B+ đóng vai trò làm Gateway trong hệ thống thu thập dữ liệu điện năng Raspberry Pi có các cổng GPIO (General Purpose Input/Output) để kết nối với các thiết bị bên ngoài

Module chuyển đổi RS485: Được sử dụng để chuyển đổi tín hiệu từ cổng GPIO của Raspberry Pi sang tín hiệu RS485, phù hợp với giao thức truyền thông của các thiết bị đo điện năng Module này đảm bảo rằng tín hiệu truyền thông giữa Raspberry Pi và các thiết bị đo được thực hiện đúng cách

Thiết bị đo điện năng: Các thiết bị này sử dụng giao thức RS485 để truyền dữ liệu Trong hình, có hai thiết bị đo điện năng được kết nối với module chuyển đổi RS485

- Dây VCC, GND: Các dây cung cấp nguồn điện (VCC) và nối đất (GND) từ Raspberry Pi đến module chuyển đổi RS485

- Tx và Rx của Gateway và cổng chuyển đổi từ UART sang RS485 giúp Gateway có thể giao tiếp với các thiết bị RS485 thông qua cổng chuyển này

- Dây A, B: Dây truyền tín hiệu RS485 Dây A và B từ module chuyển đổi RS485 được kết nối với các thiết bị đo điện năng Đây là các dây tín hiệu chính dùng để truyền và nhận dữ liệu giữa các thiết bị và Gateway

Truyền thông RS485: Giao thức RS485 cho phép truyền thông hai chiều giữa Gateway và các thiết bị đo Dữ liệu từ các thiết bị đo được gửi qua dây tín hiệu A và B đến module chuyển đổi, sau đó chuyển đến Raspberry Pi để xử lý và lưu trữ

4.2.3 Thiết kế cơ sở dữ liệu

Với những yêu cầu về tính năng của Gateway như phải login để truy cập, quản lý thiết bị, lưu trữ dữ liệu và nhật ký hoạt động, cấu hình cho gateway, gửi dữ liệu lên server cơ sở dữ liệu phải được thiết kế sao cho đầy đủ những bảng ghi chứa những thông tin cấu hình và dữ liệu thu thập được Dưới đây là hình mô tả các bảng ghi trong cơ sở dữ liệu của gateway

Hình 4.4 Thiết kế bảng dữ liệu của database a Bảng user

Tên cột Kiểu dữ liệu Mô tả id Interger

Dùng để đánh dấu và phân biệt các phần tử trong bảng, mỗi phần tử là một id riêng biệt và duy nhất username String Tên đăng nhập của người dùng, mỗi tài khoản có tên đăng nhập là duy nhất password String Mật khẩu đã được mã hóa b Bảng configuration

Bảng 4.2 Bảng cấu hình gateway

Tên cột Kiểu dữ liệu Mô tả id Interger

Dùng để đánh dấu và phân biệt các phần tử trong bảng, mỗi phần tử là một id riêng biệt và duy nhất name String Tên Gateway mqtt_host String url của server mqtt_port Interger Port kết nối của server username String Tên đăng nhập để kết nối MQTT với server password String Mật khẩu để kết nối MQTT với server client_id String ID được server cấp phát serial_port String Port sử dụng của Gateway để đọc dữ liệu ttl_data_check_i n_hours Interger Chu kì kiểm tra dữ liệu có quá hạn hay không ttl_data_in_days Interger Thời gian mức dữ liệu quá hạn ttl_log_check_in

_hours Interger Chu kì kiểm tra nhật ký của quá hạn hay không ttl_log_in_days Interger Thời gian nhật ký quá hạn c Bảng log

Bảng 4.3 Bảng nhật ký hoạt động

Tên cột Kiểu dữ liệu Mô tả id Interger

Dùng để đánh dấu và phân biệt các phần tử trong bảng, mỗi phần tử là một id riêng biệt và duy nhất ts Timestamp Thời gian xảy ra sự kiện message String Tin nhắn của nhật ký level String Mức độ của nhật ký pathname String Đường dẫn đến file xảy ra nhật ký lineno Interger Dòng mà nhật ký thực hiện d Bảng device

Tên cột Kiểu dữ liệu Mô tả id UUID

Dùng để đánh dấu và phân biệt các phần tử trong bảng, mỗi phần tử là một id riêng biệt và duy nhất name String Tên thiết bị, duy nhất server_side_id String UUID của thiết bị được server cấp phát description String Mô tả về thiết bị manufacturer String Tên nhà sản xuất của thiết bị model String Mã loại thiết bị protocol String Giao thức kết nối img_url String Hình ảnh của thiết bị connected Boolean Trạng thái kết nối is_active Boolean Kích hoạt/Tắt quá trình đọc thiết bị details Json Chi tiết thiết bị, mỗi loại giao thức kết nối sẽ có một chuẩn chi tiết riêng created_at Datetime Thời gian tạo mới updated_at Datetime Thời gian cập nhật e Bảng data

Tên cột Kiểu dữ liệu Mô tả id Interger

TRIỂN KHAI VÀ THỰC NGHIỆM

MÔI TRƯỜNG TRIỂN KHAI

Trong dự án của chúng tôi, các gateway IoT đóng vai trò quan trọng trong việc thu thập và truyền tải dữ liệu từ các đồng hồ điện được lắp đặt tại các tòa nhà Công ty TNHH Thương mại và Kỹ thuật Thái Bình có dự án về việc quản lý điện năng tiêu thụ của phòng trọ, và chúng tôi may mắn được công ty cho phép triển khai sản phẩm lên môi trường thực tế và đã được triển khai tại 2 tòa nhà với hơn 90 phòng trọ Những gateway này được thiết kế để hoạt động liên tục, đảm bảo dữ liệu được ghi nhận một cách chính xác và kịp thời Việc triển khai trên môi trường thực tế không chỉ giúp chúng tôi kiểm nghiệm và hoàn thiện sản phẩm mà còn mang lại giá trị thực tiễn cho dự án của công ty

5.1.2 Triển khai Server giám sát

Frontend của Server giám sát được triển khai trên Vercel, một nền tảng triển khai linh hoạt và mạnh mẽ dành cho các ứng dụng web Vercel giúp việc triển khai các bản cập nhật giao diện trở nên đơn giản và nhanh chóng, đảm bảo trải nghiệm người dùng luôn được tối ưu

Toàn bộ các dịch vụ backend của Server giám sát được triển khai trên máy ảo (VM) của Azure Chúng tôi sử dụng Docker để quản lý và chạy các thành phần khác nhau của hệ thống, đảm bảo tính linh hoạt, khả năng mở rộng và độ tin cậy cao cho các dịch vụ backend.

Ngày đăng: 26/09/2024, 14:37

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Quy trình thực hiện đề tài - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 1.1 Quy trình thực hiện đề tài (Trang 22)
Hình 3.1 Sơ đồ Use Case hệ thống - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 3.1 Sơ đồ Use Case hệ thống (Trang 45)
Hình 4.2 Sơ đồ hệ thống của Gateway - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.2 Sơ đồ hệ thống của Gateway (Trang 47)
Bảng 4.5 Bảng dữ liệu - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Bảng 4.5 Bảng dữ liệu (Trang 54)
Hình 4.5 Lưu đồ hoạt động hệ thống Gateway - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.5 Lưu đồ hoạt động hệ thống Gateway (Trang 57)
Hình 4.6 Lưu đồ xử lý yêu cầu đọc dữ liệu - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.6 Lưu đồ xử lý yêu cầu đọc dữ liệu (Trang 58)
Hình 4.7 Lưu đồ tự động gửi yêu cầu đọc của thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.7 Lưu đồ tự động gửi yêu cầu đọc của thiết bị (Trang 59)
Hình 4.10 Lưu đồ khởi tạo hệ thống Log Service - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.10 Lưu đồ khởi tạo hệ thống Log Service (Trang 62)
Hình 4.13 Sơ đồ kiến trúc server giám sát - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.13 Sơ đồ kiến trúc server giám sát (Trang 67)
Hình 4.14 Sơ đồ cơ sở dữ liệu - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.14 Sơ đồ cơ sở dữ liệu (Trang 68)
Hình 4.15 Người dùng đăng nhập hệ thống - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.15 Người dùng đăng nhập hệ thống (Trang 76)
Hình 4.16  Người dùng đăng xuất khỏi hệ thống - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.16 Người dùng đăng xuất khỏi hệ thống (Trang 77)
Hình 4.17 Người dùng tạo thiết bị mới - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.17 Người dùng tạo thiết bị mới (Trang 78)
Hình 4.18 Dịch vụ bên ngoài truy cập tài nguyên API thông qua API key - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.18 Dịch vụ bên ngoài truy cập tài nguyên API thông qua API key (Trang 79)
Hình 4.19 Gateway đồng bộ thiết bị lên server giám sát - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.19 Gateway đồng bộ thiết bị lên server giám sát (Trang 80)
Hình 4.20 Xử lý metric từ các thiết bị gửi đến - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 4.20 Xử lý metric từ các thiết bị gửi đến (Trang 80)
Hình 5.2 Hình ảnh trang dữ liệu khi đang thu thập dữ liệu ở trên - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.2 Hình ảnh trang dữ liệu khi đang thu thập dữ liệu ở trên (Trang 84)
Hình 5.3 Giao diện trang Login - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.3 Giao diện trang Login (Trang 85)
Hình 5.5 Giao diện trang Devices Monitor vừa đăng nhập thành công - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.5 Giao diện trang Devices Monitor vừa đăng nhập thành công (Trang 86)
Hình 5.8 Khung lựa chọn các cấu hình và xuất dữ liệu - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.8 Khung lựa chọn các cấu hình và xuất dữ liệu (Trang 88)
Hình 5.9 Trang Dashboard trong thời gian giám sát - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.9 Trang Dashboard trong thời gian giám sát (Trang 89)
Hình 5.11  Form đăng ký thiết bị mới - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.11 Form đăng ký thiết bị mới (Trang 90)
Hình 5.12  Giao diện chỉnh sửa cấu hình kết nối của thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.12 Giao diện chỉnh sửa cấu hình kết nối của thiết bị (Trang 91)
Hình 5.13 Giao diện chỉnh sửa các thanh ghi thu thập dữ liệu của thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.13 Giao diện chỉnh sửa các thanh ghi thu thập dữ liệu của thiết bị (Trang 91)
Hình 5.14 Giao diện xem dữ liệu và xuất dữ liệu của thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.14 Giao diện xem dữ liệu và xuất dữ liệu của thiết bị (Trang 92)
Hình 5.19 Giao diện trang danh sách thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.19 Giao diện trang danh sách thiết bị (Trang 95)
Hình 5.20 Giao diện tạo thiết bị ở bước chi tiết thiết bị - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.20 Giao diện tạo thiết bị ở bước chi tiết thiết bị (Trang 96)
Hình 5.21 Giao diện tạo thiết bị ở bước chọn nhãn - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.21 Giao diện tạo thiết bị ở bước chọn nhãn (Trang 97)
Hình 5.22 Giao diện tạo thiết bị ở bước thông tin xác thực MQTT - Đồ án tốt nghiệp: Thiết kế hệ thống thu nhập và giám sát dữ liệu điện năng cho công ty TNHH Thương mại và Kỹ thuật Thái Bình
Hình 5.22 Giao diện tạo thiết bị ở bước thông tin xác thực MQTT (Trang 98)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w