Skip to content

jeffmur/Smart-Mirror

Repository files navigation

Smart Mirror Demo

Banner

Whitepaper

Click Here to watch the demo

Wake Word

My wakeword is set to "jarvis", others include :

ALEXA: ALEXA,
AMERICANO: AMERICANO,
BLUEBERRY: BLUEBERRY,
BUMBLEBEE: BUMBLEBEE,
COMPUTER: COMPUTER,
GRAPEFRUIT: GRAPEFRUIT,
GRASSHOPPER: GRASSHOPPER,
HEY_GOOGLE: HEY_GOOGLE,
HEY_SIRI: HEY_SIRI,
JARVIS: JARVIS,
OK_GOOGLE: OK_GOOGLE,
PICOVOICE: PICOVOICE,
PORCUPINE: PORCUPINE,
TERMINATOR: TERMINATOR,

This is configurable in the config/config.js in MagicMirror directory.

User Intents

Attribute Query Resource
Volume "Turn the volume up"
"Turn the volumn down"
"Set the volume to {VALUE} (0-100)"
docs
OnOff "Turn off the mirror"
"Turn on the mirror"
docs

The current configuration is for a "Smart TV" which allows for even more configurations such as: Transport Control, App Selector, Input Selector, and more you can find here

Hardware Configuration

Device Operating System Components Getting Started
Jetson Nano 2GB Linux4Tegra (Ubuntu 18.04) Python3, DLIB, CUDA setup + install, README
Raspberry Pi 4 Debian 11 (bullseye) MagicMirror + Modules generic setup, README

Data Flow Diagram

Outline the relationship between Google Cloud Platform and Smart Mirror components.

Device Packages + Organization

For the Jetson Nano 2GB, setup the following:

Directory Purpose
face_recog/ Google Pub/Sub publisher when known face is detected
Local Face Encodings from user-uploaded .jpgs

For the Raspberry Pi 4, setup the following:

Repository Purpose
firebase-smarthome/ Firebase Function + Testing user-interface
Magic Mirror MagicMirror User Interface
MMM-DeviceControl Smart TV - Volume & Display control
MMM-GoogleAssistant Embedded Assistant api v2
MMM-ProfileSwitcher Google Pub/Sub subscriber for events