Friday, 5 May 2017

Smart Mirror



Before getting started with detailed Description.Here are the links to my blog posts for fundamentals and initial work on the project.

1.http://akoratamiot.blogspot.com/2017/05/details-of-project-report.html

2.http://akoratamiot.blogspot.com/2017/05/fundamental-parts-of-project-report.html

I have given a lot of thought to write the post about my final project as in how to present the project in writings and arrive at a conclusion. There are different aspects and feature the Smart Mirror that we, as a team has developed and I would like to write each feature separately, describe how it works and how we worked to achieve it.



Abstract: 


 The smart mirror is the interactive interface embedded in a mirror with LCD encapsulated in it. The functionality of the smart mirror is to display the details of the items that the customer is trying out in a trial room customer to display details about the items he brought into the trial room. The customer can also see oneself in a different colored dresses that are available in the store, which saves time and energy of bringing all the variety of dresses to the fitting room. The customer can download the image of oneself in different colors of the dress. Moreover, the can also adjust the lighting in the trial room to get a picture of how his dress would look in different times of the day or on different occasions.

  
1. First feature(Setting up the Mirror and LCD): we set up LCD monitor and a mirror with lesser refractive index than a regular mirror i.e lesser than 1.6, which allows light to pass through partially. We installed all the drivers for the LCD after which the display works when connected to the Raspberry Pi and placed the mirror over it.
Required apparatus for setting up the mirror and LCD:
  • LCD.
  • Raspberry Pi.
  • Mirror.
  • HDMI Cable.

2. Second Feature ( Setting up Camera to Raspberry Pi):

We set up the camera module on the Raspberry Pi to capture the image and to scan the barcode of the dress that the customer would wish to. We store all the information in the database to retrieve whenever a customer scans the barcode of the dress. We are storing the database in the cloud. 


Required apparatus for setting up the camera to Raspberry Pi:
  • Raspberry Pi
  • Camera
  • LCD

3. Third Feature ( Capturing Image ):

Camera module attached to Raspberry Pi capture the Image and scan the barcode of the dress. We stored all the information about the dresses in the database to retrieve whenever a customer scans the barcode of the dress.  We are also storing the database in the cloud for advanced speed and agility. When a barcode scanner is placed near the mirror which captures the barcode of the dress and displays the details of that particular dress and other options that are available on the mirror.


Required apparatus for Capturing Image:
  • Raspberry Pi
  • Camera
  • LCD
  • Mouse and Keyboard for the Pi




4. Fourth Feature ( Scanning BarCode):

With the help of image processing, the color of the dress customer tries on is detected and the image of the customer in different colors of the same dress is displayed. We have set up GUI application that serves as an interface between the customer and the features provided. We used Python Tkinter library to code for developing GUI.

Required apparatus for Scanning BarCode:
  • Camera
  • Raspberry Pi
  • LCD
  • User Interface.


5. Fifth Feature ( Scanning QR code):

A customer can generate a QR code such that the customer could download the image of oneself in the different colored dress using the QR code scanner on the mobile phone.

Required apparatus for Scanning QR code:



  • Raspberry Pi
  • LCD
  • QR code Scanner



6. Sixth Feature ( Adjust color and Brightness of the room):
A customer can adjust the lighting in the fitting room through the GUI. Brightness can be adjusted using of LED bulbs, GPIO pins with is connected to the Raspberry Pi using a breadboard.

Required apparatus for Adjusting color and Brightness of the room:


  • GPIO pins
  • Jumper wires
  • LED bulbs
  • Breadboard
  • Raspberry Pi
  • User Interface.




Github links for the code:

Use case Diagram for:








Architecture :



Here is our poster for poster presentation session:


Results:

The demonstration setup for smart mirror

WhatsApp Image 2017-05-05 at 5.58.41 PM



Smart mirror with LCD display:




















QR code scanning:

WhatsApp Image 2017-05-03 at 11.10.28 AM

LED setup for lighting change:


WhatsApp Image 2017-05-03 at 11.09.57 AM


Here is the link to the demo video of the project:

References:




Personal Insight and Future Scope:

The is a wide scope for improvements and additional features for the Smart mirror. Here are few features we wanted to include had time permitted:

  • The Trends can be analyzed using data-analytics tools, which the customer frequently try on and buy using the smart mirror.
  • Cloud service can be used in the store so that the customer could request for desired product right from the fitting room and the nearest sales associate will be notified and will bring the item to the customer.
  • A more personalized session can be created by having a database for customers and giving options for customers to save items for later.
  • The voice the recognization and Touchscreen  Interface can be developed to the system to make the system more interactive and comfortable.
My personal Experience and Takeaway from this project can only be positive. I never worked with cables and electrical devices before in my life. The very first class where professor. Schragger discussed  "what internet things ?" is all about and future of IoT I was fascinated and intrigued. I have always been an avid lover of Science Fiction Movies, I instantly recalled Sci-fi movies when the professor was discussing IoT.

I knew that I wanted to work on this domain but I didn't know what and where to start.With the guidance of Professor and Support of my teammates Monica & Lavanya, I went ahead with an idea called "smart mirror. In the process, we faced a lot of hurdles which we overcame. We used the help of lot online sources like blogs, youtube videos for each feature and solved each problem one by one. We were almost done with the project and parts left was the database, Connected LCD to the raspberry Pi and Installing respective drivers for LCD to Raspberry Pi. In the process of Installing the Drivers to the Pi, the Raspian got formatted. Now, the each every bit of the code we wrote and Developed is lost and We were lost. Since the deadline was very near and we didn't even backup earlier, We had to recollect and redo again. Lessons learned: LCD drivers installation and touch screen configuration can format the Raspberry Pi. After the Pi formatting disaster, the Pi refused to accept AWS cloud which worked earlier but we worked around for demonstration and Used database instead.