요즘 Raspberry Pi를 가지고 MagicMirror를 만들것이 유행이 되어서 그냥 따라해보기로 했다.
Magic Mirror는 LCD에 필름을 붙혀 거울처럼 사용하는데, 이 LCD에 각 기능을 넣어 Magic Mirror혹은 Smart Mirror라고 해서 사용하는데, 보기에도 편할 것 같다.
- 기본설정
https://ahyuo79.blogspot.com/2018/06/raspberry-pi3-raspbian-os.html
- Magic Mirror 최종 결과물 및 설치방법
아래와 같이 자세히 설명해주는 Youtube
https://www.youtube.com/watch?v=pcmjht0Hqvw
https://www.youtube.com/watch?v=pcmjht0Hqvw
이미 소스는 존재하며,이를 이용하여 간단히 구현된 것을 보자
1.1 Node.js (NPM)
Web에 관련된 Node.js 관련사항을 잘 모르기때문에 간단히 아래와 같이 정리만 한다.
npm은 (Node Package Manager)라고 하면 아래 사이트에서 관리되는 것 같다.
NPM 사이트
https://www.npmjs.com/
npm을 이용하여 Node.js를 관리하는 Package Manager라는데, 정확히 동작원리는 아직 모르겠다.
NPM관련내용
https://ko.wikipedia.org/wiki/Npm_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
- NPM 명령어 확인
$ npm help Usage: npmwhere is one of: access, adduser, bin, bugs, c, cache, completion, config, ddp, dedupe, deprecate, dist-tag, docs, doctor, edit, explore, get, help, help-search, i, init, install, install-test, it, link, list, ln, login, logout, ls, outdated, owner, pack, ping, prefix, profile, prune, publish, rb, rebuild, repo, restart, root, run, run-script, s, se, search, set, shrinkwrap, star, stars, start, stop, t, team, test, token, tst, un, uninstall, unpublish, unstar, up, update, v, version, view, whoami npm -h quick help on npm -l display full usage info npm help search for help on npm help npm involved overview Specify configs in the ini-formatted file: /home/pi/.npmrc or on the command line via: npm --key value Config info can be viewed via: npm help config
아래와 같이 쉽게 download가 Node.js를 node_modules에서쉽게 관리되는 것 같다.
$ npm install upper-case # upper-case를 download를 한다고 함
$ cd node_modules
$ ls upper-case
아래와 같이 실행을 하면 npm에 관련된 package가 동작이 되는 것 같다.
$ cd ~/project $ npm start
NPM은 상위 node_modules는 Project 별로 별도로도 관리가 가능하며, 상위에 등록하고 싶다면 아래와 같이 하면된다.
$ cd ./usr/lib/node_modules/ # Main에 node_modules이 존재한것을 확인 가능 $ ls npm pm2 $ ls /usr/bin/pm2 # 실행 파일 확인 /usr/bin/pm2 $ ls /usr/bin/npm # 실행 파일 확인 /usr/bin/npm
pm2는 Autostart를 위해서 NPM package과 함께 shell script을 만들어 사용하는 것 같다.
NPM
https://www.w3schools.com/nodejs/nodejs_npm.asp
PM2
http://pm2.keymetrics.io/docs/usage/startup/
이것을 자세히 알려면 천상 Node.js까지 알아야 할 것 같은데, 그냥 기본 사용법만 알고 추후 시간되면 알아보자.
- Magic Mirror 및 Smart Mirror Github
https://github.com/MichMich/MagicMirror
$ bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)" or $ curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh | bash
$ cd ~/MagicMirror $ npm start
상위처럼 하면 실행이 되지만 MagicMirror를 보면 내부에 config/config.js를 이용하여 각 Website의 키 값을 설정하도록 되어 있다.
- pm2의 기능