3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoogleNestHubとNode-REDで強制英語リスニング環境を作る

Posted at

はじめに

やりたいこと

  • すぐに英語の勉強をサボるので、昔買った英語教材のDUO3.0が家にいる間はエンドレスで流れてほしい
    (笑)
  • 勉強中のNode-REDとGoogleNestHubも活用したい

Node-REDのまとめ記事

動作環境

RaspberryPi : 3
Node-RED: v19.4
raspbian : 9.8

本編

全体構成

  • まず、全体構成は以下のとおりです

abstract.png

前提

  • ラズパイとセンサー(HC-SR501 Infrared PIR Motion Sensor)を持っている
  • Google Nest Hubを持っている
  • DUOの教材を持っていて、セッションごとに音声データを結合して管理している
    • これが一番つらいかな・・・ セッションごとでなくても音声データが取り出せていれば大丈夫です

フロー

flow.png
ファイル場所や認証情報などが含まれるため公開ができません。すみません。
再生中は、別の音声が割り込まないように、一旦状態を取得し、音声が再生されていないことを確認してから動作するようにしています

  • 人感センサー
    • GPIOを使って、特定のポートに刺してあるので、その値を指定します
  • パラメタ設定
    • センサーの立ち上がり0から1だけに反応
    • 8時から22時までに反応
      • 夜中トイレに立ったときに動いたら困るのでw
    • 乱数を使って再生するファイルを決める
  • 状態を取得
    • IPをGoogle Nest Hubのものにして、msg.statusをtrueを設定します
  • Google Nest Hub (Nextは誤字)
    • node-red-contrib-castを利用
  • 再生されていない
    • msg.payload.application[0].statusTextが空かDefault Media Receiverのときに再生可能とする
    • 再生中はファイル名が入るようです。また再生が終わってから少しの間はDefault Media Receierになるっぽいので、これも再生可能状態とみなします
  • 再生データのパラメタ
    • msg.data,msg.payload,msg.statusを消します
    • contentTypeにaudio/mp3を指定し、IPなど必要な情報を設定します
  • Google Nest Hub (Nextは誤字)
    • node-red-contrib-castを利用
  • msg.payload
    • デバッグノードで情報を出力

イメージ

disp.JPG

結果

  • ちゃんと音声を読み上げてくれる
  • 検証の過程で動画も流せることがわかったので、あとは、レスポンシブルな画面とかを作れるようになったら最強だなぁ

## 最後に

  • 英語の成績が上がるかどうかは保証できません(笑)
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?