스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

매직미러 란 ?

Magic + Mirror 의 합성어
가끔 고속도로 휴게소 / 이마트 같은 곳에서 보셨을 꺼에요 거울 뒤에서 영상 또는 생활정보 나오는 것

[영상] 1년 전에 만들어 본 매직미러 -_-/
시계+달력+날씨+네이버뉴스+인스타그램

@codingman 님께서 IOT 강좌하는 것을 보면서 이전에 만들어 본것이 생각나 예전에 블로깅 한거 뒤쳐 기록해 보네요 ~ ^^, 아두이노나 라즈베리파이를 개발하여 실 생활에 연동해 보면 정말 재미나요 !!

활용

  • 일단 생활정보를 넣을 수 있고
  • IR터치 스크린 연동하면 터치도 되고 ~
  • 스피커 연결해서 동영상 / 음악 재생도 되고
  • 무선 카메라 연동하면 / 통합 보안 센터가 되고
  • 거울을 넣은 이유는 PIR(동작감지) 때문이죠 평상시 - 거울, 다가가면 화면 ON !

정말 활용 범위는 무궁무진 합니다 !! ( 거울 빼면 화면이 더 잘 보인다는 것이 단점 -_-;; )

준비물

  • 라즈베리파이3 ( 50k)

  • 16GB SD카드 (10k)

  • 거울 필름지 (21k)

  • 22" 모니터 : 재활용 ( 150k)

  • IR 터치 틀 ( 120k)

  • 유리 600mm x 400mm : (12k)

비용은 모니터랑 IR터치 틀만 빼면 10만원 정도면 만들어 볼 수 있겠네요 ...

만들기 ( H/W )

  1. 유리 구매 : 24" 까지 제작가능한 600x400 사이즈 유리 구매 ( '맞춤유리' 로 검색하면 네이버에서 손쉽게 구할 수 있음 )
  2. 필름지 구매 : 에니몰에서 필름지 구매
  3. 유리 사이즈에 맞춰 절단 이후 유리 위 시트지 위에 퐁퐁물 듬뿍 뿌린 후 고무헤라 등으로 물기를 제거하여 접착

[참조] 구매링크

  • 하프미러(애니몰)

  • 아마존 (아크릴릭 미러) 플라스틱형 미러 / 배송비랑 시간 때문에 SKIP

  • 투웨이 미러 판매 전문 업체 => 가격이 좀 비쌈 .. 유리 제질 판매중 성능상으로는 최고


참조 영상 : 해커하우스 매직미러 만들기

만들기 ( S/W )

  1. 라즈비안 최신 버전을 다운로드 받아 설치
  2. MagicMirror 소프트웨어 설치
  3. modules 폴더의 예제를 참조하여 나만의 커스텀 모듈 제작 !

[참조] 매직미러 소프트웨어 개발 관련 링크

라즈비안 : 라즈베리파이용 os

미치미치 : 매직미러 - nodejs 기반

종철님 블로그-스마트미러 만들기

결과물

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

[사진1] : 필름 부착장면

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

[사진2] : 필름 컷팅완료

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

[사진3] : 동작 화면

맺음말

  • IOT를 통해 삶을 더욱 윤택하게 만들 수 있는 거 같아요

안녕하세요. Dolphinnn입니다 :) 오늘은 드디어 라즈베리파이에 스마트미러를 설치하도록 할텐데요. 이 글을 보러오시는 분들은 대다수 알고 계시겠지만 '매직미러'라는 스마트미러 플랫폼을 먼저 설치해준 뒤에 스마트미러의 주기능인 음성인식, 구글 어시스턴트 모듈을 설치하도록 하겠습니다. 아래 코드를 넣고 엔터를 치시면 자동으로 스마트미러를 설치하기 시작합니다.

bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"

※ Node, npm 버전업을 안하신 분은 아래 포스팅을 참고해주세요 :)

설치는 약 10분정도 걸리며 설치 도중에 라즈베리파이 실행 시 스마트미러를 자동으로 시작할 것인지 묻는 질문과 화면보호기를 어떻게 설정할 것인지 묻습니다. 각 대답에는 n과 y로 자동실행은 되지않게하고 화면보호기는 꺼줍니다.

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

설치가 끝난 뒤 정상적으로 실행하는지 보기위해서 아래 경로로 들어가서 스마트미러를 npm start로 스마트미러를 실행해봅니다.

cd ~/MagicMirror npm start

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi
스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

실행이 잘 되는것을 확인한 뒤 Ctrl+Q를 눌러서 다시 터미널로 나와줍니다. 다음은 음성인식과 말하기 기능을 위한 베이스 프로그램들을 아래 명령어로 설치해 줍니다. 설치 경로를 다시 기본경로로 바꿔주기위해서 먼저 cd 스페이스바 2번을 치고 엔터를 해줘서 경로를 바꿔줍니다. 그 다음 아래 코드를 치고 도중에 나오는 설치하겠냐는 답에 y 엔터를 눌러주시면 설치가 진행됩니다.

cd sudo apt-get install libmagic-dev libatlas-base-dev sox libsox-fmt-all mpg321 libasound2-dev

이제 스마트미러 플랫폼 안에 넣을 모듈들을 다운 받을 차례입니다. 음성인식 모듈 MMM-Hotword를 먼저 다운받도록 하겠습니다. 맨 위의 줄은 MagicMirror의 modules 폴더로 경로를 바꾸겠다는 것이고, 두번째는 개략적인 모듈(설치파일 같은 것)을 다운 받는 것입니다. 다음은 그 설치한 폴더로 들어가서 install파일에 권한을 주는 것과, 권한받은 install.sh를 실행하는 코드입니다.

cd ~/MagicMirror/modules/ git clone https://github.com/eouia/MMM-Hotword.git cd MMM-Hotword chmod +x ./installer/install.sh ./installer/install.sh

수많은 에러들과 경고를 뒤로하고 우선 다음 단계로 넘어가줍니다.

이번에는 MMM-AssistantMk2를 설치할 차례입니다. 위의 MMM-Hotword에서 다시 아래 단게인 ~/MagicMirror/modules/로 돌아가야하므로 각 명령어를 차례대로 입력합니다. (※ cd .. 은 뒤로가기 같은 겁니다.)

cd .. #cd ~/MagicMirror/modules/ 와 동일 git clone https://github.com/eouia/MMM-AssistantMk2 cd MMM-AssistantMk2 npm install

여기까지 해준다음에 확인해야할 것이 있는데 이것 때문에 진짜진짜 애를 많이 먹었었습니다. 도대체 왜 안되는지 백방으로 찾아본 결과 grpc때문에 문제가 발생할 수 있다며 다운그레이드를 하라고 개발자가 말해놓은 것을 찾을 수 있었습니다. 아래의 코드를 통해 grpc를 확인했을 때 라면 이를 1.23으로 낮춰줘야합니다. 추가로 뒤에 나올 gcc도 gcc-7로 다운그레이드 해주어야 정상적으로 작동합니다.

(※ 아래 실행결과 로 나오신 분은 바로 cd scripts부터 진행하셔도 됩니다.)

cd ~/MagicMirror/modules/MMM-AssistantMk2 npm list | grep grpc #옆에 |는 키보드 엔터와 백스페이스에 있는걸 쉬프트 누르고 치면됩니다.

스마트미러 모듈 만들기 - seumateumileo modyul mandeulgi

위처럼 가 뜨는 것을 확인하셨다! 그렇다면 이 과정을 잘 따라와주세요.

npm install # 위 경로에서 그대로 진행 ~/MagicMirror/modules/MMM-AssistantMk2 sudo apt-get install gcc-7 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 sudo update-alternatives --config gcc npm install --save-dev electron-rebuild

위의 과정을 통해서 Raspberry buster에서, 정확히는 제가 깔면 항상 생기는 그 에러를 grpc와 gcc를 다운그레이드 함으로써 해결할 수 있었습니다. 그리고 아래는 정상적으로 설치를 진행해주시면 됩니다. electron-rebuild가 자주 나오는데 아래에서만 하기엔 다른 오류를 야기할 수 있으므로 위 과정대로 진행해주시면 감사하겠습니다. (※ 혹시 좀 더 간단한 방법을 아시는 분은 댓글 부탁드립니다 !)

cd scripts chmod +x *.sh cd .. npm install --save-dev electron-rebuild ./node_modules/.bin/electron-rebuild sudo reboot

마지막 줄을 실행하면 꽤 오랫동안 빌드가 실행됩니다. 약 20분 정도 생각하시면 마음 편하실 겁니다. 그동안 우리는 무엇을 하느냐. 바로 스마트미러 config.js 파일을 수정해줍니다. 베이스는 개발자 코드로 잡고 심프팀과 메이크코드님의 내용을 참고하겠습니다.. 둘을 사용하는 이유는 심프팀은 세부적인 사항을 잘 설명해주셨고 메이크코드는 핵심 내용을 포함하고 있기 때문입니다.

이번 포스팅에서는 스마트미러를 설치하고, 각종 모듈들을 설치했습니다. 또한 설치 후에 발생할 수 있는 에러를 미리 수정하여 라즈베리파이의 환경설정을 마쳤습니다. 다음 포스팅에서는 설치한 모듈들을 어떻게 프로그래밍하는지, 각각 어떻게 설정하는지에 대해서 포스팅하겠습니다. 쉽게 쓰려고 한건데 혹여 도중에 어려운 부분이나 안되는 부분이 있으시면 댓글로 물어봐주시면 답변드리겠습니다 :) 감사합니다.

복잡하게 어렵게 말고 ! 최대한 간단하지만 실속있게! 실용적인 지식을 전달하자!!

_Dolphinnn

rm -rf ~/MagicMirror/modules/MMM-AssistantMk2 # Assistant를 지울 때 사용 rm -rf ~/MagicMirror/modules/MMM-Hotword # Hotword를 지울 때 사용 rm -rf ~/MagicMirror/ # MagicMirror를 전부 지울 때 사용

여기 코드 세줄은 각각을 지울 때 사용하는 것인데 혹여 에러가 떴을 때 지우고 재설치를 위해서 적어놨습니다. 확실하게 어느 모듈에서 문제가 발생하는지 모르시면 전체 재설치를 추천드립니다..ㅎㅎ

#라즈베리파이 #라즈베리파이3B+ #스마트미러 #매직미러 #MagicMirror #모듈설치 #gcc #grpc #오류사전제거 #다운그레이드

참고 :