I. Đồ án tốt nghiệp CNTT
Đồ án tốt nghiệp là một phần quan trọng trong chương trình đào tạo của công nghệ thông tin. Đề tài 'Tìm hiểu Ruby on Rails, Arduino và xây dựng ứng dụng quản lý thư viện' tập trung vào việc áp dụng các công nghệ hiện đại để giải quyết bài toán thực tế. Ruby on Rails và Arduino được chọn làm công cụ chính để phát triển hệ thống. Mục tiêu của đồ án là tạo ra một phần mềm quản lý thư viện hiệu quả, giúp quản lý sách và thiết bị một cách tự động hóa.
1.1. Mục tiêu và phạm vi
Đồ án nhằm xây dựng một hệ thống quản lý thư viện cho trường Đại học Giao Thông Vận Tải TP.HCM. Hệ thống sẽ quản lý việc mượn trả sách, quản lý thiết bị trong thư viện, và cung cấp thông tin sách cho sinh viên. Phạm vi nghiên cứu bao gồm việc tìm hiểu Ruby on Rails, Arduino, và các công cụ liên quan như SQLite3, GitHub, và Arduino IDE.
1.2. Phương pháp nghiên cứu
Phương pháp nghiên cứu bao gồm việc khảo sát hoạt động của thư viện hiện tại, tìm hiểu các công cụ lập trình, và thực hiện demo hệ thống trên localhost. Đồ án cũng sử dụng các phương pháp phân tích và thiết kế hệ thống để đảm bảo tính khả thi và hiệu quả.
II. Tìm hiểu Ruby on Rails và Arduino
Ruby on Rails là một framework lập trình web mạnh mẽ, được viết bằng ngôn ngữ Ruby. Nó cung cấp các công cụ và thư viện giúp phát triển ứng dụng web nhanh chóng. Arduino là một nền tảng mã nguồn mở phần cứng và phần mềm, được sử dụng để xây dựng các ứng dụng tương tác với môi trường. Sự kết hợp giữa hai công nghệ này mang lại nhiều tiềm năng trong việc phát triển hệ thống quản lý thư viện.
2.1. Ruby on Rails
Ruby on Rails là một framework lập trình web được sử dụng rộng rãi nhờ tính đơn giản và hiệu quả. Nó cung cấp cấu trúc MVC (Model-View-Controller) giúp phân tách logic và giao diện người dùng. Rails cũng hỗ trợ nhiều thư viện (gem) giúp tăng tốc độ phát triển ứng dụng. Tuy nhiên, nhược điểm của Rails là tốc độ xử lý chậm so với một số ngôn ngữ khác như NodeJS.
2.2. Arduino
Arduino là một nền tảng mã nguồn mở, được sử dụng để xây dựng các ứng dụng tương tác với môi trường thông qua các cảm biến và cơ cấu chấp hành. Arduino có thể kết nối với các thiết bị điện tử khác, tạo ra các hệ thống tự động hóa. Trong đồ án này, Arduino được sử dụng để quản lý các thiết bị trong thư viện như đèn, quạt, và hệ thống an ninh.
III. Xây dựng ứng dụng quản lý thư viện
Ứng dụng quản lý thư viện được xây dựng dựa trên Ruby on Rails và Arduino. Hệ thống bao gồm các chức năng chính như quản lý sách, quản lý độc giả, và quản lý thiết bị. Ứng dụng cũng tích hợp IoT để điều khiển các thiết bị trong thư viện một cách tự động. Cơ sở dữ liệu được thiết kế để lưu trữ thông tin sách, độc giả, và lịch sử mượn trả.
3.1. Thiết kế hệ thống
Hệ thống được thiết kế với ba tác nhân chính: độc giả, thủ thư, và admin. Mỗi tác nhân có quyền truy cập và chức năng riêng. Độc giả có thể xem và mượn sách, thủ thư quản lý việc mượn trả, và admin quản lý toàn bộ hệ thống. Biểu đồ luồng dữ liệu được sử dụng để mô tả cách thức hoạt động của hệ thống.
3.2. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu được thiết kế để lưu trữ thông tin về sách, độc giả, và lịch sử mượn trả. Các bảng dữ liệu được liên kết với nhau thông qua các khóa chính và khóa ngoại. SQLite3 được sử dụng làm hệ quản trị cơ sở dữ liệu do tính đơn giản và dễ sử dụng.
IV. Kết hợp Arduino và Ruby on Rails
Việc kết hợp Arduino và Ruby on Rails là một điểm nhấn quan trọng trong đồ án. Arduino được sử dụng để điều khiển các thiết bị trong thư viện, trong khi Rails quản lý dữ liệu và giao diện người dùng. Sự kết hợp này tạo ra một hệ thống quản lý thư viện hoàn chỉnh, tự động hóa nhiều quy trình thủ công.
4.1. Kết nối Arduino với Rails
Arduino được kết nối với Ruby on Rails thông qua chip ESP8266, cho phép giao tiếp giữa phần cứng và phần mềm. Rails gửi các lệnh điều khiển đến Arduino để thực hiện các tác vụ như bật/tắt đèn, quạt, và các thiết bị khác. Quá trình này được thực hiện thông qua các API được xây dựng trên Rails.
4.2. Sơ đồ lắp mạch
Sơ đồ lắp mạch được thiết kế để kết nối các thiết bị điện tử với chip ESP8266. Các thiết bị như đèn, quạt, và cảm biến được kết nối với Arduino thông qua các chân I/O. Sơ đồ này đảm bảo hệ thống hoạt động ổn định và an toàn.
V. Kết luận và kiến nghị
Đồ án đã thành công trong việc xây dựng một hệ thống quản lý thư viện sử dụng Ruby on Rails và Arduino. Hệ thống không chỉ quản lý sách và độc giả mà còn tự động hóa việc điều khiển các thiết bị trong thư viện. Tuy nhiên, vẫn còn một số hạn chế như tốc độ xử lý của Rails và độ phức tạp khi kết nối phần cứng. Các kiến nghị cải tiến bao gồm tối ưu hóa hiệu suất và mở rộng chức năng hệ thống.
5.1. Đánh giá kết quả
Hệ thống đã đáp ứng được các yêu cầu cơ bản của một phần mềm quản lý thư viện. Việc tích hợp IoT thông qua Arduino mang lại tính tự động hóa cao, giúp giảm thiểu công sức quản lý thủ công. Tuy nhiên, tốc độ xử lý của Rails cần được cải thiện để hệ thống hoạt động hiệu quả hơn.
5.2. Hướng phát triển
Trong tương lai, hệ thống có thể được mở rộng bằng cách tích hợp thêm các tính năng như quản lý tài liệu điện tử, hỗ trợ đa ngôn ngữ, và tối ưu hóa giao diện người dùng. Việc sử dụng các công nghệ mới như AI và machine learning cũng có thể được xem xét để nâng cao hiệu quả quản lý.