Smart Library - IoT application

In this project, we developed an application where we automated a Library Management System (LMS). This system will be used to borrow, return and maintain the backend information. The library user arrives at the reception. It is not manned by any person. The RECEPTION PI (RP) provides two options available for logging into the system:

  • using console-based system which allows them to type in the user credentials or,
  • using a facial recognition system The user registration is required for the first-time user. Upon registration the details are stored in a local database installed on RP. Upon logging in, a success message along with the username is sent from RP (Reception PI) to the MASTER PI (MP) via sockets. The user is now presented with another console-based application where the user can search for book catalogues based on ISBN/Author name/Book name (either by using console-based system or voice search feature) , option for borrowing a book/books, option for returning a book/books (either by typing the ISBN of a book or scanning the QR code), logout. Upon logging out a message is sent via sockets from MP to RP. For library admin: This is a separate website application that runs on MP. It can only be accessed by admin personnel. Admin website makes use of an API to:
  • Add books to catalogue
  • Remove books
  • Generate a data visualisation report for books borrowed (day and week wise) The book database is stored on a cloud environment namely the Google’s GCP IoT platform (Google Cloud Platform).

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

In our implementation, we use two raspberry pis where one act like a reception and other one acts like a master. You can use you machine with two windows to get the application working. 

Installing

A step by step series of examples that tell you how to get a development env running

Say what the step will be

Please find the installation.txt file where you will find all the necessary packages to install

Running the tests

Explain how to run the automated tests for this system

You will need to run user.py file in one window and library_menu.py in another window

Built With

Authors

Acknowledgments

  • Acknowledgments to COSC2674 - Programming Internet of Things code archives