Cơ sở dữ liệu trên Raspberry Pi (local database)
Hình 6.1 Các bảng trong cơ sở dữ liệu của Raspberry Pi (local database) Bảng IP (ở đây là 192.168.1.7)
Bảng này có tên giống như IP của Raspberry Pi, chưa các thông tin khi người dung sử dụng phần mềm quản lý thêm thông tin vào.
Hình 6.2 Cấu trúc bảng IP
Bảng tt_control:
Chứa thông tin ra vào của nhân viên
Chú ý: Cột Ket_noi để lưu thông tin khả năng kết nối đến Server (Ket_noi = 1 nghĩa là kết nối được đến Server)
Bảng time:
Lưu thời điểm bắt đầu và kết thúc khoảng thời gian cho phép ra vào.
Hình 6.4 Bảng time
6.1.2 Webserver nhúng trên Raspberry Pi:
Trang đăng nhập:
Hình 6.5 Hình giao diện trang đăng nhập dùng HTML – Javascript
Xây dựng trang menu:
Trang menu chứa các tab link tới các trang thực hiện các chức năng cấu hình database và hệ thống:
Hình 6.6 Trang menu – tab Nhân viên
Hình 6.7 Trang Menu – tab Thiết bị
TAB NHÂN VIÊN:
Xây dựng trang “thông tin nhân viên” – “chi tiết nhân viên” – “cập nhật thông tin
nhân viên” – “xóa thông tin nhân viên”:
Trang “thông tin nhân viên” có chức năng:
Hình 6.8 Trang thông tin nhân viên
- Tên nhân viên là một link tới trang “chi tiết nhân viên”. Trang này chứa tất cả thông tin về nhân viên.
Hình 6.9 trang chi tiết nhân viên
- Có chức năng link tới trang “cập nhật thông tin nhân viên”; trang này cho phép thay đổi thông tin về nhân viên (chức vị, phòng ban….) trong cơ sở dữ liệu.
Hình 6.10 Trang cập nhật thông tin nhân viên
-Có chức năng link tới trang “xóa thông tin nhân viên”; trang này cho phép xóa tất cả thông tin về nhân viên trong cơ sở dữ liệu.
Hình 6.11 Trang xóa thông tin nhân viên
Xây dựng trang “thêm mới nhân viên”
Trang “thêm mới nhân viên” có chức năng thêm thông tin nhân viên vào cơ sở dữ liệu (local host).
Hình 6.12 Trang thêm mới nhân viên
Xây dựng trang “tìm kiếm thông tin nhân viên”:
Trang “tìm kiếm thông tin nhân viên” có chức năng tìm theo tên nhân viên. Trong trường hợp không nhớ rõ đầy đủ tên nhân viên, chúng ta chỉ cần nhập một chữ cái bất kì trong tên nhân viên và trang web sẽ trả về tất cả nhân viên có chữ cái đó trong tên.
Hình 6.13 Trang tìm kiếm thông tin nhân viên
TAB THIẾT BỊ
Xây dựng “trang thông tin thời gian”:
Trang “trang thông tin thời gian” có chức năng cho người dùng biết khoảng thời gian ra - vào được cấu hình trên thiết bị.
Hình 6.14 Trang thông tin thời gian ra – vào cấu hình trên thiết bị
Xây dựng trang “cập nhật thời gian ra – vào”:
Trang “cập nhật thời gian ra – vào” có chức năng cho phép người dùng thay đổi khoảng thời gian ra vào đã được cấu hình trên thiết bị.
Hình 6.15 Trang cập nhật thời gian ra – vào Xây dựng trang “xuất file thông tin”:
Trang này cho phép download file thông tin thời gian ra vào xuống PC dưới dạng file excel. Trang này sử dụng trong trường hợp server mất kết nối hoặc hư hỏng.
6.2 Hệ thống bãi giữ xe: 6.2.1 Mô tả hoạt động: 6.2.1 Mô tả hoạt động:
Nhằm giải quyết tình trạng xe ra vào thường bị quá tải vào giờ cao điểm như tan ca, hay lúc đi làm tại các công ty trường học. Mô hình bãi giữ xe được thiết kết với nhiều lối ra, vào , với mỗi ngõ có thế hoạt động một cách linh đông, vừa có thể đóng vai trò của lối ra lẫn lối vào, mà không cần thao tác lắp đặt lại hay cấu hình lại hệ thống.
Cách hoat động:
Đối với người gửi xe. Khi xe vào:
Khi xe vào người điều khiển xe đúng vị trí được quy định trước.
- Nếu là nhân viên công ty, thì dùng chính thẻ nhân viên (RFID) của mình quét thẻ, sau đó vào bãi.
- Đối với khách thì nhận thẻ RFID từ nhân viên giữ xe, hoặc bấm nút để máy tự động đưa thẻ xe. Quét thẻ vào bãi giữ xe.
Khi quét thẻ, chương trình tự động điều khiển hai camera chụp ảnh phía trước và phía sau xe, xử lý ảnh cho ra biển số xe dưới dạng text. Tất cả dữ liệu về ảnh xe, biển số xe, chủ xe sẽ được lưu lại, truyền về sever, và backup dữ liệu một cách an toàn .
Khi xe ra:
Tương tự lúc vào người điều khiển xe vào đúng vi trí quy định. - Đối với nhân viên: quét thẻ RFID điều khiển xe ra.
- Đối với khách:
Quét thẻ, nếu có tính phí thì thanh toán phí giữ xe, trả lại thẻ RFID điều khiển xe ra. Khi quét thẻ ra.Chương trình sẽ tự động điều khiển camera chụp ảnh chủ xe và biển số xe, chương trinh tự động so sánh biển số xe lúc ra và lúc vào có trùng khớp hay không. Nếu trùng khớp thì cho xe ra. Nếu không trùng khớp thì phát âm thanh cảnh báo cho người quản lý bãi xe biết.Đồng thời xuất hình ảnh lúc xe vào lên màn hình máy tính để nhân viên giữ xe có thể so sánh, đảm bảo độ chính xác cao.
Đối với trường hơp khách nếu có tính phí giữ xe chương trinh cũng tự động tính thời gian giữ xe xuất ra số tiền cần phải trả. Tất cả thông tin về ảnh ra, giờ ra cũng được lưu vào cơ sở dữ liệu.
Đối vời người quản lý bãi giữ xe:
Khi xe vào :
- Yêu cầu khách dắt xe vào đúng vị trí vạch dừng xe / STOP. - Quan sát trên màn hình để đảm bảo nhìn rõ ảnh biển số.
- Kiểm tra thông tin biển số trên màn hình, nếu :
Biển số nhận dạng đúng so với hình ảnh chụp cho xe vào Không nhận dạng biển số thì nhập lại biển số xe cho xe vào.
Khi xe ra :
- Yêu cầu khách dắt xe vào đúng vị trí vạch dừng xe / STOP. - Quan sát trên màn hình để đảm bảo nhìn rõ ảnh biển số.
- Kiểm tra thông tin biển số trên màn hình, hình ảnh ra vào trùng khớp về hình ảnh và biển số thì thẻ xe hợp lệ.
- Tiến hành thu lại thẻ, đối với khách
6.2.2 Cách sử dụng phần mềm: Giao diện bãi giữ xe: Giao diện bãi giữ xe:
Hình 6.16 Giao diện đăng nhập bãi giữ xe thông minh
Hình 6.17 Giao diện chương trình bãi giữ xe
1 2
3 4
1. Khung hiện ảnh thu được trực tiếp từ camera trước, ghi hình người ngồi trên xe. 2. Khung hiện ảnh thu được từ camera sau, ghi hình phía sau xe.
3. Xuất ảnh chụp được từ camera sau. 4. Xuất ảnh chụp được từ camera trước. 5. Hiển thị danh sách xe ra vào.
Và một số nút chức năng như xóa, sửa…
Các ô hiển thị cardID, thời gian vào, ra. Bản số xe, phí giữ xe…
Cách sử dụng chương trình:
1. Chay file exe được giao diện như trên:
2. Chọn file huấn luyện. file → Load_Netword
Hình 6.18 Chọn file huấn luyện 3. Chọn kết nối với 2 camera: conection camea_1/camera_2
Hình 6.19 Chọn kết nối với 2 camera
6.3 Server và chương trình quản lý nhân viên: 6.3.1Cấu trúc cơ sở dữ liệu trên server: 6.3.1Cấu trúc cơ sở dữ liệu trên server:
Gồm các table chính:
Hình 6.20 Các bảng trong cơ sở dữ liệu
1. Table tt_nhanvien
Lưu các thông tin cơ bản về một nhân viên như hình dưới:
Hình 6.21 Cấu trúc bảng tt_nhanvien
2. Table tt_nhaxe:
Lưu thông tin về các lượt xe ra vào. (thời gian ra, vào, hình ảnh chụp từ camera, phí giữ xe….)
Hình 6.22 Cấu trúc bảng tt_nhaxe
3. Table tt_control:
Lưu thông tin các lượt ra vào phòng của từng nhân viên:
Hình 6.23 Cấu trúc bảng tt_control
4. Table login:
Lưu thông tin Card ID nhân viên và username + password ứng với Card_ID đó.
Hình 6.24 Cấu trúc bảng login Ngoài ra còn các table phụ tạo ra trong lúc chạy chương trình.
6.3.2 Chương trinh quản lý nhân viên:
Gồm: Trang đăng nhập, trang đổi mật khẩu, và 3 tab Thông Tin Nhân Viên, Quản lý Nhân Viên, Quản lý bãi giữ xe
Hình 6.25 Giao diện trang đăng nhập
Hình 6.27 Giao diện Chương trình Quản lý nhân viên
6.3.2.1 Tab thông tin nhân viên:
Cho phép thêm/xóa nhân viên khỏi danh sách, tra cứu nhanh thông tin của một nhân viên bất kỳ, tìm kiếm nhân viên theo tên…..
Hình 6.28 Tab thông tin nhân viên
6.3.2.2 Tab quản lý nhân viên: Cho phép: Cho phép:
Quản lý ra vào từng phòng đối với mỗi nhân viên. Khai báo hoặc xóa một phòng.
- Click tên phòng muốn xem. Trong bản Danh sách phòng. Danh sách các nhân viên được phép ra vào sẽ hiện ra bên bản thứ 3 bên phải.
Hình 6.29 Tab quản lý nhân viên Cách dùng :
Khai báo phòng mà nhân viên được phép vào.
Chọn nhân viên cần khai báo bên bản danh sách nhân viên, click vào cột check. Chọn phòng mà nhân viên đó được phép vào, ở bản Danh sách phòng
Click button ADD để thêm vào phòng.
Cuối cùng Click button load to host. Các danh sách nhân viên được phép ra vào từng phòng sẽ được đẩy xuống các bộ access control (Raspberry Pi) tại từng phòng.
Chú ý ta có thể khai báo nhiều nhân viên cùng lúc bằng cách click chọn nhiều nhân viên cùng lúc
Khai báo không cho phép vào phòng:
Khai báo hoặc xóa một phòng.
Khai phòng mới:
Nhập vào mã phòng, tên phòng, ip phòng vào các ô tương ứng Click button ADD
Xóa một phòng đã có:
Chọn phòng cần xóa: click phòng cần xóa trong bản Danh sách phòng Click button delete
Hình 6.30 Xóa một phòng
6.3.2.3 Tab Quản lý bãi giữ xe: Giao diện: Giao diện:
Hình 6.31 Tab Quản lý bãi giữ xe
Cách dùng:
Khai báo cách tính tiền giữ xe:
Chọn cách tính tiền, click checkbox trước cách tính tiền ( chỉ được chọn 1) Thay đổi giá giữ xe ở từng ô tương ứng cho phù hơp với thị trường
Click button CHANGE để kết thúc quá trình khai báo
Hình 6.32 Thay đổi giá tiền Tìm kiếm thông tin xe ra vào:
Nhập khoảng ngày cần tìm kiếm: vào hai ô Từ ngày, Đến ngày ( dưới dạn yyyy-mm-dd
hh:mm:ss )
Danh sách xe ra vào trong khỏang thời gian đó sẽ được hiện lên trong bản bên dưới Tổng số tiền giữ xe thu trong khoảng thơi gian trên sẽ hiện trong ô Tổng Tiền Thu được
Hình 6.33 Danh sách thông tin ra vào Xem chi tiết từng xe ra vào:
Click chọn xe muốn xem trong bản danh sách xe hình trên:
Thông tin về thời gian ra, vào, hình ảnh ra vào, tên nhân viên , chức vụ phòng ban sẽ được xuất ra ở các vị trí tương ứng như hình dưới:
Chương 7:TỔNG KẾT, ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN
7.1 Công việc hoàn thành:
Nội dung của luận văn là xây dựng “Hệ thống bãi giữ xe thông minh và access control dung công nghệ RFID”. Như vậy trong mục tiêu luận văn đã giải quyết được các vấn đề sau:
Xây dựng server để thêm/chỉnh sửa/xóa/hiển thị/tìm kiếm thông tin nhân viên Xây dựng webserver để điều khiển thiết bị từ xa
Truyền nhận dữ liệu giữa reader và thẻ qua máy tính
Truyền nhận dữ liệu giữa reader và thẻ qua module access control (Raspberry Pi) Xử lý ảnh, nhận diện biển số, kiểm tra biển số trên nền Csharp
Hoàn thành chương trình quản lý nhân viên
7.2 Hạn chế:
Chương trình nhận diện biển số chưa nhận diện được biển số nền khác màu trắng và một số trường hợp xe vào bãi không đúng hướng thẳng đứng
Module access control có thể hoạt động độc lập không cần kết nối server nhưng trong trường hợp này do giải thuật kiểm tra kết nói hoạt động gây ra việc đọc thẻ sẽ chậm (cách nhau khoảng 20s một lần đọc).
Sử dụng một module Raspberry Pi và reader cho mỗi phòng, thực tế sẽ gây tốn kém chi phí
7.3 Hướng phát triển:
Với những hạn chế trên chúng em xin đề ra hướng phát triển như sau:
Xây dựng chương trình nhận diện biển số xe tổng quát hơn, xử lý được các trường hợp đặc biệt như biển số nền màu, biển số nghiêng…
Xây dựng một giải thuật kiểm tra kết nối server tốc độ nhanh hơn
Dùng giao tiếp RS485 thay vì RS232 để có thể dùng một module Raspberry Pi đọc cùng lúc nhiều luồng thông tin từ reader gửi về.
TÀI LIỆU THAM KHẢO
GIÁO TRÌNH
[1]. Jerry Banks et al, (2007). RFID Applied. John Wiley & Sons, Hoboken, New Jersey. [2]. Digital Image Processing Second Edition (Rafael C. Gonzalez University of Tennessee Richard E. Woods MedData Interactive)
[3] Ứng dụng xử lý ảnh trong thực thế với thư viện OpenCV C/C++ (Nguyễn Văn Long)
WEBSITE
www.payitforward.edu.vn/ http://www.emgu.com/ www.raspberrypi.vn