GithubHelp home page GithubHelp logo

nigelcooll82 / magic-mirror-demo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoftedge/magic-mirror-demo

0.0 0.0 0.0 4.71 MB

A :zap:Magic Mirror:zap: powered by a UWP Hosted Web App :rocket:

License: Other

Batchfile 3.94% JavaScript 64.39% CSS 21.73% HTML 9.94%

magic-mirror-demo's Introduction

⚡Magic Mirror⚡

##Overview

We took the magic mirror concept a step further by enabling user recognition 😃. The mirror can recognize registered users and personalize the experience accordingly.

The Magic Mirror is a fun weekend IoT project that showcases the power of Universal Windows Platform (UWP) hosted web apps. Please check out the instructions below to see how you can build it yourself 🚀.

The client side was coded against standard web technologies (CSS, HTML, JS) ❤️, and the back-end leverages the power of NodeJS and Mongo hosted on Azure. The client side implements Windows API (mediaCapture) to detect faces from the devices camera, and the Microsoft's Cognitive Services Face API to match Faces to profiles.

##User Flow

Before using the magic mirror, users need to create a profile using the desktop app. You need a profile so the mirror can recognize you and adapt to your needs.

##Assembly Process

Please see the assembly process section.

##Installing the apps

You have to deploy two Hosted Web apps (HWA). The first HWA allows you to create your profile and is meant to run on your desktop. The second HWA powers the Magic Mirror UI that runs on the Raspberry Pi 2/3.

###Deploying on a PC

Prerequisites:

  • Visual Studio (2013+)
  • Windows 10 SDK installed in Visual Stuido

Steps to deploy the Profile Creator app to your desktop:

  1. In Visual Studio, go to Solution explorer, click on package.appxmanifest > Application and set http://webreflections.azurewebsites.net/create as the start page
  2. On the ribbon, change the target architecture to match that of your PC (e.g. x64)
  3. Set the debugging target to "Local machine" (changing the architecture in step 2 probably did this for you)
  4. Click play to start the app running on your local machine
  5. Follow the prompts on the create experience to save a profile for yourself

Steps to deploy the Magic Mirror app to the Raspberry Pi 2:

  1. In Visual Studio, click File > New Project > JavaScript Templates > Windows > Hosted Web apps
  2. Go to Solution explorer, click on package.appxmanifest > Application and set http://webreflections.azurewebsites.net/mirror as the start page
  3. Within the package.appxmanifest view, click the Content URIs tab and insert http://webreflections.azurewebsites.net/ with WinRT Access All
  4. Click the Capabilities tab and select Webcam 📷
  5. On the ribbon, Change the taget architecture from Any CPU to ARM
  6. Click play (it should say Remote Machine)
  7. A prompt should appear asking you for the Machine Name. Set the IPv4 of your RP as the Machine Name and select Universal for the Require Authentication
  8. and voilà! 🎁 You have succesfully installed the Magic Mirror hosted web app in your RP running Windows IoT core.

You can find a tutorial of how to deploy HWA using Visual Studio here.

###Deploying on a Mac

Coming soon...

Contributing

For guidelines on contributing to this project, please refer to the contributing section.

##Run Locally

Please see the run locally section.

Credits

The weather icons were created by Yorlmar Campos under a Creative Commons Attribution 3.0 license.

##Code of Conduct This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

magic-mirror-demo's People

Contributors

andypavia avatar jdalton avatar jarennert avatar seksenov avatar jobeland avatar gr8gatsby avatar melanierichards avatar jberenhaus avatar josephshum-msft avatar marc-schumann avatar reevesl avatar cchannon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.