5.4.12.アラーム機能の追加

アラーム機能を作成します。

時刻を設定すると、直近の設定した時刻になると「時間です。」とお知らせする機能です。

今後は、時間になると音楽を再生したり、録音した音声ファイルを再生したりとアラーム機能を充実させていきますが、まずは、基本的な時間になるとお知らせしてくれる機能を作成します。

プログラムの流れとしては、下記のフローチャートの通りです。(flgチェックの分岐でalarm以外の分岐は省いています。)

1)Dialogflowの設定

下記の表に従ってIntentesとEntitiesを作成してください。

2)修正および作成するプログラム以下の通りです。

①[BrainAction.py](既存)

②[NagoRobo_Main.py](既存)

③[TextToDate.py](新規)

④[Alarm.py](新規)

⑤[AlarmList.json](新規)

3)TextToDate.pyについて

アラームのセットは音声で行います。処理ステップとして音声はテキスト化されます。想定している音声の時刻は「12時15分」といった形式となります。プログラムでは、アラームの時刻を日付型で取り扱いますが、「12時15分」という形式のデータを日付型のデータに直接変換する関数がpythonでは用意されていません。そのため、この形式のデータを日付型へ変換する為のプログラムを用意しています。

例:12時15分

      ⇩ 変換

  12:15:00               ⇦ 日付型データ

TextToDate.py

※TextToDate.pyはフローチャートの黄緑のボックスの処理になります。

4)AlarmList.jsonについて

設定された時刻データは「AlarmList.json」にjson形式にて登録していきます。

AlarmList.json

4)Alarm.pyについて

Alarm.pyはアラーム機能の核となるプログラムです。

「アラームセット」、「指定した時間のアラームデータの削除」、「指定したシーケンスNOのアラームデータの削除」、「指定した時刻のアラームデータのシーケンス番号の配列を返す」、「アラームチェック」の5つの関数を作成しています。

 

Alarm.pyはフローチャートのピンクのボックスの処理になります。

 

※「アラームセット」と発声し、アラームを設定した時間に「時間です。」とロボット発声したら成功です。

前の投稿/次の投稿/メニューページへ戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です