メインコンテンツまでスキップ

赤外線学習リモコンR2-D2

旧 赤外線学習リモコンR2-D2では音声認識にJuliusを使っていたが、チューニングの問題なのか、精度が出なかった。

そこで、今回は音声認識にGoogle Home Miniを使うように変更する。

また、ついでなので、下記も実施する。

  • 外装をよりいいものに交換する。
  • 頭部が回転するようにする。
  • テレビについては、赤外線ではなく、ネットワークで操作するように変更する。

必要なもの

ハードウェア

項目説明
Raspberry Pi名刺サイズの超小型コンピュータ。&br;今回は手元にあったRaspberry Pi 2 Model Bを使用しました。&br;これから用意する方は、Raspberry Pi 3 Model Bがよいと思います。
irMagicianWindows、Mac OS X、Linux、Androidなどで使える小型赤外線リモコンアダプタ。
フレキシブル型USBケーブル TM-microUSB-FRaspberry PiとirMagicianを接続するために使用しました。
USB延長ケーブル スタンド付 BSUC05EDBKフレキシブル型USBケーブルを立てるために使用しました。
Google Home音声コマンドで操作できるようにするため。&br;今回はGoogle Home Miniを使用しました。
Bluetoothアダプター USB-BT40LEGoogle Home MiniからBluetooth経由で音声を出力するために使用しました。
フルカラーシリアルLEDテープWS2812S(NeoPixel)というマイコン内蔵LEDをテープ上にしたものです。つながったままでも、1個ずつ切り離しても使えて便利です。&br;秋月電子通商などでも同様のものを販売しています。
TXB0104搭載電圧レベルシフタ信号の電圧レベルを変換するもの。Raspberry PiのGPIOは3.3V、WS2812Sの動作電圧は5Vのため、使用します。&br;目的が果たせれば他の製品でも構いません。
ブレッドボード用マイクロBメスUSBコネクタDIP化キットWS2812Sを光らせるための5V電源を手軽に得るために今回はUSBハブから電源を取ることにしました。
サーボモータ MiniS RB303cR2-D2の頭部を回転させるため。
すきまテープサーボモータの回転を受け止めてR2-D2の頭部に伝えるレールとして使用しました。
R2-D2型ポップコーンバケットディズニーランドで売っているもの。回路全体を格納するために使用しました。

利用したソフトウェアなど

  1. Google Home内蔵ソフトウェア
  2. IFTTT
  3. Python2のSimpleHTTPServerをベースに開発した専用HTTPサーバ。
    1. HTTPでのリクエストを受け付け、サーボモータの制御、音声の出力、LEDの点灯、テレビ(BRAVIA)の操作(SOAPリクエスト)、他家電の操作(赤外線の送信)を行います。

手順

次の手順で進めました。

  1. Raspberry PiへのOS(Raspbian)のインストール
  2. irMagicianのセットアップと動作確認 ⇒こちらをご覧ください。
  3. Raspberry PiからGoogle HomeへのBluetooth接続、音声出力確認
  4. SOAPリクエストによってテレビ(BRAVIA)を操作できることの確認
  5. 外装(R2-D2型ポップコーンバケット)の加工(切断、穴あけ加工) ⇒こちらこちらをご覧ください。
  6. マイコン内蔵LEDの回路の製作、RaspberryPiへの接続、外装への固定、動作確認 ⇒こちらをご覧ください。
  7. サーボモータのRaspberry Piへの接続、外装への固定、動作確認 ⇒こちらをご覧ください。
  8. 専用HTTPサーバの開発 ⇒こちらをご覧ください。
  9. ポートの開放
  10. IFTTTの設定 ⇒こちらをご覧ください。

関連

参考