1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài Xây dựng hệ thống kiểm soát ra vào toà nhà theo phương pháp lập trình hướng đối tượng

43 17 0

Đ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

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Kiểm Soát Ra Vào Toà Nhà Theo Phương Pháp Lập Trình Hướng Đối Tượng
Tác giả Trần Thị Hải Yến, Trần Mai Duy, Trương Thị Giang, Vũ Hoà, Dương Thu Hương, Ngô Thị Mai, Phan Thị Oanh, Dương Hoàng Thức
Người hướng dẫn Phạm Minh Hoàn
Trường học Trường Đại Học Kinh Tế Quốc Dân
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại Bài Tập Lớn
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 43
Dung lượng 782,13 KB

Cấu trúc

  • Chương 1: Giới thiệu bài toán quản lý ra vào toà nhà (5)
    • 1.1. Đặt vấn đề (5)
    • 1.2. Mục tiêu (5)
    • 1.3. Xác định yêu cầu (5)
  • Chương 2: Phân tích hệ thống quản lý ra vào toà nhà (6)
    • 2.1. Mô tả cấu trúc toà nhà (6)
    • 2.2. Các đối tượng, chức năng, đặc quyền của từng đối tượng (7)
    • 2.3. Quy trình nghiệp vụ (8)
    • 2.4. Báo cáo thống kê (9)
  • Chương 3: Thiết kế hệ thống quản lý ra vào toà nhà (11)
    • 3.1. Ý tưởng thiết kế (11)
    • 3.2. Giới thiệu ngôn ngữ, phương pháp lập trình được sử dụng (11)
      • 3.2.1. Phương pháp lập trình hướng đối tượng (11)
      • 3.2.2 Ngôn ngữ lập trình C++ (13)
    • 3.3. Giới thiệu, mô tả các lớp (14)
      • 3.3.1. Lớp Người (14)
      • 3.3.2. Lớp Nhân viên (14)
      • 3.3.3. Lớp Quản lý (0)
      • 3.3.4. Lớp Cư dân (0)
      • 3.3.5. Lớp Khách (15)
      • 3.3.6. Lớp Shipper (15)
      • 3.3.7. Lớp Logs (15)
    • 3.4. Các hàm được sử dụng trong chương trình (15)
      • 3.4.1. Hàm lấy thời gian: (currentDateTime()) (15)
      • 3.4.2. Hàm lấy kiểm tra ID (checkID(int id)) (0)
      • 3.4.3. Hàm tạo ID(createID()) (16)
      • 3.4.4. Hàm kiểm tra quyền ( checkQuyen(int id, int role)) (16)
      • 3.4.5. Hàm thêm người (themNguoi()) (16)
      • 3.4.6. Hàm ra vào( raVao()) (16)
      • 3.4.7. Hàm in danh sách vào ra (danhsachRaVao()) (16)
      • 3.4.8. Hàm thang máy chuyên dụng và hàm thang máy khách (17)
  • Chương 4: IoT & công nghệ RFID (17)
    • 4.1 IoT (17)
      • 4.1.1 Khái niệm (17)
      • 4.1.2 Cấu trúc (17)
      • 4.1.4 Ưu Nhược điểm (18)
      • 4.1.5 Vai trò (0)
      • 4.1.6 Ứng dụng (19)
    • 4.2 RFID (20)
      • 4.2.1 Khái Niệm (20)
      • 4.2.2. Ưu điểm và nhược điểm của công nghệ RFID (20)
      • 4.2.3. Ứng dụng thực tế (0)
    • 4.3. Ứng dụng của IoT và RFID vào quản lý ra vào tòa nhà (0)
      • 4.3.1 Ứng dụng IoT vào quản lý ra vào toà nhà (0)
      • 4.3.2 Ứng dụng RFID vào quảng lý ra vào toà nhà (22)
  • Chương 5: Cài đặt và thử nghiệm (23)
    • 5.1 Cài đặt và thử nghiệm IoT và RFID (23)
      • 5.2.1 IoT (0)
      • 5.2.2 RFID (24)
    • 5.2 Phần mềm quản lý (25)
      • 5.2.1 Code (25)
      • 5.2.2. Mô tả cách thức và quy trình hoạt động của hệ thống (38)

Nội dung

Giới thiệu bài toán quản lý ra vào toà nhà

Đặt vấn đề

Hiện nay, sự gia tăng các toà cao ốc, văn phòng cho thuê và khu chung cư tại Việt Nam dẫn đến việc sử dụng chung nhiều tài nguyên như cửa ra vào, bãi đỗ xe và showroom, tạo ra nguy cơ mất an toàn và an ninh trật tự Mặc dù các quản lý đã thuê thêm nhiều nhân viên an ninh và bảo vệ để giảm thiểu rủi ro, phương pháp này vẫn gặp nhiều hạn chế và tốn kém chi phí Do đó, các nhà quản lý đang tìm kiếm giải pháp an ninh hiệu quả và tiết kiệm chi phí hơn.

Hệ thống quản lý an ninh toàn diện cho cả toà nhà là giải pháp hiệu quả trong việc bảo đảm an ninh và tiết kiệm chi phí nhân công Tuy nhiên, chi phí lắp đặt thiết bị an ninh cho toàn bộ toà nhà có thể cao và không tận dụng hết các chức năng của hệ thống Do đó, giải pháp tối ưu là tập trung vào một phần chức năng của hệ thống lớn, tạo thành một hệ thống hoàn chỉnh liên kết với hệ thống quản lý ra vào toà nhà Hệ thống này sẽ kiểm soát và lưu trữ thông tin tại các khu vực quan trọng, nơi có lưu lượng người đông như cửa ra vào và thang máy, từ đó nâng cao hiệu quả và giảm thiểu chi phí đầu tư thiết bị thừa.

Mục tiêu

Mục tiêu của hệ thống ứng dụng công nghệ thông tin là kiểm soát chặt chẽ việc ra vào tòa nhà và phân quyền sử dụng thang máy Hệ thống sẽ cấp phát ID và quản lý việc ra vào, cho phép sử dụng thang máy bằng mã ID để đảm bảo an ninh và phục vụ nhanh chóng cho cư dân Đồng thời, hệ thống cũng kiểm soát hoạt động ra vào của khách vãng lai, shipper và các đối tượng khác Hệ thống được thiết kế dễ dàng cài đặt và sử dụng, linh hoạt trong cập nhật và nâng cấp, đồng thời đảm bảo bảo mật thông tin.

Xác định yêu cầu

- Hệ thống cho phép người quản lý theo dõi mọi hoạt động ra vào toà nhà.

- Kiểm soát chặt chẽ hoạt động ra vào toà nhà: Chỉ có các đối tượng được cấp thẻ, xác minh danh tính rõ ràng mới được vào toà nhà.

Phân quyền sử dụng thang máy là rất quan trọng, với hai loại thang máy chính: thang máy chuyên dụng và thang máy dành cho khách Khách hàng chỉ được phép sử dụng thang máy dành riêng cho họ, nhằm đảm bảo an toàn và hiệu quả trong việc di chuyển.

- Lưu lại thông tin và thời gian ra, vào toà nhà của tất cả mọi người (quản lý, nhân viên, cư dân, shipper, khách)

1.3.2 Yêu cầu phi chức năng

- Hệ thống phân quyền sử dụng để đảm bảo vấn đề bảo mật thông tin.

Hệ thống xử lý linh hoạt và nhanh chóng giúp giám sát an ninh hiệu quả, đồng thời tiết kiệm thời gian cho người dùng mà không cần qua các thủ tục rườm rà và khó chịu.

- Hệ thống dễ dàng lặp đặt, sử dụng, mang lại hiệu quả ứng dụng thực tiễn cao.

Phân tích hệ thống quản lý ra vào toà nhà

Mô tả cấu trúc toà nhà

Mỗi tòa nhà có cấu trúc riêng, vì vậy để thiết kế hệ thống nhóm, chúng ta sẽ chọn một mô hình tòa nhà phổ biến làm cơ sở lập trình Đối với các tòa nhà khác với cấu trúc khác, hệ thống có thể được điều chỉnh linh hoạt để phù hợp Dưới đây là mô tả cụ thể về cấu trúc tòa nhà được sử dụng.

- Toà nhà có bàn lễ tân ở Sảnh ngoài

- Để chính thức vào toà nhà, các đối tượng có thể sử dụng cửa chính hoặc thang máy

Thang máy được phân chia thành hai nhóm chính: nhóm thang máy chuyên dụng, không giới hạn tầng đến, và nhóm thang máy dành cho khách, có hạn chế về số tầng mà hành khách có thể truy cập.

Các yếu tố như số tầng của tòa nhà và số phòng trong mỗi tầng không có ảnh hưởng đáng kể đến hệ thống quản lý ra vào của tòa nhà, vì vậy sẽ không được đề cập chi tiết trong bài viết này.

Các đối tượng, chức năng, đặc quyền của từng đối tượng

Sơ đồ 1- Sơ đồ đối tượng của hệ thống quản lý ra vào toà nhà

Các đối tượng của hệ thống được thể hiện rõ trong sơ đồ phía trên.

Chức năng, nhiệm vụ và quyền của từng đối tượng

Quản lý có trách nhiệm kiểm soát mọi hoạt động trong tòa nhà, đảm bảo mọi hoạt động diễn ra an toàn và hiệu quả Họ có quyền phân quyền cho các đối tượng bên trong và bên ngoài tòa nhà, đồng thời có khả năng thêm người dùng Quản lý là người duy nhất có quyền in danh sách ra vào tòa nhà, góp phần duy trì trật tự và an ninh.

Nhân viên tại tòa nhà bao gồm lễ tân và bảo vệ, hoạt động dưới sự chỉ đạo của quản lý để đảm bảo an ninh và chất lượng phục vụ Lễ tân có nhiệm vụ cấp thẻ cho khách và shipper, trong khi bảo vệ đảm bảo an ninh, ngăn chặn những đối tượng khả nghi ra vào tòa nhà và trực tại các khu vực quan trọng như cửa ra vào và thang máy.

Cư dân sinh sống trong tòa nhà sẽ được cấp thẻ ra vào, giúp họ dễ dàng di chuyển vào và ra khỏi tòa nhà Thẻ này không chỉ tạo thuận lợi cho cư dân mà còn đảm bảo an toàn cho cả họ và tòa nhà.

Khách chỉ được phép ra vào toà nhà sau khi khai báo đầy đủ thông tin và nhận sự xác nhận từ lễ tân Họ phải sử dụng thang máy dành riêng cho khách và không được phép sử dụng thang máy chuyên dụng cũng như không được vào các khu vực quan trọng trong toà nhà.

Shipper là đối tượng bị hạn chế ra vào toà nhà, chỉ được phép giao hàng tại khu vực sảnh cho cư dân Họ không có quyền sử dụng thang máy trong toà nhà.

Quy trình nghiệp vụ

Sơ đồ quy trình nghiệp vụ ra vào tòa nhà

- Quy trình ra vào toà nhà:

Hệ thống quản lý toà nhà sẽ cấp cho Quản lý, Nhân viên và Cư dân mỗi người một số ID cố định Mỗi đối tượng sẽ nhận thẻ tương ứng với số ID đó Khi ra vào toà nhà, họ chỉ cần quét thẻ tại cửa ra vào, số ID sẽ được ghi nhận vào hệ thống và thông tin về thời gian ra vào sẽ được lưu trữ.

Để vào toà nhà, Khách và Shipper cần cung cấp thông tin xác thực danh tính như số chứng minh thư nhân dân cho lễ tân Lễ tân sẽ nhập thông tin vào hệ thống, từ đó hệ thống tự động cấp số ID cho họ Sau đó, lễ tân sẽ phát thẻ tạm thời có số ID này cho Khách và Shipper Khi rời khỏi toà nhà, họ phải trả lại thẻ tạm thời.

Sơ đồ nghiệp vụ ra / vào thang máy

- Quy trình sử dụng thang máy:

Thang máy trong toà nhà được chia thành 2 loại thang máy.

Thang máy chuyên dụng là loại thang máy được thiết kế đặc biệt cho các đối tượng trong tòa nhà, cho phép di chuyển đến các tầng của cấp quản lý và các khu vực quan trọng khác, tùy thuộc vào cấu trúc của từng tòa nhà.

+ Thang máy dành cho khách: Thang máy dành cho khách sẽ bị hạn chế một số tầng tuỳ theo cấu trúc, thiết lập của từng toà nhà.

Shipper không được phép sử dụng thang máy và chỉ có thể giao hàng trực tiếp tại sảnh của toà nhà Họ có thể gửi đồ vào kho chứa tùy thuộc vào cấu trúc và thiết lập của từng toà nhà.

Báo cáo thống kê

SĐT Email Địa chỉ liên lạc

CMND/CCCD SĐT Địa chỉ liên lạc

Thời gian ra Ảnh khuôn mặt

SĐT Địa chỉ liên lạc

CMND/CCCD Công ty vận chuyển

Thiết kế hệ thống quản lý ra vào toà nhà

Ý tưởng thiết kế

Sơ đồ 2- Mô hình vận hành của hệ thống quản lý ra vào toà nhà

Hệ thống được phát triển bằng ngôn ngữ lập trình C++ theo phương pháp lập trình hướng đối tượng, kết hợp với công nghệ thẻ từ RFID và hệ thống camera giám sát hoạt động 24/7.

Hệ thống quản lý ra vào tòa nhà và sử dụng thang máy thông qua mã ID cho phép cung cấp thông tin chi tiết về người sử dụng cho quản lý và giám sát Việc sử dụng thẻ RFID giúp đơn giản hóa quá trình nhập mã ID và xác nhận thông tin, nâng cao hiệu quả quản lý và đảm bảo an ninh.

Giới thiệu ngôn ngữ, phương pháp lập trình được sử dụng

3.2.1 Phương pháp lập trình hướng đối tượng.

Lập trình hướng đối tượng (OOP) là phương pháp lập trình dựa trên việc sử dụng các đối tượng để phát triển thuật toán và chương trình Phương pháp này tập trung vào thiết kế chương trình xung quanh dữ liệu của hệ thống, đồng thời hạn chế sự chuyển động tự do của dữ liệu trong hệ thống.

- Ưu, nhược điểm: Ưu điểm:

Lập trình hướng đối tượng (OOP) ra đời đã giải quyết hầu hết các nhược điểm của các phương pháp lập trình trước đó Ngoài tính sáng tạo, OOP còn kế thừa những ưu điểm nổi bật của các phương pháp trước, mang lại khả năng lập trình vượt trội.

Người dùng có thể quản lý mã nguồn một cách hiệu quả khi có sự thay đổi trong chương trình Thay vì phải điều chỉnh toàn bộ mã nguồn của đối tượng, lập trình viên chỉ cần sửa đổi một số hàm thành phần nhất định.

Dễ dàng mở rộng dự án

Giúp lập trình viên tiết kiệm đáng kể tài nguyên cho hệ thống

OOP có tính bảo mật cao và có khả năng tái sử dụng cao.

Lập trình hướng đối tượng (OOP) là lựa chọn lý tưởng cho việc phát triển phần mềm phức tạp và quy mô lớn OOP được đánh giá cao nhờ tính dễ học, năng suất làm việc cao, thao tác đơn giản và khả năng bảo trì dễ dàng.

Nhược điểm của lập trình hướng đối tượng (OOP) là nó có thể làm cho dữ liệu bị xử lý tách rời, dẫn đến việc thuật toán cần phải thay đổi khi cấu trúc dữ liệu thay đổi Hơn nữa, OOP không tự động khởi tạo và giải phóng dữ liệu động, và không phản ánh đầy đủ, trung thực hệ thống thực tế.

Trừu tượng hóa dữ liệu là quá trình tập trung vào những đặc điểm chính và loại bỏ các chi tiết không cần thiết, trong khi bao gói thông tin liên quan đến việc kết hợp dữ liệu và các phương thức thành một đơn vị cấu trúc lớp Việc tổ chức dữ liệu này giúp bảo vệ nó khỏi việc truy cập trực tiếp từ các đối tượng ở lớp khác Các phương thức của lớp đóng vai trò như giao diện giữa dữ liệu và phần còn lại của chương trình, thực hiện nguyên tắc che giấu thông tin để ngăn chặn sự truy cập trực tiếp trong lập trình.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

- Kế thừa là quá trình mà các đối tượng của lớp này được quyền sử dụng một số tính chất của các đối tượng của lớp khác.

Sự kế thừa trong lập trình cho phép tạo ra một lớp mới dựa trên các lớp đã có, giúp tái sử dụng mã nguồn hiệu quả Lớp mới không chỉ kế thừa các thành phần từ lớp cha mà còn bổ sung thêm các thuộc tính và hàm mới, nâng cao khả năng mở rộng và tính linh hoạt của chương trình.

- Nguyên lý kế thừa hỗ trợ cho việc tạo ra cấu trúc phân cấp các lớp.

Tính đa hình (Tính tương ứng bội)

- Tương ứng bội là khả năng của một khái niệm có thể sử dụng với nhiều chức năng khác nhau.

Tương ứng bội đóng vai trò quan trọng trong việc tạo ra các đối tượng với cấu trúc nội tại khác nhau, nhưng vẫn sử dụng chung một giao diện bên ngoài.

Phương pháp lập trình hướng đối tượng là lựa chọn tối ưu cho việc phát triển hệ thống quản lý ra vào toà nhà nhờ vào những đặc điểm vượt trội của nó.

Ngôn ngữ lập trình C++ được sáng lập bởi Bjanre Stroustrup (Muray Hill, New Jersey, Mỹ) C++ được ra đời từ năm 1979, là bản mở rộng của ngôn ngữ C.

C++ is widely utilized for system software development, game programming, desktop applications, mobile applications, and web applications Notable applications created with C++ include Firefox, Google Chrome, Photoshop, Winamp, Adobe products, Microsoft Windows, and PDF Reader.

Ngôn ngữ lập trình C++ có nhiều ưu nhược điểm Sau đây là một số ưu nhược điểm nổi bật.

C++ nổi bật với tính phổ biến, là nền tảng học tập cho hầu hết lập trình viên trước khi chuyển sang các ngôn ngữ khác Mặc dù có nhiều ngôn ngữ lập trình hiện nay, C++ vẫn là sự lựa chọn hàng đầu của nhiều công ty công nghệ Ngoài ra, C++ cũng là ngôn ngữ được giảng dạy nhiều nhất trong chương trình giáo dục tại Việt Nam.

C++ là một ngôn ngữ lập trình dễ hiểu và thân thiện với người dùng Để khai báo một mảng, chỉ cần sử dụng cú pháp: tên mảng [kích thước] Ngôn ngữ này cho phép truy cập nhanh chóng đến các phần tử trong mảng, cho phép người dùng chỉ định số để truy cập bất kỳ phần tử nào một cách dễ dàng.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

C++ có tính di động cao, cho phép mã nguồn dễ dàng chạy trên nhiều hệ điều hành như Mac OS, Windows và Linux Nhờ vào đặc điểm này, lập trình viên có thể phát triển một chương trình và sử dụng lại nó trên nhiều nền tảng khác nhau mà không cần phải viết lại.

Ngôn ngữ lập trình C++ sở hữu nhiều thư viện phong phú, được coi là các phần mở rộng tương tự như plugins Những thư viện đa dạng này giúp lập trình viên phát triển nhiều tính năng khác nhau, nâng cao khả năng lập trình và tối ưu hóa quy trình phát triển phần mềm.

Ngoài ra, C++ cũng có tính đa hình (Multi-paradigm) Nghĩa là, C++ cho phép lập trình viên có thể lập trình C++ bằng nhiều cách khác nhau.

Có nhiều công cụ, phần mềm và IDE hỗ trợ C++ giúp bạn đơn giản hóa công việc

Kích thước mảng phải cố định: Khi cấp phát mảng tĩnh, mảng cần được khai báo với kích thước xác định trước khi chạy chương trình.

Các byte trong vùng bộ nhớ cấp phát cho mảng cần được sắp xếp liên tục Khi vùng bộ nhớ của chương trình bị phân mảnh, chương trình sẽ gặp lỗi bộ nhớ và yêu cầu lập trình viên khai báo lại với kích thước lớn hơn.

Giới thiệu, mô tả các lớp

Hệ thống quản lý ra vào toà nhà được xây dựng trên nền tảng lớp Người, từ đó phát triển các lớp dẫn xuất như Nhân viên, Quản lý, Cư dân, Khách, và Shipper, kế thừa các thuộc tính chính của lớp Người Mỗi lớp đại diện cho một đối tượng cụ thể trong hệ thống, trong khi lớp Logs ghi lại thông tin về thời gian ra vào toà nhà, đảm bảo quản lý và theo dõi hiệu quả.

3.3.1 Lớp Người Đây là lớp cơ sở cho 5 lớp tiếp theo là lớp Nhanvien, Quanly, CuDan, Khach, Shipper Lớp người gồm có các thuộc tính cơ bản là Họ tên, Số Chứng Minh Thư Nhân Dân (viết tắt: Số CMT) và ID ra vào toà nhà.

Lớp Nhân viên kế thừa từ lớp người với các thuộc tính cơ bản như Họ tên, Số CMT và ID Trong lớp Nhân viên, có hai loại là Bảo vệ và Lễ tân, họ là những người trực tiếp thực hiện nhiệm vụ trong tổ chức.

Người dùng hệ thống, bao gồm tran quang (quangsuphamhoak35@gmail.com), có quyền truy cập vào tòa nhà, thêm người dùng mới vào hệ thống và sử dụng thang máy chuyên dụng.

Lớp Quản lý kế thừa thuộc tính từ lớp Người và chức năng của lớp Nhân viên, đồng thời có thêm khả năng in danh sách người ra vào, chức năng độc quyền của quản lý Người quản lý sử dụng danh sách này kết hợp với hệ thống Camera trong toà nhà để theo dõi và đảm bảo an ninh, trật tự.

Lớp Cư dân kế thừa các thuộc tính cơ bản của lớp Người và được cấp ID ngay khi bắt đầu cư trú trong toà nhà Mã ID này cho phép cư dân ra vào toà nhà và sử dụng hệ thống thang máy, bao gồm cả thang máy chuyên dụng và thang máy dành cho khách Quyền sử dụng thang máy của Cư dân có thể được điều chỉnh theo yêu cầu quản lý của từng toà nhà.

Lớp Khách kế thừa các thuộc tính từ lớp Người và sẽ được cấp ID khi cung cấp đầy đủ thông tin cho Lê tân ID này cho phép Khách ra vào tòa nhà và sử dụng hệ thống thang máy dành cho Khách, nhưng không được phép sử dụng thang máy chuyên dụng.

Lớp Shipper kế thừa các thuộc tính từ lớp Người, có quyền hạn riêng trong việc hoạt động tại sảnh chính của tòa nhà Shipper chỉ được ra vào tòa nhà mà không sử dụng hệ thống thang máy, và có thể gọi Cư dân xuống nhận hàng hoặc gửi hàng tại kho chuyên biệt Quyền hạn của Shipper có thể thay đổi tùy thuộc vào cấu trúc và quy định của từng tòa nhà.

Lớp Logs lưu trữ thông tin về việc ra vào toà nhà của các đối tượng, bao gồm thời gian cụ thể và trạng thái hiện tại Các trạng thái này có thể là đã vào và ra khỏi toà nhà hoặc đã vào nhưng chưa rời khỏi.

Các hàm được sử dụng trong chương trình

3.4.1 Hàm lấy thời gian: (currentDateTime())

Hàm currentDateTime() được sử dụng để lấy thời gian hiện tại từ hệ thống, giúp ghi lại thời gian ra và thời gian vào của các đối tượng trong hệ thống một cách chính xác.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

3.4.2 Hàm lấy kiểm tra ID (checkID(int id))

Hàm checkID(int id) trong lớp Người có chức năng kiểm tra xem ID đã tồn tại hay chưa Hàm này được các lớp khác kế thừa và sử dụng để hỗ trợ cho các chức năng khác trong chương trình.

Chương trình còn bao gồm một hàm kiểm tra ID nằm ngoài lớp Người, giúp thông báo cho người dùng biết liệu ID họ đã nhập có tồn tại trong hệ thống hay không.

Hàm createID() thuộc lớp Người, có chức năng tạo ra một ID duy nhất bằng cách sử dụng hàm random để chọn ngẫu nhiên một số từ 1 đến 999 ID được tạo ra sẽ không trùng với bất kỳ ID nào đã được cấp trước đó.

3.4.4 Hàm kiểm tra quyền ( checkQuyen(int id, int role))

Hàm checkQuyen(int id, int role) có tác dụng kiểm tra ID nhập vào thuộc đối tượng nào, từ đó phân quyền cho họ Trong hàm này, quy định:

Hàm phân quyền này sẽ được áp dụng trong các hàm khác của hệ thống nhằm kiểm tra xem đối tượng có quyền thực hiện một hành động cụ thể nào đó hay không.

Hàm themNguoi() kiểm tra xem ID nhập vào có đủ thẩm quyền để thêm người dùng vào hệ thống hay không Hệ thống hiện tại quy định rằng chỉ nhân viên và quản lý mới có quyền thực hiện thao tác này Nếu ID không thuộc về nhân viên hoặc quản lý, hệ thống sẽ từ chối quyền thêm người dùng.

Hàm raVao() xác nhận tính hợp lệ của ID nhập vào, kiểm tra xem ID đó đã được cấp phát hay chưa Hàm này cho phép người dùng ra vào toà nhà bằng các ID chính xác và đồng thời ghi lại thông tin về thời gian ra vào trong hệ thống.

3.4.7 Hàm in danh sách vào ra (danhsachRaVao())

Hàm danhsachRaVao() kiểm tra xem ID nhập vào có thuộc về người có thẩm quyền để kiểm tra danh sách vào ra hay không Theo quy định hiện tại, chỉ có người Quản lý mới có quyền xem danh sách này.

ID của Quản lý, hàm in ra danh sách ra vào toà nhà ở thời điểm được yêu cầu. Danh sách

Tài liệu được tải xuống bởi tran quang (quangsuphamhoak35@gmail.com) bao gồm các thông tin như ID, Tên, Thời gian vào, Thời gian ra và Trạng thái (đã ra khỏi toà nhà hay chưa?) Đối với Trạng thái, hệ thống đã quy định rõ ràng.

0- Đang ở trong toà nhà (Đã vào nhưng chưa ra)

1- Đã ra ngoài toà nhà (Đã vào và đi ra rồi)

3.4.8 Hàm thang máy chuyên dụng và hàm thang máy khách.

Hai hàm này có chức năng tương tự nhau, kiểm tra ID và cấp quyền sử dụng thang máy cho các đối tượng Hệ thống hiện tại quy định:

- Thang máy chuyên dụng có thể sử dụng bởi: Quản lý, Nhân viên, Cư dân

- Thang máy khách có thể được sử dụng bởi: Quản lý, Nhân viên, Cư dân, Khách.

- Shipper không được sử dụng hệ thống thang máy.

Khi ID được nhập vào đúng nhóm quy định cho từng loại thang máy, hệ thống sẽ cho phép người dùng sử dụng thang máy và đồng thời ghi nhận thông tin về việc ra vào toà nhà của họ.

IoT & công nghệ RFID

IoT

Internet of Things (IoT) là một hệ thống kết nối các thiết bị tính toán, máy móc và con người, cho phép truyền dữ liệu qua mạng mà không cần sự can thiệp của con người.

Hệ thống IoT bao gồm 4 thành phần chính:

Hạ tầng mạng (Network and Cloud)

Bộ phận phân tích và xử lý dữ liệu (Services-creation and Solution Layers)

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Các thiết bị trong Internet of Things (IoT) thường không đồng nhất do sở hữu phần cứng và hệ thống khác nhau Tuy nhiên, chúng có thể tương tác với nhau thông qua sự liên kết của các hệ thống.

Kết nối liên thông trong hệ thống IoT cho phép các thiết bị và vật dụng đa dạng giao tiếp và tương tác với nhau thông qua một mạng lưới thông tin và cơ sở hạ tầng liên lạc tổng thể.

Hệ thống IoT cung cấp các dịch vụ liên quan đến "Things", đảm bảo bảo vệ sự riêng tư và duy trì tính nhất quán giữa thiết bị vật lý (Physical Thing) và phần mềm (Virtual Thing).

Quy mô lớn của hệ thống IoT cho phép hàng triệu thiết bị và máy móc giao tiếp và quản lý lẫn nhau, vượt xa số lượng máy tính kết nối Internet hiện tại Lượng thông tin được truyền tải giữa các thiết bị này sẽ lớn hơn rất nhiều so với thông tin mà con người có thể truyền đạt.

Các thiết bị điện tử và máy móc hiện đại có khả năng thay đổi linh hoạt trạng thái, cho phép tự động tắt, bật, kết nối hoặc ngắt kết nối, cũng như truy xuất vị trí một cách dễ dàng.

+ Truy cập thông tin từ mọi lúc, mọi nơi trên mọi thiết bị.

+ Cải thiện việc giao tiếp giữa các thiết bị điện tử được kết nối.

+ Chuyển dữ liệu qua mạng Internet giúp tiết kiệm thời gian và tiền bạc.

+ Tự động hóa các nhiệm vụ giúp cải thiện chất lượng dịch vụ của doanh nghiệp.

+ Khi nhiều thiết bị được kết nối và nhiều thông tin được chia sẻ giữa các thiết bị, thông tin bí mật có thể bị lấy cắp.

Các doanh nghiệp sẽ phải đối mặt với việc quản lý một số lượng lớn thiết bị IoT, điều này đặt ra thách thức trong việc thu thập và quản lý dữ liệu hiệu quả từ các thiết bị này.

+ Nếu có lỗi trong hệ thống, có khả năng mọi thiết bị được kết nối sẽ bị hỏng.

Vì hiện chưa có tiêu chuẩn quốc tế về khả năng tương thích cho Internet vạn vật (IoT), việc giao tiếp giữa các thiết bị từ các nhà sản xuất khác nhau trở nên khó khăn.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

IoT mang lại sự thông minh, tiện lợi và kết nối cho cuộc sống Hệ thống Internet of Things cung cấp cho doanh nghiệp cái nhìn sâu sắc về thời gian, hiệu suất máy móc, chuỗi cung ứng và hoạt động logistics.

IoT giúp các công ty tự động hóa quy trình, từ đó giảm chi phí lao động và lãng phí Công nghệ này cải thiện dịch vụ, làm cho sản xuất và giao hàng trở nên tiết kiệm hơn, đồng thời mang lại sự minh bạch trong các giao dịch với khách hàng.

Do đó, IoT là công nghệ quan trọng của cuộc sống hàng ngày và sẽ ngày càng phát triển mạnh mẽ hơn nữa.

- Ứng dụng cho doanh nghiệp

Lợi ích của IoT cho doanh nghiệp phụ thuộc vào cách triển khai và truy cập dữ liệu từ sản phẩm và hệ thống nội bộ Các nhà sản xuất đang tích hợp cảm biến vào sản phẩm để kết nối và truyền tải dữ liệu, giúp phát hiện lỗi kịp thời trước khi gây thiệt hại.

Việc sử dụng IoT cho doanh nghiệp có thể được chia thành hai phân khúc:

+ Các dịch vụ dành riêng cho ngành như cảm biến trong nhà máy phát điện hoặc thiết bị định vị thời gian thực để chăm sóc sức khỏe.

+ Các thiết bị IoT được sử dụng trong tất cả các ngành công nghiệp như điều hòa không khí thông minh hoặc hệ thống an ninh.

- Ứng dụng cho người dùng

IoT sẽ nâng cao tính thông minh cho nhà ở, văn phòng và phương tiện giao thông, đồng thời cải thiện khả năng đo lường và tự động hóa Các thiết bị thông minh như trợ lý ảo Google Assistant không chỉ tiết kiệm sức lực mà còn hỗ trợ người dùng trong các công việc hàng ngày như phát nhạc và điều chỉnh nhiệt độ.

IoT giúp chúng ta theo dõi mức độ ô nhiễm môi trường một cách dễ dàng qua điện thoại hoặc máy tính nhờ vào các chỉ số đo lường chính xác.

Xe tự lái và thành phố thông minh có khả năng thay đổi cách chúng ta thiết kế và quản lý không gian công cộng, mang lại hiệu quả và tiện ích cao hơn trong việc sử dụng tài nguyên đô thị.

Nhiều đổi mới công nghệ hiện nay có thể tác động đáng kể đến quyền riêng tư cá nhân, đặc biệt là rủi ro rò rỉ dữ liệu cá nhân và việc bị giám sát thông qua hệ thống camera an ninh.

RFID

RFID (Nhận diện tần số vô tuyến) là công nghệ sử dụng sóng radio để nhận diện và theo dõi các đối tượng Hệ thống RFID bao gồm hai thành phần chính: thẻ tag chứa chip RFID với thông tin và đầu đọc (reader) để truy xuất dữ liệu từ chip Công nghệ này giúp giám sát, quản lý và lưu vết từng đối tượng một cách hiệu quả.

4.2.2 Ưu điểm và nhược điểm của công nghệ RFID.

- Ưu điểm của công nghệ RFID.

Lưu dấu và kiểm soát các đối tượng mà không cần sắp xếp giúp tiết kiệm thời gian xử lý dữ liệu trong hệ thống RFID một cách hiệu quả.

Kiểm kê nhanh chóng và không cần tiếp xúc cho phép quét nhiều đối tượng cùng lúc, lên đến 40 thẻ mỗi giây, giúp giảm đáng kể thời gian kiểm tra.

Thẻ RFID có khả năng ghi và ghi lại dữ liệu nhiều lần, giúp tiết kiệm chi phí nhờ vào việc tái sử dụng.

+Thẻ RFID hoạt động tốt trong môi trường không thuận lợi (ví dụ nóng, ẩm, bụi, bẩn, môi trường ăn mòn hay có sự va chạm…)

+Triển khai hệ thống RFID sẽ tăng năng suất lao động, tự động hóa nhiều quá trình sản xuất, tăng sự thỏa mãn khách hàng và tăng lợi nhuận.

- Nhược điểm của công nghệ RFID.

+ Chi phí triển khai cao.

+ Khả năng kiểm soát thiết bị còn hạn chế.

+ Thẻ dễ bị nhiễu sóng trong môi trường nước và kim loại.

+ Các đầu đọc có thể đọc chồng lấn lên nhau.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Mặc dù công nghệ RFID mang lại nhiều lợi ích và tiềm năng phát triển, vẫn tồn tại một số nhược điểm cần cải thiện trong tương lai Điều quan trọng nhất là cần nắm vững công nghệ này để giảm chi phí sản phẩm và đưa RFID gần gũi hơn với đời sống hàng ngày.

Trong hệ thống kiểm soát ra vào, quyền truy cập của từng người được lưu trữ và gắn liền với một mã số duy nhất trên thẻ RFID Khi thẻ được quét bởi đầu đọc, hệ thống sẽ tra cứu trong cơ sở dữ liệu để xác minh quyền ra vào của người dùng Nếu người đó có quyền, hệ thống sẽ gửi tín hiệu mở cửa, cho phép họ vào.

RFID có thể được áp dụng để nhận diện khách hàng tại các trung tâm chăm sóc sức khỏe và quản lý động vật trong hệ thống sinh vật sống Ngoài ra, sinh viên có thể sử dụng RFID để bảo vệ tài sản trong tủ đựng đồ, trong khi taxi có thể yêu cầu quyền ra vào khu vực đón khách tại sân bay.

Công nghệ RFID được ứng dụng rộng rãi trong quản lý hàng hóa trực tuyến, giúp tự động hóa việc cho ăn và vắt sữa cho gia súc, cũng như tối ưu hóa việc phát hiện nguồn nhiệt Hệ thống giao thông sử dụng RFID trên xe buýt, taxi và xe cấp cứu nhằm đảm bảo an toàn và thuận tiện tại các trạm dừng Trong lĩnh vực bán lẻ, RFID được áp dụng để bảo vệ hàng hóa và kiểm tra sản phẩm Ngoài ra, các bộ phận vận chuyển cũng sử dụng RFID để theo dõi kiện hàng trong kho và trong suốt quá trình vận chuyển.

Thẻ RFID có thể gắn lên nhiều loại sản phẩm như vỏ hộp đồ uống, đế giày, quần bò và trục ôtô, giúp các công ty quản lý hàng hóa từ xa bằng máy tính RFID không chỉ thay thế mã vạch mà còn cung cấp thông tin chi tiết về nguồn gốc sản phẩm, giúp nhà cung cấp và đại lý bán lẻ nắm rõ tình trạng hàng hóa trên quầy và trong kho Nhờ đó, các công ty bán lẻ giảm bớt lo lắng về việc kiểm kho, giao nhầm hàng và thống kê số lượng sản phẩm Hơn nữa, họ còn có khả năng theo dõi chính xác hàng hóa trong túi khách hàng khi ra vào.

Khi một RFID gắn vào sản phẩm, nó ngay lập tức phát ra tín hiệu vô tuyến cho biết vị trí của sản phẩm, như trên xe đẩy, trong kho lạnh hoặc đang ở tay khách hàng Nhờ kết nối với mạng vi tính của cửa hàng, nhân viên bán hàng có thể dễ dàng theo dõi và quản lý hàng hóa.

Sản phẩm được sản xuất tại nhà máy nào và vào thời điểm nào, cùng với thông tin về màu sắc và kích cỡ của sản phẩm, là những yếu tố quan trọng cần lưu ý Để bảo quản sản phẩm một cách hiệu quả, cần lưu trữ ở nhiệt độ thích hợp.

4.3 Ứng dụng của IoT và RFID vào quản lý ra vào tòa nhà

4.3.1 Ứng dụng IoT vào quản lý ra vào toà nhà

IoT trong các tòa nhà giúp thu thập và phân tích dữ liệu một cách dễ dàng và tiết kiệm chi phí, với mục tiêu chính là cải thiện hiệu suất Các công cụ này cho phép giám sát dữ liệu từ xa, tích hợp thông tin từ nhiều nguồn khác nhau, và phân loại, phân tích dữ liệu để đưa ra những thông tin chi tiết phục vụ cho việc ra quyết định Nhờ đó, các nhà quản lý tòa nhà có thể linh hoạt và nhanh chóng đáp ứng với các điều kiện thay đổi và kiểm soát chi phí hiệu quả hơn.

Dữ liệu từ nhiều nguồn khác nhau, bao gồm cả các yếu tố bên ngoài tòa nhà, có thể được tích hợp vào quá trình phân tích Chẳng hạn, thông tin về sự ra vào của người trong tòa nhà cùng với dữ liệu từ khách bên ngoài sẽ được kiểm tra và quản lý trên hệ thống.

Dữ liệu có thể được thu thập chi tiết hơn để tiết kiệm hiệu quả hơn Trong khi hệ thống BMS chỉ ghi nhận dữ liệu từ các thiết bị chính trong tòa nhà, IoT cho phép thu thập thông tin về mọi khía cạnh hoạt động Chẳng hạn, bộ phận cảm ứng IoT trong hệ thống vào ra có thể giám sát các đối tượng ra vào tòa nhà, và dữ liệu này sẽ được gửi lên bộ phận máy chủ để kiểm soát thông tin.

Công nghệ phân tích dữ liệu tiên tiến giúp phát hiện các xu hướng khó nhận biết, đặc biệt là trong các hệ thống BMS thường bị lãng quên sau khi thiết lập Điều này dẫn đến việc khó xác định khi nào hiệu suất của hệ thống bị lệch khỏi tiêu chuẩn ban đầu Tuy nhiên, phần mềm hiện đại trong các hệ thống tòa nhà IoT sử dụng học máy để phát hiện các trường hợp ngoại lệ và hành vi bất thường trong hiệu suất Nhờ vào vòng phản hồi liên tục từ các nền tảng này, bạn có thể đảm bảo thiết bị hoạt động với hiệu suất tối ưu, từ đó tối đa hóa lợi tức đầu tư.

Ứng dụng của IoT và RFID vào quản lý ra vào tòa nhà

Tại các toà nhà và cơ quan, khách phải qua quầy lễ tân để nhận thẻ RFID, trong đó chứa thông tin đã được khai báo Sau khi đăng ký, dữ liệu của khách sẽ được lưu trữ trong hệ thống quản lý định vị Thẻ RFID sẽ gửi dữ liệu đến đầu đọc, và nếu không được phép vào, hệ thống sẽ thông báo cho nhân viên an ninh.

Hệ thống ghi nhận sự hiện diện của khách khi thẻ được quét Nó theo dõi di chuyển của khách từ vị trí ban đầu và gửi thông tin về đầu đọc thẻ RFID mỗi khi khách di chuyển vào các khu vực khác nhau Nhân viên an ninh có thể theo dõi hướng đi của khách thông qua hiển thị tag trên bản đồ định vị.

Cài đặt và thử nghiệm

Cài đặt và thử nghiệm IoT và RFID

Nguyên lý lắp đặt Iot

- Chúng ta có thể vận dụng để lắp đặt cửa tự động ra vào tòa nhà khi có người đi ra/ vào:

Cửa trượt tự động là loại cửa phổ biến nhất trong các cửa tự động hiện nay Chúng hoạt động nhờ vào hệ thống rail trượt và được điều khiển bằng cảm biến mắt thần, nút bấm, hoặc đầu đọc kiểm soát Cửa có thể được thiết kế cho 1 cánh hoặc 2 cánh, sử dụng motor để thực hiện chức năng đóng mở tự động.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Cửa trượt tự động TC-125B hiện đang được đánh giá cao trên thị trường nhờ vào chất lượng vượt trội và khả năng hoạt động hiệu quả.

Nút bấm và mắt cảm biến mở cửa rất hữu ích cho những không gian hẹp hoặc các vị trí cửa gần nơi có người qua lại, như mặt đường và hành lang cầu thang.

Cảm biến không tiếp xúc, cho phép mở cửa bằng cách đưa tay mà không cần chạm, là giải pháp lý tưởng cho cửa tại các phòng mổ, phòng sạch trong bệnh viện và nhà máy Công nghệ này không chỉ đảm bảo vệ sinh mà còn tăng cường an toàn cho người sử dụng.

Cảm biến an toàn cho cửa tự động giúp khắc phục điểm mù giữa hai cánh kính khoảng 30cm, ngăn cửa đóng lại khi có người đứng gần, còn được gọi là cảm biến chống kẹp Khác với cảm biến cho cổng tự động, cảm biến cửa tự động có kích thước nhỏ hơn và thường được lắp đặt ở hai bên cửa Những cửa tự động sử dụng đầu đọc vân tay hoặc nút bấm cũng cần cảm biến an toàn để nâng cao mức độ bảo vệ trong quá trình sử dụng.

- Gắn camera theo dõi ở thang máy bộ phận bảo vệ sẽ tiếp nhận công việc theo dõi này

Hệ thống thẻ RFID được sử dụng để cấp thẻ cho nhân viên và khách tạm thời, giúp kiểm soát ra vào cửa và thang máy, đồng thời thu thập dữ liệu và xác minh danh tính hiệu quả.

Hệ thống thẻ sử dụng chip RFID được lập trình với các thông tin cần thiết như họ tên và CMND Sau khi nạp thông tin, chip RFID sẽ được kích hoạt và chuyển cho người dùng Đối với thẻ tạm thời, lễ tân sẽ nhập thông tin theo mẫu đã được lập trình, cho phép sửa đổi thông tin để sử dụng cho các lần sau.

Khi bạn qua cửa, thẻ sẽ được quét và máy sẽ tự động nhận diện tài liệu dựa trên thông tin đã được lập trình trên chip RFID, xác nhận quá trình vào hoặc ra Đồng thời, chip RFID trên thẻ sẽ được tắt tính năng chống trộm (EAS), cho phép bạn dễ dàng đi vào.

Bộ phận nhận thông tin sẽ tiếp nhận dữ liệu từ máy và kiểm tra thông tin tài liệu trong cơ sở dữ liệu Sau khi xác định đúng danh tính, hệ thống sẽ tự động hiển thị thời gian vào và ra khi nhận được thông tin lần thứ hai.

Thang máy cũng có cách hoạt động tương tự, nhưng dữ liệu được phân chia chi tiết hơn, giúp phân loại các tầng theo chức năng sử dụng và hạn chế quyền truy cập của người dùng.

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Hiện nay, việc ứng dụng IoT và RFID đang trở nên phổ biến và mang lại hiệu quả cao Đây là lựa chọn thiết yếu cho việc lắp đặt các hệ thống hiện đại.

Phần mềm quản lý

#include using namespace std;

To obtain the current date and time in the format YYYY-MM-DD.HH:mm:ss, you can use the following C++ function This function retrieves the current time, adjusts the hour by adding 7, and formats it into a string representation The formatted date and time is then returned as a string.

The class "Nguoi" is designed to manage personal information with protected attributes such as "hoten" (name), "soCMT" (ID number), and "id" It includes a static vector to store IDs Public methods allow access and modification of these attributes, including "getHoTen" and "setHoTen" for the name, "getsoCMT" and "setsoCMT" for the ID number, and "getId" and "setId" for the unique identifier This structure facilitates organized data handling in software applications.

// Kiểm tra ID static bool checkID(int id) { for (int i : ids) { if (id == i) { return true;

// Tạo ID static int createID() {

Downloaded by tran quang (quangsuphamhoak35@gmail.com) int id = (rand() % (999 - 1 + 1)) + 1; while (checkID(id) && ids.size() > 0) { id = (rand() % (999 - 1 + 1)) + 1;

} ids.push_back(id); return id;

}; class NhanVien : public Nguoi { public:

The NhanVien() function prompts the user to enter employee information, including their full name and ID number It then stores this data using the setHoTen and setsoCMT methods, while also generating a unique ID for the employee through the createID function from the Nguoi class Finally, it outputs the newly assigned employee ID to the console.

The CuDan function prompts the user to enter personal information, including the citizen's name and identification number It captures the input values for the name and ID, then utilizes setter methods to store this data Additionally, it generates a unique ID for the citizen using the createID method from the Nguoi class, and finally, it displays the generated ID to the user.

QuanLy() { string hoten; int soCMT; cout

Ngày đăng: 06/05/2022, 11:51

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN