AIでHand Gesture対応のスマートミラー! – 作成編 –

12月 5, 2020

複数記事に分けて解説しています.

AIでHand Gesture対応のスマートミラー! – 機能とセットアップ –
AIでHand Gesture対応のスマートミラー! – 作成編 –
AIでHand Gesture対応のスマートミラー! – 検証編 – 

スマートミラー作成 – ハードウェア編 –

スマートミラーのコンセプト

ディスプレイをマジックミラーという10-30%程度の透過率のある鏡で覆うことで, 鏡の前に立った人物を反射しつつ, ディスプレイの内容も伝えることができるようにしています.

ディスプレイの用意

鏡に情報を映すのに用いるディスプレイを用意します. 今回は買い替えに伴い, 不要になったテレビを使用しました. 32型の大きさに合わせて397mm×706mm×3mmの形状のマジックミラー(エッジ処理 : 角磨き仕上げ)を注文しました.

木枠の作成

お好みで木枠を作成してください. 今回はホームセンターで買った木の板をその場でカットしてもらったものを使用しました.

スマートミラーの設置

ラックやテレビの壁掛け等を用いてスマートミラーを設置します.

カメラの用意

PCとUSBカメラをつなぎます. スマートミラーの近くで, ジェスチャーが見やすい位置にカメラを設置してください. 必要であれば, USBの延長ケーブルを使うといいと思います.

スマートミラー作成 – ソフトウェア編 –

PC側

まずはPC側の準備をします.

# get sources in PC
git clone https://github.com/tech-life-hacking/SmartMirror.git

# edit sources
nano mainPC.py

# replace IPAdress to yours
# s.connect(('YourIPAdress', 50007))
s.connect(('***.***.***.***', 50007))

Raspberry Pi側

次にRaspberry Pi側の準備をします.

# get sources in Raspberry Pi
git clone https://github.com/tech-life-hacking/SmartMirror.git

# edit sources
nano mainRaspberryPi.py

# replace BLYNK_AUTH to yours
# BLYNK_AUTH = 'YourBLYNK_AUTH'
BLYNK_AUTH = '********************************'

# replace IPAdress all to yours
# s.bind(('YourIPAdress', 50007))
s.bind(('YourIPAdress', 50007))

# change YourPlaylist to yours
# dataPlayload0 = '{"type": "playlist", "listType": "playlist", "id": "YourPlaylist", "shuffle": "true", "loop": "true", "autoplay": "true"}'
dataPlayload0 = '{"type": "playlist", "listType": "playlist", "id": "**********************************", "shuffle": "true", "loop": "true", "autoplay": "true"}'

ここまで用意ができればソフトウェアを実行してください.

# Execute script in Raspberry Pi
python3 mainRaspberryPi.py

# Execute script in PC
python mainPC.py

カメラの前でジェスチャーをしてみてください.

ディスプレイのON / OFFをする場合は上図のように"パー"の形にしてください.

YouTubeのPlay / Pauseをする場合はディスプレイがONのときに, 上図のように"チョキ"の形にしてください.

複数記事に分けて解説しています.

AIでHand Gesture対応のスマートミラー! – 機能とセットアップ –
AIでHand Gesture対応のスマートミラー! – 作成編 – 今ここ
AIでHand Gesture対応のスマートミラー! – 検証編 – 次