001.매직미러 설치


스마트미러?

몇해전, 커뮤니티를 뜨겁게 달군(?) 스마트미러(smart-mirror) 라는 프로젝트
실상은 모니터(Display) 위에 2way 미러를 붙이기만 한것, 하지만 매우 폭발(?)적인 반응들
그럴만도 한게, 아이언맨의 인기로 ‘자비스’ 같은 인공지능 비서의 관심이 쏟아지는 중이였기도 하고..
거울(?) 인만큼 터치, 혹은 마우스, 키보드 같은 물리 입력장치가 아닌
Voice user interface 를 사용하는 시연영상을 보면 그 누구라도 관심을 가질 수 밖에 없을듯..


Magic Mirror2

여러가지 basic source들이 있지만, raspbian에서 직접 개발할게 아니라면, windows를 사용해야하는데
조금 번거롭긴하지만, windows에서 동작하는 프로젝트,
단지 윈도우에서도 실행가능하기에 선택한거라 크게 의미는 없음

Mac OS, Linux 를 사용하면 다른 source들을 실행하는데 크게 문제가 없지만,
windows에서는 설치에서부터 막히는 일이 빈번함.

install Magic Mirror2

설치(installing)은 간단하게 github 소스를 clone 하는것 만으로 충분하지만
기반이 되는 nodejs는 필수적으로 설치되있어야 함
electron.js 도 필요하지만 npm 으로 같이 관리되는듯 하다

git clone https://github.com/iot-maker-korea/MagicMirror.git

명령어 한줄로 간단하게 source를 받을 수 있지만, git을 사전에 설치해야 한다

여기서 사용하는 소스는 몇가지(?) 수정이 있는 소스로
dev 일때는 종료시 process를 종료시키도록 변경되있다
또한, 구동시 ip address를 콘솔에 표시하도록 수정되어있다

관련 모듈 설치

npm install
npm run install

Magic Mirror2 에는
npm install을 총 3번을 진행해야 한다

- MagicMirror/
- MagicMirror/vender
- MagicMirror/fonts

프로젝트 상위 디렉토리에만 실행하면 하위 vender, fonts를 무시하게 되는데,
사실 실행하는데 큰 문제는 없는듯 보인다
보통 최상위 디렉토리만 진행하면되는데 비해 좀 번거롭긴 하다

npm install 진행시 오류(?) 가 발생하는데
아래 명령을 순서대로 진행하면 된다, 오류메시지에 나오는 항목이니 참고바람
npm audit는 모듈의 취약점을 검사하는 기능이라고 한다
npm audit fix –force
npm fund

config

매직미러 설정파일은 config/config.js.sample 을 이용해서 만들면 된다

cp config/config.js.sample config/config.js

*윈도우에 해당

윈도우에서는 npm start 진행시 Display 에러가 나며 실행이 되질 않는다

‘DISPLAY’은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

간단하게도 package.json 파일의 script 중 start를 수정해 주면된다

  • 수정전

    “start”: “DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js”

  • 수정 후

    “start”: “./node_modules/.bin/electron js/electron.js”

Start

npm start

실행과 동시에 전체화면으로 마우스 커서가 전혀 보이질 않고 전체화면으로 실행되니 주의해야한다

Dev

npm start dev

개발환경으로 구동시키는 방법으로 뒤에 dev 옵션이 들어간다

Server only

npm run server

electron.js 없이 서버만 구동하는 방법으로
브라우져를 통해 화면에 접근할 수 있다

http://localhost:8080

Stop

Alt+Tab 키 조합으로 Prompt 화면으로 이동해
Ctrl+C 키를 눌러 서버를 중지시키면 된다

Ref

Magic Mirror2
documents Magicmirror