Client & Business Goals:

This project shows how to create a voice-controlled Internet of Things (IoT) product for a smart home and office.

Product

A smart mirror is an information hub with a display that shows various content. It comprises an integrated Alexa application and a number of built-in, third-party services.

 

Technology Stack

Cloud: AWS IoT Platform, AWS Lambda, DynamoDB, CloudWatch

Mirror: Raspberry Pi 3 Model B+, sensors, display, audio I/O, camera; Python 3 (Smart Mirror app), C++ (Alexa app), Kivy UI Framework

 

Project Highlights:

 -Powerful IoT, data science, and machine learning-based assistant

 -Openness to the integration with other software systems and services

 -Built-in sensors and Amazon services for gathering data on indoor conditions

Powerful IoT, Data Science, and Machine Learning-based Assistant

A smart mirror takes an everyday object and turns it into a powerful assistant. It’s a highly functional work that uses sophisticated IoT development. It utilizes a special one-way mirror that shows the information on a display hidden underneath its surface.

The function list of the tool includes voice control, face identification, and custom services. Voice control is enabled with a speaker, a microphone, and a built-in app powered by the Alexa voice assistant. In turn, Alexa has a set of skills for the management of smart mirror components, such as widget data and settings.

Openness to Integration With Other Software Systems and Services

Smart mirrors can be integrated with any system and service—from the simplest weather APIs to complex enterprise ERP solutions. In our case, it syncs with our internal system, MD People, and shows a feed with our corporate events like birthdays and anniversaries of employees on the Event List Widget.

 

Built-in Sensors and Amazon Services Gathering Data on Indoor Conditions

The mirror is connected with the AWS IoT platform. The interaction between these two components is carried out through the device shadow service. The built-in module with sensors is integrated with GPIO (General Purpose Input Output) extension board using an I²C bus.

These sensors detect temperature, humidity, pressure, and motion, which is used for the device’s sleep mode. The collected information is displayed on the indoor widget.