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

THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO

132 0 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 đề Thiết Kế Hệ Thống Quản Lý Sinh Viên Qua Lối Đi Vào
Tác giả Đỗ Ngọc Duy, Lục Nguyễn Trường Thảo, Nguyễn Văn Tâm
Người hướng dẫn ThS. Nguyễn Văn Hiệp
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 132
Dung lượng 19,88 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (22)
    • 1.1 ĐẶT VẤN ĐỀ (22)
    • 1.2 MỤC TIÊU (22)
    • 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (23)
    • 1.4 PHƯƠNG PHÁP NGHIÊN CỨU (23)
    • 1.5 NỘI DUNG NGHIÊN CỨU (23)
    • 1.6 GIỚI HẠN ĐỀ TÀI (24)
    • 1.7 BỐ CỤC ĐỀ TÀI (24)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (25)
    • 2.1 Tổng quan về hệ thống kiểm soát ra vào (25)
    • 2.2 Công nghệ RFID (26)
    • 2.3 Các chuẩn giao tiếp (28)
      • 2.3.1 Chuẩn giao tiếp I2C (28)
      • 2.3.2 Chuẩn giao tiếp SPI (30)
      • 2.3.3 Chuẩn giao tiếp UART (32)
    • 2.4 Hệ thống kiểm soát cổng vào tại ký túc xá (34)
    • 2.5 PhpMyAdmin (35)
    • 2.6 Ngôn ngữ Python (37)
    • 2.7 Ngôn ngữ lập trình web (38)
  • CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ (42)
    • 3.1 Giới thiệu (42)
    • 3.2 Tính toán và thiết kế hệ thống (42)
      • 3.2.1 Thiết kế sơ đồ khối hệ thống (42)
      • 3.2.2 Tính toán phần cứng cần sử dụng (43)
    • 3.3 Sơ đồ nguyên lý hệ thống (69)
  • CHƯƠNG 4. THI CÔNG HỆ THỐNG (71)
    • 4.1 Thi công mô hình (71)
    • 4.2 Cài đặt hệ điều hành cho raspberry (80)
    • 4.3 Điều khiển Raspberry qua laptop (87)
    • 4.4 Lập trình cho hệ thống (92)
      • 4.4.1 Lưu đồ giải thuật (92)
      • 4.4.2 Lập trình phần cứng (97)
      • 4.4.3 Lập trình Web (98)
    • 4.5 Cài đặt môi trường thiết lập Web-server và xây dựng database (99)
    • 4.6 Hướng dẫn thao tác trên web (108)
  • CHƯƠNG 5. KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ (119)
    • 5.1 Kết quả đạt được (119)
    • 5.2 Kết quả thực tế (119)
      • 5.2.1 Thao tác trên hệ thống (119)
      • 5.2.2 Các kết quả khảo sát và thực hiện (120)
    • 5.3 Nhận xét và Đánh giá (127)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (129)
    • 6.1. Kết luận (129)
    • 6.2. Hướng phát triển (130)
  • TÀI LIỆU THAM KHẢO (131)
  • PHỤ LỤC (132)

Nội dung

Hệ thống giám sát ra vào gồm có các thiết bị chính như bộ điều khiển, đầu đọc, thẻ và phụ kiện2. Bộ điều khiển là bo mạch điều khiển hệ thống, đã được đóng gói hoặc tích hợp vào đầu đọc2. Đầu đọc là thiết bị đọc thẻ, vân tay, khuôn mặt và truyền thông tin về bộ điều khiển2. Thẻ là thiết bị chứa thông tin cá nhân, có thể là thẻ RFID, Mifare hoặc Proximity12. Phụ kiện là các thiết bị phụ trợ như khóa cửa, barie, cửa tự động…

TỔNG QUAN

ĐẶT VẤN ĐỀ

Trải qua các cuộc cách mạng về khoa học kỹ thuật thì xã hội đã ngày càng phát triển và tiến đến thời kì công nghệ 4.0 Một kỷ nguyên mới, kỷ nguyên của mạng internet kết hợp với vạn vật xung quanh Internet of Things (IOT) Một mạng lưới dày đặc Internet được trải khắp giúp ta điều khiển mọi thứ thuận tiện, nhanh chóng Công nghệ IOT chính là tương lai, thứ sẽ thay thế những thứ thủ công sau này đưa con người chúng ta đến một thời đại phát triển mới nơi mọi thứ được tự động hoàn toàn.

Một vấn đề nan giải mà bất cứ ký túc xá của trường học nào cũng quan tâm đến đó chính là việc làm thế nào để quản lý sinh viên của ký túc xá được an toàn, kỷ luật cũng đồng thời giúp tăng cường sự an ninh của ký túc xá Có thể chúng ta có thể thuê nhân công làm công việc bảo vệ thế nhưng sức người là có hạn và cũng không thể không tránh khỏi những sai sót, hơn nữa thời đại công nghệ phát triển đòi hỏi chúng ta cũng phải tự động hóa mọi thứ theo cuộc sống số Vì lẽ đó, đề tài: “Hệ thống quản lý ra vào tại KTX D1 Trường Đại học Sư phạm kỹ thuật TP Hồ Chí Minh” ra đời để giải quyết và làm hạn chế những vấn đề còn tồn đọng tại khu vực ký túc xá D1 của trường.

Là khu vực trọng điểm của trường, tồn tại nhiều thành phần khác nhau và dân cư tập trung đông đúc, nhóm tìm hiểu và nắm được những vấn đề câp thiết cần giải quyết và lên phương án thực hiện các nhiệm vụ cần có cụ thể: quản lý sinh viên ra vào quẹt thẻRFID hoặc những thiết bị có chức năng NFC, đo thân nhiệt sinh viên trước khi qua cổng trong tình hình đại dịch diễn biến phức tạp, chụp ảnh ghi lại thời gian ra vào,thanh chắn và báo động các trường hợp lạ hoặc trái quy định…

MỤC TIÊU

Thi công mô hình quản lý giám sát sự ra vào của sinh viên đảm bảo được tính chính xác, hiệu quả nhất, hoạt động được liên tục, đồng bộ được dữ liệu đến hệ thống quản lý sinh viên của ký túc xa, quản lý được thông tin sinh viên trên website và các chức năng liên quan sử dụng được qua mạng Internet, đo chính xác được thân nhiệt của sinh viên góp phần đảm bảo an ninh, trật tự và giữ gìn sự an toàn cho sinh viên và quý thầy cô tại ký túc xá.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Đối tượng nghiên cứu: Phần cứng gồm tín hiệu đầu vào là các tín hiệu từ RFID, hình ảnh con người thông qua các cảm biến chức năng, bộ xử lý trung tâm là mạch Raspberry 3B+, mạch nguồn hệ thống và ngõ ra hiển thị trên LCD qua các nội dung: thuật toán xử lý để giao tiếp, cách thức giao tiếp, chuẩn giao tiếp, cách kết nối, cách xuất dữ liệu lên server Phần mềm gồm website quản lý thông tin sinh viên ra vào thông qua nội dung: cách xây dựng thông tin, cách truyền/ nhận dữ liệu từ phần cứng.

Phạm vi nghiên cứu: Mô hình áp dụng được cho số lượng sinh viên giới hạn(~10ng) nhưng có thể mở rộng quy mô lên Kiến thức phần cứng và phần mềm còn hạn chế nên chức năng còn ít, chưa tối ưu hoàn toàn, dữ liệu được lưu còn ít

PHƯƠNG PHÁP NGHIÊN CỨU

Đọc và tìm hiểu các thông số, chức năng có của các thiết bị, xem video hướng dẫn , xem và tìm hiểu các ví dụ cơ bản đến nâng cao để nắm được nguyên lý hoạt động từ đó biết cách xây dựng thuật toán và triển khai lên lưu đồ.

Kiểm tra tính chính xác của thiết bị bằng cách đo đạc, kiểm thử

Nghiên cứu mô hình và xây dựng phần cứng Đem vào thực nghiệm, đánh giá và rút ra kết quả, viết lại báo cáo

NỘI DUNG NGHIÊN CỨU

1 Tìm hiểu nguyên lý hoạt động và xây dựng mạch điều khiển Rasberry Pi 3B+

2 Tìm hiểu nguyên lý hoạt động của LCD, cảm biến hồng ngoại…

3 Tìm hiểu và xây dựng hệ cơ sở dữ liệu

4 Tìm hiểu thuật toán, xây dựng các lưu đồ giải thuật và viết chương trình điều khiển tương ứng, thiết kế giao diện web-server thông qua Internet, …

5 Thi công phần cứng: vẽ mạch, đi layout,…

6 Thử nghiệm và khảo sát mô hình đã xây dựng

7 Đánh giá kết quả, đưa ra nhận xét, tổng kết và ghi lại báo cáo

GIỚI HẠN ĐỀ TÀI

 Chỉ mới xây dựng mô hình có các chức năng liên quan đến quản lý sinh viên ra vào nên tính chặt chẽ còn chưa có.

 Mô hình chỉ mới áp dụng được số lượng dữ liệu còn nhỏ

 Trường hợp quên thẻ RFID chỉ có thể khai báo thủ công

 Sử dụng web server để quản lý và xử lý dữ liệu

BỐ CỤC ĐỀ TÀI

Chương 2: Cơ sở lý thuyết

Chương 3: Tính toán và thiết kế

Chương 4: Thi công hệ thống

Chương 5: Đánh giá kết quả và nhận xét

Chương 6: Kết luận và phương hướng phát triển

CƠ SỞ LÝ THUYẾT

Tổng quan về hệ thống kiểm soát ra vào

Hệ thống kiểm soát ra vào là hệ thống được thiết kế để xác thực và cho phép hoạt động ra vào của người hoặc tài sản trong một hệ thống, từ đó đảm bảo an ninh, an toàn cho hệ thống Hệ thống thường được lắp đặt tại các khu vực như công ty, văn phòng, bệnh viện, trường học, khu dân cư, cổng ra vào,

Các giải pháp kiểm soát ra vào hiện nay gồm:

+ Kiểm soát ra vào bằng thẻ

+ Kiểm soát ra vào bằng sinh trắc học

+ Kiểm soát ra vào sử dụng mật mã

Hệ thống bao gồm các thiết bị chính như bộ điều khiển, đầu đọc, thẻ và phụ kiện

Bộ điều khiển : Là bo mạch điều khiển hệ thống, đã được đóng gói hoặc tích hợp vào đầu đọc. Đầu đọc: nhận diện thẻ, vân tay, khuôn mặt hoặc võng mạc, và truyền thông tin về bộ điều khiển.

Thẻ : RFID, Mifare hoặc Proximity chứa thông tin cá nhân Có thể thay thẻ bằng các phương thức nhận diện như: Vân tay, khuôn mặt, võng mạc mắt.

Phụ kiện : bao gồm khóa cửa/ barrier / cửa tự động… và các thiết bị phụ trợ khác.

Khi thẻ hoặc sinh trắc học tác động vào đầu đọc thì tín hiệu được gửi về bộ điều khiển, tiến hành đối chiếu dữ liệu, nếu đúng thì gửi tín hiệu điều khiển để mở phụ kiện như khóa, thanh chắn, cửa, nếu sai thì không tác động.

 Tính năng của hệ thống kiểm soát ra vào

- Hệ thống kiểm soát ra vào mang đến giải pháp an ninh hoàn hảo, cấp độ bảo mật cao bằng phương thức nhận diện thẻ thông minh, nhận diện vân tay và gương mặt.

- Hệ thống kiểm soát ra vào ngăn chặn những truy cập không hợp pháp, bảo vệ người và tài sản Ngoài ra mọi sự kiện đều được lưu trữ để điều tra, giám sát.

- Hệ thống kiểm soát ra vào giảm chi phí cho nhân công đồng thời nâng cao sự tin tưởng, minh bạch.

- Hệ thống kiểm soát ra vào hỗ trợ chức năng giám sát kiểm tra tại mọi thời điểm.

- Hệ thống kiểm soát ra vào có thể xuất nhiều loại báo cáo tại mọi thời điểm.

- Hệ thống kiểm soát ra vào dễ dàng tích hợp với các hệ thống khác: CMS,CCTV, báo động, báo cháy, hệ thống cửa tự động, hệ thống thang máy, hệ thống két sắt, két gửi đồ….

Công nghệ RFID

RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng sóng vô tuyến Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng Một hệ thống RFID thường bao gồm 2 thành phần chính là thẻ tag (chip RFID chứa thông tin) và đầu đọc (reader) đọc các thông tin trên chip.

Những năm 1940 - Công nghệ radar được sử dụng để xác định máy bay địch và máy bay thân thiện trong Thế chiến II Về mặt kỹ thuật, đây là lần đầu tiên sử dụng RFID Năm 1948 - Nhà khoa học và nhà phát minh Harry Stockman tạo ra RFID và được ghi nhận với phát minh này Năm 1963 - Nhà phát minh RF Harrington hình thành các ý tưởng RFID mới bao gồm phân tán dữ liệu và thông tin Năm 1977 - Tấm giấy phép truyền RFID đầu tiên được tạo ra Năm 2000 - Đến thời điểm này, hơn 1000 bằng sáng chế đã được gửi bằng công nghệ RFID Năm 2015, thị trường RFID sẽ được định giá 26 tỷ USD Xem xét rằng thị trường năm 2005 ở mức 1,95 tỷ đô la, đó là mức tăng 24 tỷ đô la.

Hệ thống RFID sử dụng hệ thống không dây thu phát sóng radio

Thông tin có thể được truyền qua những khoảng cách nhỏ mà không cần một tiếp xúc vật lý nào.

Có thể đọc được thông tin xuyên qua các môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn và các điều kiện môi trường thách thức khác.

Hệ thống RFID có thể được phân loại theo các băng tần số hoạt động của mình, như: tần số thấp (LF), tần số cao (HF) và tần số siêu cao (UHF).

Giảm chi phí thông tin do các thẻ RFID có thể lưu bằng điện tử một khối lượng lớn thông tin được gắn vào đồ vật Các thông tin đó có thể được thay đổi và cập nhật tại điểm sử dụng Trong khi các mã vạch và trao đổi dữ liệu điện tử EDI (Electronic Data Interchange) giữa các máy tính luôn gặp phải một số hạn chế: các mã vạch thông thường được đầu đọc quét qua nó và phải được đọc liên tục; các mã vạch không thể thay đổi một khi đã được in ra và dễ bị dính bụi và dễ bị trầy xước.

Thiết bị RFID reader phát ra sóng điện từ ở một tần số cụ thể nào đó và thiết bị phát mã RFID tag trong vùng hoạt động sẽ cảm nhận được sóng được điện từ này và thu nhận năng lượng từ đó phát lại cho thiết bị RFID biết mã số của mình Ngay lúc đó RFID reader biết được tag nào đang hoạt động trong vùng sóng điện từ.

- Hệ thống quản lý ra vào thông minh tại chung cư, bệnh viện, trường học,

- Theo dõi hàng lý tại sân bay, phân loại sản phẩm trong dây chuyền sản xuất

- Kiểm kê sách trong thư viện

- Thu phí tự động trong giao thông vận tải

- Quản lý hồ sơ bệnh án ở bệnh viện

Chính vì tính tiện lợi, phổ biến, hiện đại của RFID ở trên nên nhóm quyết định thiết kế hệ thống giám sát ra vào thông qua thẻ RFID.

Các chuẩn giao tiếp

Trong đồ án này, nhóm sử dụng 3 chuẩn giao tiếp cần phân biệt thiết bị chủ (master) và thiết bị tớ (slave) là I2C, SPI, UART để giao tiếp giữa các module. Raspberry là thiết bị chủ còn các module khác là thiết bị tớ.

 Giới thiệu giao tiếp I2C Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giao tiếp giữa các IC với nhau I2C mặc dù được phát triển bởi Phillips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Phillips như: Texas Instrument(TI), MaximDallas, analog Device, National Semiconductor, vv Bus I2C được sử dụng làm bus giao tiếo ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM, vv chip nhớ như: RAM tĩnh (Static RAM), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự (DAC), IC điều khiển LCD, LED,

Với I2C, bạn có thể kết nối nhiều slave với một master duy nhất (như SPI) và bạn có thể có nhiều master điều khiển một hoặc nhiều slave Điều này thực sự hữu ích khi bạn muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD

Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu. SCL (Serial Clock) - đường mang tín hiệu xung nhịp.

I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA).

Giống như SPI, I2C là đồng bộ, do đó đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave Tín hiệu xung nhịp luôn được điều khiển bởi master.

 Các bước truyền dữ liệu I2C

Bước 1: Master gửi điều kiện khởi động đến mọi slave được kết nối bằng cách chuyển đường SDA từ mức điện áp cao sang mức điện áp thấp trước khi chuyển đường SCL từ mức cao xuống mức thấp.

Bước 2: Master gửi cho mỗi slave địa chỉ 7 hoặc 10 bit của slave mà nó muốn giao tiếp, cùng với bit đọc/ghi.

Bước 3: Mỗi slave sẽ so sánh địa chỉ được gửi từ master với địa chỉ của chính nó. Nếu địa chỉ trùng khớp, slave sẽ trả về một bit ACK bằng cách kéo dòng SDA xuống thấp cho một bit Nếu địa chỉ từ master không khớp với địa chỉ của slave, slave rời khỏi đường SDA cao.

Bước 4: Master gửi hoặc nhận khung dữ liệu.

Bước 5: Sau khi mỗi khung dữ liệu được chuyển, thiết bị nhận trả về một bit ACK khác cho thiết bị gửi để xác nhận đã nhận thành công khung.

Bước 6: Để dừng truyền dữ liệu, master gửi điều kiện dừng đến slave bằng cách chuyển đổi mức cao SCL trước khi chuyển mức cao SDA.

 Ưu điểm và nhược điểm của I2C

Có rất nhiều điều ở I2C có thể khiến nó nghe có vẻ phức tạp so với các giao thức khác, nhưng có một số lý do chính đáng khiến bạn có thể muốn hoặc không muốn sử dụng I2C để kết nối với một thiết bị cụ thể:

- Hỗ trợ nhiều master và nhiều slave

- Bit ACK / NACK xác nhận mỗi khung được chuyển thành công

- Phần cứng ít phức tạp hơn so với UART

- Giao thức nổi tiếng và được sử dụng rộng rãi

- Tốc độ truyền dữ liệu chậm hơn SPI

- Kích thước của khung dữ liệu bị giới hạn ở 8 bit

- Cần phần cứng phức tạp hơn để triển khai so với SPI

 Giới thiệu về giao tiếp SPI

SPI (Serial Peripheral Interface) hay còn gọi là giao diện ngoại vi nối tiếp, được phát triển bởi hãng Motorola SPI hoạt động ở chế độ full - duplex (hay gọi là "song công toàn phần") Nghĩa là tại 1 thời điểm có thể xảy ra đồng thời quá trình truyền và nhận, bất cứ quá trình nào cũng đều được đồng bộ với xung clock sinh ra bởi thiết bị Master nên không cần phải lo lắng về tốc độ truyền dữ liệu.

SPI thường được sử dụng giao tiếp với bộ nhớ EEPROM, RTC (Đồng hồ thời gian thực), IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ nhớ như MMC hoặc thẻ SD hoặc thậm chí các bộ vi điều khiển khác.

Các thiết bị giao tiếp qua SPI có quan hệ master - slave Master là thiết bị điều khiển (thường là vi điều khiển), còn slave (thường là cảm biến, màn hình hoặc chip nhớ) nhận lệnh từ master Cấu hình đơn giản nhất của SPI là hệ thống một slave, một master duy nhất, nhưng một master có thể điều khiển nhiều hơn một slave.

SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này:

MOSI (đầu ra master / đầu vào slave) - đường truyền cho master gửi dữ liệu đến slave.

MISO (đầu vào master / đầu ra slave) - đường cho slave gửi dữ liệu đến master. SCLK (clock) - đường cho tín hiệu xung nhịp.

SS / CS (Slave Select / Chip Select) - đường cho master chọn slave nào để gởi tín hiệu.

 Các bước truyền dữ liệu SPI

Bước 1: Master ra tín hiệu xung nhịp.

Bước 2: Master chuyển chân SS / CS sang trạng thái điện áp thấp, điều này sẽ kích hoạt slave.

Bước 3: Master gửi dữ liệu từng bit một tới slave dọc theo đường MOSI Slave đọc các bit khi nó nhận được.

Bước 4: Nếu cần phản hồi, slave sẽ trả lại dữ liệu từng bit một cho master dọc theo đường MISO Master đọc các bit khi nó nhận được.

 Ưu và nhược điểm của SPI

- Không có bit bắt đầu và dừng, vì vậy dữ liệu có thể được truyền liên tục mà không bị gián đoạn

- Tốc độ truyền dữ liệu cao hơn I2C (nhanh gần gấp đôi)

- Các đường MISO và MOSI riêng biệt, vì vậy dữ liệu có thể được gửi và nhận cùng một lúc

- Sử dụng bốn dây (I2C và UART sử dụng hai)

- Không xác nhận dữ liệu đã được nhận thành công (I2C có điều này)

- Không có hình thức kiểm tra lỗi như bit chẵn lẻ trong UART

- Chỉ cho phép một master duy nhất

 Giới thiệu về giao tiếp UART

UART (Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu nối tiếp bất đồng bộ) là một trong những giao thức truyền thông giữa thiết bị với thiết bị được sử dụng nhiều nhất Bạn có thể thấy giao tiếp UART được sử dụng nhiều trong các ứng dụng để giao tiếp với các module như: Wifi, Bluetooth, Xbee, module đầu đọc thẻ RFID với Raspberry Pi, Arduino hoặc vi điều khiển khác Đây cũng là chuẩn giao tiếp thông dụng và phổ biến trong công nghiệp từ trước đến nay.

Khi được cấu hình đúng cách, UART có thể hoạt động với nhiều loại giao thức nối tiếp khác nhau liên quan đến việc truyền và nhận dữ liệu nối tiếp Trong giao tiếp nối tiếp, dữ liệu được truyền từng bit bằng cách sử dụng một đường dây Trong giao tiếp hai chiều, chúng ta sử dụng hai dây để truyền dữ liệu nối tiếp thành công Tùy thuộc vào ứng dụng và yêu cầu hệ thống, truyền thông nối tiếp cần ít mạch và dây hơn,điều này làm giảm chi phí thực hiện.

Vì nó là thiết lập phổ quát nên chúng ta có thể định cấu hình UART để hoạt động với nhiều loại giao thức nối tiếp khác nhau UART đã được điều chỉnh thành các đơn vị chip đơn vào đầu những năm 1970, bắt đầu với Western Digital’s WD1402A.

Trong một sơ đồ giao tiếp UART:

- Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia và ngược lại Thông thường, quá trình truyền sẽ diễn ra ở 3.3V hoặc 5V UART là một giao thức một master, một slave, trong đó một thiết bị được thiết lập để giao tiếp với duy nhất một thiết bị khác.

- Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển (ví dụ: CPU).

- Khi gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và truyền đến thiết bị nhận.

Hệ thống kiểm soát cổng vào tại ký túc xá

Hiện nay hầu hết các cơ sở ký túc xá của các trường cao đẳng, đại học đều áp dụng hệ thống kiểm soát ra vào thông minh, nhưng nổi bật nhất là hệ thống tại ký túc xá khu B của Đại học quốc gia TP HCM – ký túc xá hiện đại nhất Đông Nam Á Hệ thống tại đây bao gồm 2 làn xe vào ra riêng biệt, mỗi làn đều có barrier tự động, hệ thống camera ghi lại thời gian, chân dung sinh viên và cả biển số xe khi sinh viên quẹt thẻ RFID.

Do đó, nhóm dựa vào hệ thống này để cải thiện hệ thống tại ký túc xá D1 của Trường Đại học Sư phạm Kỹ thuật Tp.HCM với những hạn chế như quẹt thẻ RFID nhưng chưa ghi lại hình ảnh, thời gian, barrier thủ công Ngoài khắc phục những hạn chế trên nhóm còn phát triển thêm các tính năng như đo nhiệt độ, cảnh báo quá nhiệt nhằm mục đích hạn chế dịch bệnh, thiết kế website điều khiển, quản lý từ xa.

Quẹt thẻ, đo thân nhiệt, nếu nhiệt độ cao thì hệ thống phát âm thanh cảnh báo ngược lại hệ thống sẽ đối chiếu thông tin trong cơ sở dữ liệu, phát âm thanh cho biết trạng thái thẻ, nếu thẻ hợp lệ thì chụp ảnh, ghi lại thời gian, mở barrier, cập nhật thông tin lên website, đóng barrier khi người đi qua hoặc nhiệt độ cao.

PhpMyAdmin

PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP giúp quản trị cơ sở dữ liệu MySQL thông qua giao diện web.

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server Với RDBMS là viết tắt của Relational Database Management System MySQL được tích hợp apache, PHP MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s.

- Giao diện web trực quan

- Hỗ trợ hầu hết các tính năng của MySQL:

 Duyệt và thả cơ sở dữ liệu, bảng, dạng xem, trường và chỉ mục

 Tạo, sao chép, thả, đổi tên và thay đổi cơ sở dữ liệu, bảng, trường và chỉ mục

 Máy chủ bảo trì, cơ sở dữ liệu và bảng, với các đề xuất về cấu hình máy chủ

 Thực thi, chỉnh sửa và đánh dấu bất kỳ câu lệnh SQL nào, thậm chí cả các truy vấn hàng loạt

- Quản lý các đặc quyền và tài khoản người dùng MySQL

- Quản lý các thủ tục và trình kích hoạt được lưu trữ

- Nhập dữ liệu từ CSV và SQL

- Xuất dữ liệu sang các định dạng khác nhau: CSV, SQL, XML, PDF, ISO / IEC

26300 – Văn bản và Bảng tính OpenDocument, Word, L A T E X và các định dạng khác

- Quản lý nhiều máy chủ

- Tạo đồ họa của bố cục cơ sở dữ liệu của bạn ở các định dạng khác nhau

- Tạo các truy vấn phức tạp bằng cách sử dụng Query-by-example (QBE)

- Tìm kiếm toàn cầu trong một cơ sở dữ liệu hoặc một tập hợp con của nó

- Chuyển đổi dữ liệu được lưu trữ thành bất kỳ định dạng nào bằng cách sử dụng một tập hợp các chức năng được xác định trước, như hiển thị dữ liệu BLOB dưới dạng hình ảnh hoặc liên kết tải xuống

 Ưu điểm phpMyAdmin là một ứng dụng dựa trên GUI được sử dụng để quản lý cơ sở dữ liệu MySQL Nó cung cấp giao diện dựa trên web và có thể chạy trên bất kỳ máy chủ nào Vì nó dựa trên web nên chúng ta có thể truy cập nó từ bất kỳ máy tính nào.

Chúng ta có thể dễ dàng tạo, xóa và chỉnh sửa cơ sở dữ liệu và có thể quản lý tất cả các phần tử bằng giao diện đồ họa của phpMyAdmin, dễ dàng hơn nhiều so với trình soạn thảo dòng lệnh của MySQL.

PhpMyAdmin giúp chúng ta kiểm soát sự cho phép của người dùng và vận hành một số máy chủ cùng một lúc.

Chúng ta cũng có thể sao lưu cơ sở dữ liệu của mình và xuất dữ liệu sang các định dạng khác nhau như XML, CSV, SQL, PDF, Văn bản OpenDocument, Excel, Word và Bảng tính, v.v.

Chúng ta có thể thực thi các câu lệnh và truy vấn SQL phức tạp, tạo và chỉnh sửa các hàm, trình kích hoạt và sự kiện bằng giao diện đồ họa của phpMyAdmin.

PhpMyAdmin được dịch sang 72 ngôn ngữ và cũng hỗ trợ cả hai ngôn ngữ RTL và LTR để nhiều người có thể dễ dàng sử dụng phần mềm này.

PhpMyAdmin là một giao diện đơn giản, nhưng khá khó khăn cho người mới bắt đầu học.

PhpMyAdmin rất khó cài đặt vì nó cần thêm ba công cụ phần mềm trước khi cài đặt, đó là máy chủ Apache, PHP và MySQL.

Chúng ta phải cài đặt tất cả các công cụ phần mềm này riêng lẻ, trong khi phần mềm XAMPP đã chứa cả 3 công cụ này trong một gói duy nhất.

Nó không có trực quan hóa giản đồ.

PhpMyAdmin là một công cụ phần mềm dựa trên web chỉ chạy trên trình duyệt, vì vậy nó hoàn toàn phụ thuộc vào trình duyệt.

Nó không có khả năng tự động biên dịch

Ngôn ngữ Python

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.

Python là một ngôn ngữ lập trình được sử dụng phổ biến ngày nay từ trong môi trường học đường cho tới các dự án lớn Ngôn ngữ phát triển nhiều loại ứng dụng, phần mềm khác nhau như các chương trình chạy trên desktop, server, lập trình các ứng dụng web Ngoài ra Python cũng là ngôn ngữ ưa thích trong xây dựng các chương trình trí tuệ nhân tạo trong đó bao gồm machine learning Ban đầu, Python được phát triển để chạy trên nền Unix, nhưng sau này, nó đã chạy trên mọi hệ điều hành từ MS- DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix.

Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý Qua nhiều năm phát triển thì có nhiều phiên bản: Python

1, Python 2, Python 3 Nhóm sử dụng phiên bản Python 3.9.2 để viết chương trình cho phần cứng.

Ngôn ngữ lập trình web

HTML: Viết tắt của Hypertext Markup Language, là một dạng ngôn ngữ đánh dấu siêu văn bản, dùng để xây dựng cấu trúc của thành phần, phần tử có trong trang web, vì không phải là ngôn ngữ lập trình nên nó không thể tại ra các chức năng đông mà cần có sự kết hợp của ngôn ngữ CSS và JavaScript…

Một file html có định dạng đuôi là html tuy nhiên ta cũng có thể viết ngôn ngữ html ngay cả nó không phải là một định dạng cua file html Ở đây cụ thể là một file Php nhưng có sử dụng ngôn ngữ HTML.

Hình 2.6 Cấu trúc chương trình html

HTML có nhiều ưu điểm về tài nguyên lưu trữ, tích hợp được nhiều tiện ích như PHP, NodeJS…, mã nguồn mở… nhưng bên cạnh đó cũng còn tồn tại nhiều nhược điểm như sự riêng biệt khi ta chạy nhiều file html, dễ xảy ra trùng lập các thuộc tính của thẻ, nhiều trình duyệt chậm khó đáp ứng kịp thời…

CSS: Còn gọi là Cascading Style Sheets, nó là một ngôn ngữ sử dụng để định dạng lại cấu trúc, phân bố của các phần tử đã được tạo bởi ngôn ngữ HTML hay đúng hơn là định lại phong cách cho trang web của bạn, có màu sắc, đa dạng hài hòa hơn…

Bằng cách tác động vào các thuộc tính như ID, CLASS hay các yếu tố phần tử cụ thể như button, thẻ p, h, ta có thể điều khiển các thuộc tính trở nên linh động hơn, đa dạng hơn Lưu ý: Đối với thuộc tính ID ta dùng dấu “#” còn thuộc tính CLASS ta dùng dấu “.” trước mỗi khi ta chính thuộc tính.

Hình 2.8 Cấu trúc chương tình CSS

Ta có thể biểu diễn thuộc tính của CSS bằng những cách sau:

 Chèn trực tiếp thuộc tính của phần tử và để nó trong thẻ

 Nhúng file CSS vào file HTMl thông qua đường dẫn

Vì những ưu điểm cực kì lớn nên CSS đang ngày càng được sử dụng rộng rãi giúp tiết kiệm thời gian, thêm các hỗ trợ định dạng cực kì lớn từ bên ngoài

JS: Được biết đến tên gọi JavaScript, là một ngôn ngữ lập trình phổ biến, đóng vai trò lớn trong việc vận hành các trang web, có thể nhúng vào HTML, thực thi toàn bộ chức năng truy vấn dữ liệu của trang web lẫn các tác vụ khác.

JS có cách sử dụng giống với CSS, bằng cách nhúng tực tiếp vào file HTML bỏ trong cặp thẻ hoặc ta cũng có thể nhúng đường dẫn file JS vào trong file HTML.

Hình 2.11 Cấu trúc chương trình JS

Bên cạnh những ưu điểm rất lớn của JS như đa nền tảng, dễ học tập, tiếp thu thì

JS vẫn còn tồn đọng nhiều nhược điểm lớn như bảo mật chưa cao, dễ khai thác,…

PHP: Theo một cách hiểu nào đó thì PHP cũng tương tự như HTML, là một dạng ngôn ngữ viết kịch bản, tuy nhiên PHP có thể xử lý các tác vụ từ phía server về dữ liệu, điều mà HTML không thể làm được PHP hiện nay là một ngôn ngữ sử dụng rất phổ biến trong hầu hết các trang web đang hoạt động.

PHP có nhiều ưu điểm lớn như hiệu quả trong việc tối ưu code, tốc độ xử lý nhanh, tiện lợi, ít gặp lỗi, cấu trúc đơn giản giúp người đọc, làm dễ tiếp thu.

Ngoài ra, trong bài báo cáo đề tài này, nhóm còn sử dụng các thư viện, mã nguồn mở khác như Bootstrap4, Jquery…là những nền tản hổ trợ mạnh mẽ cho phép ta lập trình trang web nhanh chóng, tiện lợi hơn.

TÍNH TOÁN VÀ THIẾT KẾ

Giới thiệu

Hệ thống giám sát ra vào tại ký túc xá D1 được thiết kế đáp ứng các yêu cầu sau:

- Quẹt thẻ ra vào KTX bằng thẻ RFID, chụp ảnh ghi lại thời gian ra vào của SV -Đo thân nhiệt cho SV, hiển thị nhiệt độ trên màn hình

- Tự động đóng mở barrier

- Phát âm thanh cho biết trạng thẻ, cảnh báo và tự động đóng barrier khi thân nhiệt vượt mức cho phép

- Có web lưu trữ, quản lý thông tin sinh viên, điều khiển hệ thống

Tính toán và thiết kế hệ thống

3.2.1 Thiết kế sơ đồ khối hệ thống

Hình 3.1 Sơ đồ khối hệ thống

Khối nguồn: cấp nguồn ổn định cho hệ thống hoạt động

Khối đầu vào: lấy dữ liệu từ thẻ, nhiệt độ, khoảng cách từ cảm biến, tín hiệu từ nút nhấn, hình ảnh từ camera

Khối xử lý trung tâm: nhận dữ liệu từ khối đầu vào, xử lý, xuất tín hiệu điều khiển sang khối hiển thị, âm thanh và khối công suất, đồng thời truyền nhận dữ liệu lên Web-server thông qua mạng Wifi

Khối Web-server: nhận dữ liệu từ khối xử lý trung tâm, cập nhật vào cơ sở dữ liệu, đồng thời truyền dữ liệu đến khối xử lý trung tâm khi có yêu cầu

Khối công suất: nhận tín hiệu từ khối xử lý trung tâm điểu khiển hướng và tốc độ động cơ

Khối động cơ: đóng mở barrier theo tín hiệu dòng và áp cung cấp từ khối công suất

Khối âm thanh, hiển thị: nhận tín hiệu điều khiển từ khối xử lý trung tâm, hiển thị nhiệt độ và phát âm thanh theo yêu cầu.

3.2.2 Tính toán phần cứng cần sử dụng

3.2.2.1 Khối xử lý trung tâm

Khối xử lý trung tâm phải xử lý nhiều dữ liệu từ thẻ, cảm biến, nút nhất, camera, LCD, nên phải hỗ trợ nhiều GPIO và cấu hình mạnh mẽ, cập nhật hiển thị một cách nhanh chóng và liên tục, đồng thời phải có khả năng kết nối Wifi để có thể gửi dữ liệu lên Server, giúp điều khiển, quản lý thông qua giao diện web Raspberry Pi đáp ứng tốt yêu cầu trên đồng thời còn cài đặt được hệ điều hành giúp thao dễ dàng.

Raspberry Pi là từ để chỉ các máy tính bo mạch đơn (hay còn gọi là máy tính nhúng) kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởi Raspberry Pi Foundation với mục đích ban đầu là thúc đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và các nước đang phát triển Raspberry Pi xây dựng xoay quanh bộ xử lý SoC Broadcom BCM2835 bao gồm CPU, GPU, RAM, khe cắm thẻ microSD, WiFi, Bluetooth và 4 cổng USB 2.0.

Với kích thước nhỏ gọn và mức giá phù hợp, Raspberry Pi đã nhanh chóng được các nhà sản xuất và những người đam mê điện tử chấp nhận và sử dụng trong các dự án đòi hỏi nhiều hơn một vi điều khiển cơ bản Mặc dù chậm hơn so với các dòng laptop, máy tính hiện đại nhưng Raspberry Pi vẫn được xem là máy tính Linux hoàn chỉnh và có thể cung cấp tất cả các khả năng mà người dùng mong đợi, với mức tiêu thụ năng lượng thấp. Đã có 4 thế hệ Raspberry Pi: Pi 1, Pi 2, Pi 3 và Pi 4 với 2 dòng chính là model A và model B (có thêm A+ và B+ nhưng chủ yếu tăng tốc độ xử lý) Model A là bản rẻ, có tốc độ RAM thấp hơn model B, ít hơn 1 cổng USB và không có cổng Ethernet. Model B có giá thành cao hơn, tốc độ xử lý nhanh, nhiều cổng hơn model A.

Nhóm đã quyết định chọn Rasberry Pi 3 Mode B+ với giá thành hợp lý, đầy đủ tính năng đáp ứng yêu cầu hệ thống, nổi bật với chip 4 nhân 64-bit có tốc độ 1.4GHz. Phiên bản có hỗ trợ Wifi Dual-band 2.4GHz và 5GHz, Bluetooth 4.2/Bluetooth Low Energy, cổng Ethernet tốc độ cao (300Mbps) và Power over Ethernet (PoE) thông qua PoE HAT.

 Vi xử lý: Broadcom BCM2837B0, quad-core A53 (ARMv8) 64-bit SoC

 Kết nối: 2.4GHz and 5GHz IEEE 802.11 b/g/n/ac wireless LAN,Bluetooth 4.2, BLE, Gigabit Ethernet over USB 2.0 (Tối đa 300Mbps).

 Video và âm thanh: 1 cổng full-sized HDMI, Cổng MIPI DSI Display, cổng MIPI CSI Camera, cổng stereo output và composite video 4 chân.

 Multimedia: H.264, MPEG-4 decode (1080p30), H.264 encode (1080p30); OpenGL ES 1.1, 2.0 graphics

 Nguồn điện sử dụng: 5V/2.5A DC cổng microUSB, 5V DC trên chân GPIO, Power over Ethernet (PoE) (yêu cầu thêm PoE HAT).

Sơ đồ chân Raspberry Pi 3B+

Hình 3.3 Sơ đồ chân Raspberry

Có nhiều cách đánh số, ký hiệu cho các chân GPIO của Raspberry Pi Ở đây, chúng ta chỉ đề cập đến hai cách đánh số chính, đó là kiểu BCM và kiểu BOARD. Đánh số theo kiểu BCM là cách ký hiệu các chân theo đúng chức năng của nó. Trong hình 2 ở trên, hai cột dọc, ngoài cùng ở hai bên với các ô như GPIO 2, GPIO

3, GPIO 14, GPIO 15, 3.3V, GND… đó là cách đánh số theo kiểu BCM. Đánh số theo kiểu BOARD là cách đánh số các chân GPIO dựa trên vị trí của chân trên header Trên header của Raspberry Pi, các chân GPIO được chia làm hai hàng, mỗi hàng 20 chân Hai mươi chân hàng bên trái đánh số là 1, 3, 5, 7, 9, …, 39. Hai mươi chân còn lại, hàng bên phải đánh số là 2, 4, 6, 8, 10 …, 40 Thông thường, chúng ta dùng cách đánh số theo kiểu BOARD.

Lưu ý: Chúng ta cần hiểu được các quy tắc đánh số, ký hiệu các chân này để có thể lập trình và điều khiển chính xác các chân GPIO, đúng với yêu cầu sử dụng.

GPIO của Raspberry Pi 3 model B+ có tất cả 40 chân, được chia làm hai hàng, mỗi hàng 20 chân, một hàng gồm các chân đánh số lẽ từ 1–39, một hàng gồm các chân đánh số chẵn từ 2–40 (đánh số theo mạch – BOARD number).

GPIO của Raspberry Pi 3 model B gồm có:

 2 chân có mức điện áp 3.3V (chân số 1 và chân số 17).

 2 chân có mức điện áp 5V (chân số 2, chân số 4).

 8 chân Ground (0V) (chân số 6, 9, 14, 20, 25, 30, 34 và 39).

Cùng với chức năng đơn giản của các chân ngõ vào và ngõ ra, các chân GPIO cũng có thể thực hiện nhiều chức năng khác nhau.

Arduino là dự án nguồn mở, làm việc dựa trên bo mạch điện tử bao gồm một vi điều khiển, các đầu vào/đầu ra, một ngôn ngữ lập trình và một IDE (trình soạn thảo trong môi trường phát triển tích hợp) Arduino là một công cụ để thực hiện các ứng dụng tương tác độc lập hoặc có thể được kết nối với phần mềm trên máy tính (chẳng hạn như là Flash, Max/MSP ).

Arduino UNO R3 là dòng mạch phổ biến nhất trong các dòng mạch Arduino,phiên bản R3 là phiên bản mới nhất, có độ chính xác và độ bền cao hơn rất nhiều so với Arduino UNO phiên bản cũ Arduino UNO R3 có thể sử dụng 3 vi điều khiển họ8bit AVR là Atmega8, Atmega168, Atmega328 Bộ điều khiển này có thể điều khiển led đơn, điều khiển động cơ, xử lí các tín hiệu, thu thập dữ liệu từ cảm biến để hiển thị lên màn hình LCD

Vì chân i2c Raspberry Pi 3B+ bị hỏng không thể sử dụng nên nhóm dùng thêm Arduino R3 để nhận tín hiệu từ GY-906 và hiển thị lên LCD 16x2.

Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3) Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA

Một vài thông số của Arduino Uno R3:

 Sử dụng vi điều khiển Atmega328 họ 8bit.

 Có 6 ngõ ra Analog với độ phân giải 10bit.

 Có 14 chân I/O Digital Trong đó có 6 chân có thể được sử dụng là ngõ ra cấp xung PWM.

 Điện áp hoạt động là 5Vdc được cấp thông qua cổng USB.

 Điện áp khuyên dùng là từ 7 đến 12V.

 Điện áp vào giới hạn từ 6 đến 20V.

 Bộ nhớ Flash: 32kB với 0,5kB được dùng cho Bootloader.

Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V và giới hạn là 6-20V Thông thường nếu không cấp nguồn bằng cáp USB thì nên cấp nguồn bằng pin 9V Bởi vì nếu cấp nguồn vượt quá ngưỡng giới hạn trên thì Arduino UNO sẽ dễ dàng bị hỏng Ở đây nhóm em cấp nguồn 5V cho Arduino UNO thông qua cổng USB.

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng các thông số sau:

 32KB bộ nhớ Flash: những câu lệnh được lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường sẽ có vài KB được sử dụng cho Bootlader.

Sơ đồ nguyên lý hệ thống

Hình 3.26 Sơ đồ nguyên lý 1

Hình 3.27 Sơ đồ nguyên lý 2

Hình 3.28 Sơ đồ nguyên lý 3

THI CÔNG HỆ THỐNG

Thi công mô hình

Do đặc điểm của hệ thống cổng ra vào, ngoại vi được bố trí phân tán so với khối xử lý trung tâm nên nhóm chỉ làm phần mạch in bố trí buzzer, điện trở hạn dòng cho led, nối các chân của Raspberry ra terminal thông qua board mở rộng GPIO, bố trí các terminal nguồn 12V, 5V để tiện đi dây và cấp nguồn cho các ngoại vi

Hình 4.1 Sơ đồ nguyên lý proteus

Hình 4.2 Mô phỏng mạch proteus

Sau khi thiết kế mạch in PCB sẽ tiến hành ủi mạch, rửa mạch, khoan mạch và hàn gắn các linh kiện lên board mạch Kiểm tra bằng mắt thường kết hợp với đồng hồ VOM để đo thông số mạch, ngắn mạch các đường đồng, các chân linh kiện để đảm bảo cho mạch có thể hoạt động được, đi dây tới các thiết bị và bố trí cố định các thiết bị bên trong hộp nhựa.

Hình 4.5 Bố trí thiết bị trong thân hộp

Hình 4.6 Bố trí thiết bị mặt sau nắp hộp

Hình 4.7 Hình ảnh bên phải hộp

4: Thanh sắt cố định hộp

5: Dây nối tới 2 công tắc hành trình

6: Dây nối tới động cơ

Hình 4.8 Hình ảnh bên trái hộp

Tiếp theo, nhóm dán decal lên thanh inox 3mm dài 50cm làm thanh chắn gắn vào trục động cơ, kết hợp dựng co chữ T nối PVC ỉ42 cố định động cơ, dựng eke sắt chữ

L và dây rút cố định 2 công tắc hành trình ở góc 0° và 90°

Hình 4.10 Bố trí động cơ, barrier, công tắc hành trình

Dựng ống nhựa PVC ỉ42 kết hợp cựng co 4 gúc 90° và cỏc nắp bịt tạo thành khung đỡ, lắp khối động cơ và hộp nhựa vào khung, dây điện từ động cơ và 2 công tắc đi trong lòng ống tạo thành mô hình hoàn hiện.

Hình 4.11 Mô hình hoàn thiện

Cài đặt hệ điều hành cho raspberry

Bước 1: Chọn phần mềm cài đặt

Raspberry Pi đã phát triển một công cụ ghi thẻ SD hoạt động trên Mac OS, Ubuntu 18.04 và Windows, đây là sự lựa chọn dễ dàng cho người dùng vì mọi thứ sẽ tự động từ việc tải image và cài đặt vào thẻ nhớ SD.

Cài đặt phần mềm Raspberry Pi Imager phiên bản mới nhất trên hệ điều hành Window theo đường dẫn https://downloads.raspberrypi.org/imager/imager_latest.exe

Giao diện phần mềm như sau

Hình 4.12 Giao diện phần mềm Raspberry Pi Imager

Bước 2: Cài đặt hệ điều hành

CHOOSE OS - Lựa chọn hệ điều hành muốn cài đặt Ở đây chọn phiên bản Recommend, Raspberry Pi OS (32-bit) with desktop:phiên bản có giao diện điều khiển

Hình 4.13 Lựa chọn loại hệ điều hành CHOOSE STORAGE - chọn thẻ SD muốn ghi dữ liệu vào

Nhấn Write để bắt đầu ghi

Hình 4.14 Lựa chọn thẻ SD

Bước 3: Khởi động hệ điều hành

Lắp thẻ SD vào Raspberry Pi và khởi động, đối với hệ điều hành Raspberry Pi chính thức, tên người dùng mặc định là pi, mật khẩu raspberry

Bước 4: Cấu hình khi khởi động

Chạy lệnh: sudo raspi-config

Hình 4.15 Giao diện cấu hình raspberry pi 3 b+

Hình 4.16 Giao diện cài đặt wifi

Kích hoạt SSH để cho phép điều khiển từ xa bằng command line

Hình 4.17 Kích hoạt SSH bước 1

Hình 4.18 Kích hoạt SSH bước 2

Hình 4.19 Kích hoạt SSH bước 3

Hình 4.20 Kích hoạt SSH bước 4

Kích hoạt VNC để điều khiển từ xa bằng giao diện đồ họa

Hình 4.21 Kích hoạt VNC bước 1

Hình 4.22 Kích hoạt VNC bước 2

Hình 4.23 Kích hoạt VNC bước 3

Hình 4.24 Kích hoạt VNC bước 4

Điều khiển Raspberry qua laptop

Trong phần này, nhóm sẽ đề cập đến cách thức điều khiển Raspberry khi không có màn hình, chuột và bàn phím riêng hoặc muốn kết nối từ xa để công việc trở nên dễ dàng hơn. Đầu tiên để có thể kết nối giữa máy tính và Raspberry yêu cầu bạn phải sử dụng chung cùng một địa chỉ mạng cho cả hai thiết bị này Dĩ nhiên, trước đó bạn phải tìm cách truy cập vào được Raspberry và bật mạng Wifi cho Raspberry truy cập, dữ liệu từ điện thoại của bạn cũng được…

Hình 4.25 Tên các mạng Wifi hiện có Ở đây nhóm đã sử dụng mạng Wifi “THANH_5G” , chung cùng một mạng Lan với máy tính cá nhân.

Hình 4.26 Máy tính cá nhân kết nối mạng cục bộ

Tiếp theo, chúng ta cần kích hoạt VNC trên Raspberry như đã nêu ở mục trước.

Hình 4.27 Địa chỉ IP từ VNC trên Raspberry Pi

Lúc này, ta đã có được địa chỉ IP từ phía của Raspberry Pi, từ máy tính cá nhân chúng ta cài đặt phần mềm VNC Viewer Để tải được VNC về máy, bạn cần truy cập vào trang chính chủ của VNC và chọn vào phần cho hệ điều hành của bạn, ở đây nhóm dùng trên hệ điều hành Windows

Hình 4.28 Địa chỉ downloand VNC Viewer

Ta chỉ cần bấm vào nút Download VNC Viewer bên dưới và cài đặt từng bước.

Hình 4.29 Lựa chọn hệ điều hành cần cài đặt

Bây giờ chúng ta mở VNC lên và nhập địa chỉ IP của Raspberry Pi vào thanh tìm kiếm

Hình 4.30 Kết nối với Raspberry Pi qua IP

Lúc này, sẽ có một bản thông báo hiện ra yêu cầu bạn nhập Tài khoản và mật khẩu Ở đây, nhóm dùng Raspberry Pi 3b+ có tên đăng nhập là: “pi” với mật khẩu:”raspberrypi”

Vậy là chúng ta đã vào được giao diện điều khiển Raspberry Pi trên máy tính cá nhân của chúng ta.

Hình 4.31 Hệ thống yêu cầu tài khoản sử dụng

Hình 4.32 Màn hình lúc truy cập

Vì địa chỉ IP của Raspberry Pi cũng sẽ thay đổi sau mỗi lần Shutdown hệ thống nên để giảm thiểu thời gian tìm IP của thiết bị, nhóm đã sử dụng thêm phần mềm Advanced IP Scanner để giúp chúng ta tìm nhanh địa chỉ IP của Raspberry Pi nếu sử dụng chung mạng với máy tính cá nhân Lưu ý rằng ở đây Advanced IP Scanner chỉ quét được các thiết bị chung một mạng Lan.

Hình 4.33 Phần mềm Advanced IP Scanner

Chúng ta chỉ cần bấm vào Scan lập tức sẽ hiển thị một loại các IP đang truy cập cùng mạng với máy tính cá nhân.

IP: 192.168.1.2 với tên Raspberry Pi Foundation chính là IP của thiết bị cần kết nối.

Hình 4.34 IP của Raspberry Pi

Lập trình cho hệ thống

Hình 4.35 Lưu đồ điều khiển phần cứng 1

Hình 4.36 Lưu đồ điều khiển phần cứng 2

Hệ thống đo nhiệt độ liên tục và hiển thị trên LCD.

Chọn chế độ Quẹt thẻ: Nếu có quẹt thẻ thì cập nhật nhiệt độ lên cơ sở dữ liệu, nếu nhiệt độ lớn hơn 39℃ thì phát âm cảnh báo, đối chiếu thông tin với cơ sở dữ liệu, thì phát âm cảnh báo, đối chiếu thông tin với cơ sở dữ liệu, nếu không trùng khớp thì phát âm thanh thẻ không hợp lệ, ngược lại thì chụp ảnh, phát âm thanh thẻ hợp lệ Nếu không nhấn nút thì mở barrier, đọc tín hiệu phát hiện người đi qua từ cảm biến, nếu có người qua thì đóng barrier Trong trường hợp sinh viên vào đông để tránh động cơ đóng mở liên tục, nhấn nút lần 1 thì hệ thống mở barrier ngay và luôn duy trì ở trạng thái mở, nếu nhấn nút lần nữa thì hệ thống đóng barrier và hoạt động bình thường như ban đầu.

Chọn chế độ Nhập thông tin: Nếu quẹt thì gửi UID của thẻ lên cơ sở liệu để tiến hành thao tác nhập thông tin cho thẻ mới

Chọn chế độ Nhập thông tin quên thẻ: Sau khi kiểm tra thông tin sinh viên khai báo trên web và ấn nút, hệ thống nhận tín hiệu điều khiển từ nút nhấn và tiến hành đóng mở barrier theo yêu cầu.

Hình 4.37 Lưu đồ hoạt động web-server 1

Hình 4.38 Lưu đồ hoạt động web-server 2

Web-server cho ta chọn 3 chế độ:

Chế độ Quẹt thẻ: nhận thông tin từ cơ sở dữ liệu và hiển thị trên màn hình

Chế độ Nhập thông tin thẻ mới: nhận mã UID từ thẻ mới để thêm thông tin cho sinh viên, cho phép tìm kiếm chỉnh sửa thông tin sinh viên

Chế độ Nhập thông tin quên thẻ: sinh viên cần khai báo họ và tên, mã số sinh viên cho quản lý để đối chiếu hình ảnh trong cơ sở dữ liệu

Chế độ Nhập thông tin thẻ mới và Nhập thông tin quên thẻ phải có tài khoản và mật khẩu của người quản lý mới có thể truy cập

Nhóm sử dụng Thonny Python IDE được tích hợp sẵn trên hệ điều hành Raspbian khi cài đặt Thonny Python IDE trên Raspberry Pi 3 B+ với Python phiên bản 3.9.2 có sẵn, giao diện đơn giản, không gây mất tập trung, trình debug đơn giản, hỗ trợ đánh dấu lỗi và hoàn thành mã tự động, xây dựng nhiều thư viện hỗ trợ lập trình Raspberry như thư viện RPi.GPIO được nhúng sẵn trên hệ điều hành dùng để cấu hình các chân GIPO và PWM Software.

Hình 4.39 Giao diện Thonny Python IDE Để lập trình cho Arduino nhóm sử dụng phần mềm quen thuộc Arduino IDE,Arduino IDE là môi trường phát triển tích hợp mã nguồn mở, cho phép người dùng dễ dàng viết code và tải nó lên bo mạch Môi trường phát triển được viết bằng Java dựa trên ngôn ngữ lập trình xử lý và phần mềm mã nguồn mở khác Phần mềm này có thể được sử dụng với bất kỳ bo mạch arduino nào Sau khi cài đặt Arduino IDE trên hệ điều hành Raspbian, kết nối Arduino với Raspberry qua cáp USB, vừa cấp nguồn choArduino hoạt động, vừa nạp code cho nó.

Hình 4.40 Giao diện Arduino IDE

Nhóm sử dụng phần mềm Sublime Text 3 để lập trình web-server cho hệ thống. Bởi sự phổ biến, đầy đủ tính năng, dễ thao tác và sử dụng mà Sublime Text 3 được tin dùng bởi nhiều người lập trình cho các ứng dụng, dự án liên quan đến web-server. Sublime Text 3 hỗ trợ sử dụng nhiều ngôn ngữ khác không chỉ về web nói riêng như C/C++, C#, Python, Java…

Hình 4.41 Phần mềm Sublime Text 3

Cài đặt môi trường thiết lập Web-server và xây dựng database

Đầu tiên ta sẽ nói đến định nghĩa Apache, Mysql là gì? Apache là một phần mềm web-server miễn phí mã nguồn mở, chiếm một thị phần rất lớn trong thị trường website của thế giới Tên đầy đủ là Apache HTTP Server, nó giúp người chúng ta đưa nội dung trang web chúng ta lên web server, nơi mà người khác cũng có thể truy cập vào nếu dùng chung một mạng Lan.

Còn Mysql là gì? Mysql là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở hoạt động dạng mô hình client-server, nó cho phép ta tạo ra và quản trị các cơ sở dữ liệu còn được gọi là database Các trang web, ứng dụng lớn đều sử dụng Mysql có thể kể đến như Facebook, Youtube, Google…Database chính là tập hợp các dữ liệu theo một cấu trúc, dữ liệu có thể là các dạng ký tự văn bản, hình ảnh…SQL là ngôn ngữ truy vấn sử dụng để can thiệp vào cơ sở dữ liệu này Với nhiều những ưu điểm nôi bật như trên mà MySql được sử dụng rất phổ biến hiện nay.

Hình 4.43 Hệ quản trị MySQL Ở giao diện màn hình ta chọn vào cửa sổ Terminal của Raspberry

Hình 4.44 Của sổ Termianal của Raspberry Pi Đầu tiên, trước khi cài đặt ta phải cập nhật danh sách các gói cài đặt bằng câu lệnh sau: sudo apt update && sudo apt upgrade -y

Chờ tiến hành cài đặt và ta có kết quả

Hình 4.45 Update lại phiên bản cho Raspberry Pi

Khởi động lại cho Raspberry Pi sudo reboot

Ta tiến hành cài đặt Apache2 bằng lệnh sudo apt install apache2 -y

Hình 4.46 Cài đặt Apache2 cho Raspberry Pi

Bây giờ ta tiến hành kiểm tra bằng cách mở trình duyệt nhập dòng chữ

“localhost” nếu hiện ra trang web của Apache thì đã thành công, bạn cũng có thể truy cập bằng cách dùng địa chỉ IP động của Raspberry Pi.

Hình 4.47 Apache dưới sự điều khiển từ VNC qua máy tính cá nhân

Mặc định các trang web bạn muốn hiển thị trên web server sẽ nằm trong đường dẫn thư mục /var/www/html/du_an_5 Ở đây “du_an_5” chính là một ví dụ các file tệp tin liên quan đến nội dung trang web bạn muốn hiển thị

Hình 4.48 Các tệp tin website được lưu trong thư mục “html”

Tiến hành khởi động lại hệ thống: sudo service apache2 restart

Tiếp theo, ta cần phải cài đặt PHP cho hệ thống bằng lệnh sudo apt install php libapache2-mod-php -y

Hình 4.49 Cài đặt PHP cho Raspberry Pi sudo apt install php php-mbstring

Hình 4.50 Cài đặt PHP cho Raspberry Pi

Tiếp theo ta cài đặt phần mềm MySQL server vào cho Rasberry Pi. sudo apt install mariadb-server php-mysql -y

Hình 4.51 Cài đặt MySQL server cho RaspberryPi

Lúc này, hệ thống sẽ yêu cầu ta cung cấp một tên tài khoản người dùng có mặc định là “root” và mật khẩu kèm theo để bảo mật cho cơ sở dữ liệu của bạn nhưng mật khẩu mặc định có thể không có, Trong bài báo cáo này, nhóm sử dụng tên người dùng là: “pi” với mật khẩu:”12345”.

Sau khi đã chọn xong tên người dùng và mật khẩu, ta chạy lệnh sau để hoàn thành quá trình bảo mật: sudo mysql_secure_installation

Hình 4.52 Cài đặt MySQL server cho RaspberryPi

Chúng ta đọc kĩ những yêu cầu sau đó chọn Y(yes) or N(no) với đúng yêu cầu mà chúng ta cần

Nếu bạn muốn truy cập vào MySql của Raspberry Pi và thực hiện những thay đổi thì thực hiện lệnh sau sudo mysql user=root –password

Hình 4.53 Cài đặt MySQL server cho RaspberryPi

Bạn cần nhập chính xác mật khẩu ứng với tên người dùng trước đó hoặc không nhập nếu tên người dùng đó không cần mật khẩu

Lúc này bạn đã có thể truy cập vào MySql để thực hiện những câu lệnh truy vấn liên quan đến database

Nếu bạn muốn tạo những tên người dùng mới thì bạn có thể thực hiện các thao tác như sau:

Ví dụ ta muốn tạo một người dùng tên” exampleuser” với mật khẩu là ” pimylifeup”

Hình 4.54 Cài đặt MySQL server cho RaspberryPi

Và để một người dùng mới có thể truy cập vào cơ sở dữ liệu thì chúng ta cần phải xóa các đặc quyền để cho phép người dùng mới truy cập được

Hình 4.55 Cài đặt MySQL server cho RaspberryPi

Phần quan trọng nhất là ta phải tạo ra một cơ sở dữ liệu trên chính người dùng của ta Ở đây nhóm đã tạo trược một cơ sở dữ liệu “mydb” bằng lệnh

Và nếu bạn muốn tạo một cơ sở dữ liệu khác thì chỉ cần thay nó bằng một cái tên khác

Tiếp theo cài đặt PhpMyAdmin, tiến hành lệnh: sudo apt install phpmyadmin -y

Kết nối MySQL và PHP sudo phpenmod mysqli

Sau đó khởi động lại Apache2: sudo service apache2 restart

Tương tự như Apache2 thì thư mục Phpmyadmin đã đươc lưu trong dường dẫn / var/www/html/phpmyadmin

Hình 4.57 Các cơ sở dữ liệu bên trong PHPMyAdmin

Chúng ta cũng có thể thiếp lập điều khiển từ xa cho Raspberry nhưng điều này là khuyến cáo không nên vì có thể ảnh hưởng đến vấn đề về bảo mật thiết bị Một gợi ý nhỏ là bạn có thể config lại các file kết nối của hệ thống để điều chỉnh sự cho phép thông qua IP từ các thiết bị bên ngoài.

Sau khi đã cài đặt hoàn toàn các gói trên, ta cần khởi động lại MySql sudo systemctl restart mysql.service sudo systemctl restart mariadb.service sudo netstat -anp | grep 3306

Ta đăng nhập vào PhpMyadmin để kiểm tra cơ sở dữ liệu

Hình 4.58 Giao diện database trong PHPMyAdmin

Ta chọn vào cơ sỡ dữ liệu “mydb” thì thấy có các bảng dữ liệu liên quan mà nhóm đã tạo trước đó Vậy là quá trình cài đặt và sử dụng MySQL cho PHP thành công.

Hình 4.59 Các bảng dữ liệu bên trong database “mydb”

Hướng dẫn thao tác trên web

Như đã nói trước đó, laptop cá nhân của chúng ta cần phải kết nối VNC với Raspberry Pi, sau khi đã dò thấy địa chỉ IP của RaspberryPi ta tiến hành kết nối truy cập từ xa Tiếp theo, từ máy tinh cá nhân, nhập địa chỉ IP và truy cập vào thư mục web chỉ định.

Hình 4.60 Thư mục chứa website trên Rasberry Pi Ở đây thư mục chứa toàn bộ dữ liệu web của nhóm em là “web-ht-3” Các thư mục website này sau khi được viết trên máy tính cá nhân của nhóm thì được gửi lênGoogle Driver và chứa trong thư mục có tên là “host”, lúc này ta truy cập vào InternerBrowser trên Raspberry Pi và tải về thư mục web chỉ định vào thư mục “html”

Hình 4.61 Thư mục liên kết giữa Raspberry Pi và máy tính cá nhân

Hình 4.62 Danh sách các mục website có sẵn trên Google Driver

Ta tiến hành truy cập vào website “web-3-ht” trên thanh địa chỉ web Lập tức giao diện website như hình sẽ hiện ra:

Hình 4.63 Giao diện chọn các chế độ Ở đây ta có ba chế độ được sử dụng trên website gồm: Quẹt thẻ(Mặc định) và hai chế độ Nhập thông tin, Nhập Thông tin quên thẻ dưới quyền của người quản trị(Admin) Đầu tiên ta đến với chế độ 1: Quẹt thẻ Đây là chế độ mặc định của hệ thống, khi sinh viên quẹt thẻ thì lập tức thông tin cơ bản cần thiết sẽ được hiển thị trên màn hình giao diện web.

Hình 4.64 Thông tin của một sinh viên khi quẹt thẻ

Trường hợp, nếu thẻ mà sinh viên quẹt không có thông tin(Sinh viên không ở KTX) sẽ có chuông cảnh báo và loa báo không hợp lệ và hệ thống vẫn chỉ hiện thông tin của sinh viên đã quẹt thẻ trước đó.

Ta đi đến với hai chế độ dành riêng cho người quản lý KTX có thể là bảo vệ ở KTX Gồm Nhập thông tin khi quên thẻ và Nhập thông tin cho SV quên thẻ

Chế độ 2: Nhập thông tin

Khi ta click chọn vào chế độ Nhập thông tin lập tức sẽ có form yêu cầu chúng ta đăng nhập tài khoản

Hình 4.65 Giao diện đăng nhập trang web

Nếu đăng nhập không thành công sẽ xuất hiện thông báo yêu cầu chúng ta đăng nhập lại.

Khi đã đăng nhập thành công, mặc định sẽ đưa chúng ta đến vị trí cho phép lấy mã thẻ mới để nhập thông tin cho sinh viên mới tương ứng với mã thẻ.

Ta bấm chọn vào Nhập UID, trang sẽ điều hướng ta đến vị trí cho phép nhập thông tin thẻ mới cho sinh viên.

Hình 4.67 Form nhập thông tin mới cho sinh viên

Khi ta nhập đầy đủ thông tin và bấm lưu lại thông tin sinh viên mới sẽ được cập nhật mới nhất với bảng bên dưới Còn khi ta điền thiếu thông tin một trường hoặc không hợp lệ sẽ báo đỏ.

Hình 4.68 Nhập sai hoặc thiếu thông tin sinh viên

Hình 4.69 Thông tin sinh viên được cập nhật vào bảng Ở chế độ này, còn cho phép người quản trị chỉnh sửa thông tin của sinh viên bất kì Ta click vào nút bên cạnh của sinh viên cần chỉnh sửa, sau đó click vào nút lập tức sẽ có một form popup chứa thông tin của sinh viên mà ta cần chỉnh sửa hiện ra Cụ thể ở đấy nếu đối tượng được chọn là sinh viên tên “Lan” vớiUID là 45:

Hình 4.70 Form chỉnh sửa của sinh viên

Giả sử, ở đây chúng ta đổi tên User name: Lan thành User name: Lan Nguyễn và địa chỉ Email: lan@gmail.com thành Email: lan2802@gmail.com thì ta nhận được kết quả như hình:

Hình 4.71 Thông tin sinh viên sau khi chỉnh sửa

Ngoài ra ở chế độ này, còn cho phép người quản trị tìm kiếm sinh viên bằng bất cứ thông tin nào mà người quản trị biết được.

Hình 4.72 Chức năng tìm kiếm sinh viên

Bằng cách nhập thông tin cần tìm vào ô “Search” và click vào nút là ta đã có thể tìm được, để có thể hiện thị lại tất cả sinh viên ta click vào nút

Hình 4.73 Danh sách khi tìm kiếm

Hình 4.74 Danh sách khi thoát tìm kiếm Để về lại trang chọn các chế độ, ta click vào nút , sau đó khi đã về lại trang lấy mã thẻ mới ta lại click vào nút Vậy là ta đã ra được vị trí trang chọn các chế độ.

Hình 4.75 Trang chọn các chế độ sau khi thoát khỏi chế độ “Nhập thông tin”

Ta click vào để tiến đến chế độ thứ 3: Nhập Thông tin quên thẻ Đây là chế độ dành riêng cho các trường hợp số ít sinh viên khi quên mang theo thẻ sinh viên để vào KTX Lúc này trang cũng hiện những thông tin tương tự như ở chế độ “Nhập thông tin”.

Hình 4.76 Giao diện trang Nhập thông tin quên thẻ

Khi một sinh viên quên mang thẻ vào KTX, người quản trị sẽ yêu cầu sinh viên đọc thông tin Họ và tên lẫn MSSV, sau khi đã tra được sinh viên như thông tin, người quản trị sẽ kiểm tra hình ảnh của sinh viên so với hình ảnh thực tế để nhận diện có phải là sinh viên KTX hay không Nếu đã hợp lệ, người quản trị sẽ tiến hành điểm danh sinh viên bằng nút và mở cổng/đóng cổng cho sinh viên đi qua Dĩ nhiên lúc này sinh viên vừa mới điểm danh sẽ được cập nhật vào tại màn hình của chế độ “Quẹt thẻ”.

Vì hệ thống quản trị cần có tài khoản cho phép mới được truy cập vào nên khi bạn tiến hành đăng ký tại vị trang trang đăng nhập thì cần phải được cấp quyền cho phép của người có quyền hạn cáo nhất thì mới có thể đăng nhập vào được để đảm bảo an toàn cho sinh viên KTX.

Hình 4.77 Vị trí tiến hành đăng ký tài khoản quản trị

Hình 4.78 Form điền thông tin tài khoản quản trị

Hình 4.79 Yêu cầu xác nhận tài khoản từ email của người đăng ký

Và tài khoản sau khi click vào nút lập tức sẽ đăng xuất tài khoản quản trị khỏi hệ thống nên dữ liệu cũng sẽ không còn nữa

Ngoài ra, khi bạn quên mật khẩu có thể bấm vào nút quên mật khẩu, hệ thống sẽ yêu cầu bạn nhập email mà bạn đã đăng ký tài khoản đó để đặt lại mật khẩu mới cho tài khoản của bạn.

KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ

Kết quả đạt được

Sau khi thi công hoàn thiện hệ thống, mô hình sản phẩm, nhóm em đã hoàn thành được phần lớn những đề xuất, ý tưởng ban đầu Phần cứng và web-server đều hoạt động tương đối ổn định Dựa trên ngôn ngữ Python và được thực hiện trên bộ kit Raspberry Pi mà vấn đề xử lý cũng như trao đổi dữ liệu trên phần cứng trở nên dễ dàng hơn Trong quá trình nghiên cứu và thực hiện nhóm đã học hỏi được nhiều kiến thức cũng như những thực nghiệm trải qua Một số vấn đề có thể kể đến như:

Phần cứng: Biết cài đặt một hệ điều hành cho Raspberry Pi, sủ dụng được giao tiếp điều khiển từ xa, sử dụng được các thao tác lệnh trên hệ điều hành, sử dụng được camera pi hỗ trợ cho Raspberry Pi; biết dùng Raspberry Pi trao đổi dữ liệu với Arduino, xử lý truyền/nhận dữ liệu nhiệt độ, LCD; hiểu được mức điện áp cho phép trên các chân GPIO để từ đó sử dụng đúng cho cảm biến hồng ngoại, công tắc hành trình Đặc biệt, xủ lý được vấn đề thời gian chờ từ thẻ RFID từ đó đọc/ghi thông tin dữ liệu cho thẻ.

Phần mềm: Biết lập trình cơ bản giao diện web-server bằng các ngôn ngữHTML, CSS, JS, PHP; sử dụng cơ bản các thư viện hỗ trợ cho lập trình giao diện như bootstrap, jquery; sử dụng được các ngôn ngữ trao đổi dữ liệu trên server thông qua hệ quản trị cơ sở dữ liệu MySQL như Python, PHP Lập trình được hệ thống đã có thể quẹt được thẻ RFID để nhận thông tin, đọc được nhiệt độ từ cảm biến lên server, nút nhấn đóng/mở barrier trên phần cứng và web đáp ứng tốt.

Kết quả thực tế

5.2.1 Thao tác trên hệ thống Đầu tiên ta cần bật nguồn cho Raspberry Pi, ở đây nhóm em dùng Raspberry Pi3B+ nên dùng đầu sạc Micro USB

Hình 5.1 Cung cấp nguồn điện cho Raspberry Pi

Vì Arduino được truyền dữ liệu với Raspberry Pi nên khi Raspberry Pi có nguồn cũng đồng thời cung cấp cho Raspberry Pi Lúc này ta thấy đèn đỏ sáng rỏ, đèn vàng nhấp nháy nghĩa là Raspberry Pi đã hoạt động ổn Lưu ý tới các trạng thái đèn của Raspberry Pi để tránh được những trường hợp xảy ra sự cố với thiết bị.

5.2.2 Các kết quả khảo sát và thực hiện

Thực nghiệm trên phần cứng

Sau khi khởi động Raspberry Pi, ta tiến hành biên dịch chương trình trên phần mềm Thonny IDE, đồng thời ta cũng tiền hành đăng nhập để vào giao diện web-server để điều khiển Một số các kết quả mà nhóm em đã thu được như sau:

Hình 5.2 Tiến hành quẹt thẻ

Khi ta đưa thẻ quẹt vào hệ thống, hệ thống nhận thông tin thẻ, đọc được nhiệt độ thân nhiệt từ bàn tay của người quẹt thẻ, nhiệt độ đó cũng sẽ được hiển thị trên màn hình LCD và có camera Pi sẽ chụp ảnh chân dung và ghi thời gian chụp vào hình ảnh.

Hình 5.3 Nhiệt độ cơ thể khi quẹt thẻ

Hình 5.4 Hình ảnh được camera Pi chụp lại

Hình 5.5 Hình ảnh được camera Pi chụp lại

Sau khi quẹt thẻ xong lập tức nếu hệ thống nhận thấy thông tin sinh viên có trong

Khi sinh viên di chuyển qua hệ thống barrier, cảm biến hồng ngoại nhận thấy có sự thay đổi sẽ lập tức tạo tín hiệu điều khiển cho thành barrier đóng lại.

Khi trường hợp sinh viên quá đông có nút bấm kiểm soát barrier thủ công

Thực nghiệm trên web-server Đầu tiên, ta cần chọn chế độ hoạt động

Hình 5.9 Tùy chọn chế độ

Khi ta chọn chế độ quẹt thẻ, đối chiếu với hoạt động phần cứng thực hiện trước đó, khi bạn “Tâm” thực hiện quẹt thẻ sinh viên, có thông tin trong cơ sở dữ liệu thì sẽ có thông tin hình ảnh của bạn sẽ được hiển thị

Hình 5.10 Thông tin khi quẹt thẻ

Hình 5.11 Thông tin được lưu vào lịch sử

Khi ta chọn chế độ Nhập thông tin, tiến hành quẹt thẻ mới để nhận mã UID mới sẽ xuất hiện nhiều mã UID mới chưa có thông tin, những thẻ đã có thông tin quẹt thẻ sẽ không hiển thị.

Hình 5.12 Mã UID của thẻ mới

Sau đó ta click vào nút để tiến hành nhập thông tin cho mã thẻ mới Cụ thể, nhóm đã nhập thành công thông tin cho các bạn trong Ngành như sau:

Hình 5.13 Nhập thông tin thành công

Phần chỉnh sữa thông tin và tìm kiếm thông tin tương tự như các bước đã tiến hành khi hướng dẫn thao tác trên web-server.

Khi ta chọn chế độ Nhập thông tin quên thẻ, đây là chế độ dành riêng cho các bạn sinh viên sơ ý khi quên mang theo thẻ, thực tế trường hợp này không mong muốn các bạn lặp lại nhiều lần vì để bảo đảm an ninh cho KTX.

Chẳng hạn, bạn “Duy” quên mang theo thẻ, bạn sẽ được yêu cầu cung cấp thông tin và thực hiện tìm kiếm

Hình 5.14 Điểm danh cho bạn “Duy” cập nhật vào lịch sử

Hình 5.15 Điểm danh sinh viên

Ta click cho bạn “Duy” qua cổng

Hình 5.16 Mở cổng khi bấm chọn

Nhận xét và Đánh giá

Sau khoảng thời gian 15 tuần thực hiện đề tài, hệ thống đã phần nào đáp ứng được những mục tiêu đề ra ban đầu của nhóm Có thể kể đến như: Ưu điểm:

 Hệ thống dễ thi công, tháo lắp và sử dụng dễ dàng, chi phí vận hành và lắp đặt không quá cao

 Web-server hoạt động ổn định, nút nhấn đáp ứng tốt, cảm biến phản hồi nhanh

 Độ trễ của barrier thấp, gần như đóng mở ngay sau khi quẹt thẻ và có người đi qua

 Đầu đọc thẻ có phạm vi nhất định, dễ xảy ra trạng thái nhiễu

 Camera chụp ảnh còn phụ thuộc vào độ sáng của môi trường

 Tốc độ xử lý phụ thuộc vào dung lượng thẻ nhớ và độ sạch của thẻ, nếu thẻ bị lỗi sẽ gián đoạn hệ thống

 Momen động cơ yếu nên lúc đóng barrier còn bị dội Để nhìn nhận, so với hệ thống quẹt thẻ tại KTX D1, nhóm thực hiện được một số ưu điểm như tích hợp được nhiều chức năng quản lý sinh viên vào với nhau: quẹt thẻ, đọc nhiệt độ, chụp ảnh… nhưng cũng còn nhiều hạn chế về mặt đầu tư vật chất, thiết bị, đa số các mô hình quẹt thẻ chỉ mới dừng lại ở quẹt thẻ RFID vì nó dễ khai thác và sử dụng, phụ thuộc vào ngành công nghệ hiện có, chưa có những phát triển mới trong công nghệ quản lý con người.

Ngày đăng: 22/06/2023, 00:52

HÌNH ẢNH LIÊN QUAN

Hình 3.2 Raspberry Pi 3B+ - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 3.2 Raspberry Pi 3B+ (Trang 44)
Hình 3.10 Cảm biến E18-D80NK - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 3.10 Cảm biến E18-D80NK (Trang 54)
Hình 3.15 Cấu tạo động cơ DC - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 3.15 Cấu tạo động cơ DC (Trang 58)
Hình 3.24 Sơ đồ giảm mức điện áp đầu ra của các endstop - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 3.24 Sơ đồ giảm mức điện áp đầu ra của các endstop (Trang 67)
Hình 3.25 Sơ đồ giảm điện áp đầu ra của cảm biến khoảng cách - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 3.25 Sơ đồ giảm điện áp đầu ra của cảm biến khoảng cách (Trang 68)
Hình 4.2 Mô phỏng mạch proteus - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.2 Mô phỏng mạch proteus (Trang 72)
Hình 4.3 Mạch in - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.3 Mạch in (Trang 72)
Hình 4.5 Bố trí thiết bị trong thân hộp - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.5 Bố trí thiết bị trong thân hộp (Trang 74)
Hình 4.6 Bố trí thiết bị mặt sau nắp hộp - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.6 Bố trí thiết bị mặt sau nắp hộp (Trang 75)
Hình 4.7 Hình ảnh bên phải hộp - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.7 Hình ảnh bên phải hộp (Trang 76)
Hình 4.8 Hình ảnh bên trái hộp - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.8 Hình ảnh bên trái hộp (Trang 77)
Hình 4.9 Hộp hoàn thiện - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.9 Hộp hoàn thiện (Trang 78)
Hình 4.10 Bố trí động cơ, barrier, công tắc hành trình - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.10 Bố trí động cơ, barrier, công tắc hành trình (Trang 79)
Hình 4.11 Mô hình hoàn thiện - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.11 Mô hình hoàn thiện (Trang 80)
Hình 4.25 Tên các mạng Wifi hiện có - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.25 Tên các mạng Wifi hiện có (Trang 88)
Hình 4.27 Địa chỉ IP từ VNC trên Raspberry Pi - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.27 Địa chỉ IP từ VNC trên Raspberry Pi (Trang 89)
Hình 4.32 Màn hình lúc truy cập - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.32 Màn hình lúc truy cập (Trang 91)
Hình 4.35 Lưu đồ điều khiển phần cứng 1 - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.35 Lưu đồ điều khiển phần cứng 1 (Trang 92)
Hình 4.37 Lưu đồ hoạt động web-server 1 - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.37 Lưu đồ hoạt động web-server 1 (Trang 95)
Hình 4.38 Lưu đồ hoạt động web-server 2 - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.38 Lưu đồ hoạt động web-server 2 (Trang 96)
Hình 4.43 Hệ quản trị MySQL - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.43 Hệ quản trị MySQL (Trang 100)
Hình 4.47 Apache dưới sự điều khiển từ VNC qua máy tính cá nhân - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.47 Apache dưới sự điều khiển từ VNC qua máy tính cá nhân (Trang 102)
Hình 4.65 Giao diện đăng nhập trang web - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.65 Giao diện đăng nhập trang web (Trang 111)
Hình 4.67 Form nhập thông tin mới cho sinh viên - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.67 Form nhập thông tin mới cho sinh viên (Trang 112)
Hình 4.68 Nhập sai hoặc thiếu thông tin sinh viên - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 4.68 Nhập sai hoặc thiếu thông tin sinh viên (Trang 113)
Hình 5.2 Tiến hành quẹt thẻ - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 5.2 Tiến hành quẹt thẻ (Trang 120)
Hình 5.6 Mở barrier - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 5.6 Mở barrier (Trang 122)
Hình 5.8 Đóng barrier - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 5.8 Đóng barrier (Trang 123)
Hình 5.16 Mở cổng khi bấm chọn - THIẾT KẾ HỆ THỐNG QUẢN LÝ SINH VIÊN QUA LỐI ĐI VÀO
Hình 5.16 Mở cổng khi bấm chọn (Trang 127)
w