アラーム機能を作成します。
時刻を設定すると、直近の設定した時刻になると「時間です。」とお知らせする機能です。
今後は、時間になると音楽を再生したり、録音した音声ファイルを再生したりとアラーム機能を充実させていきますが、まずは、基本的な時間になるとお知らせしてくれる機能を作成します。
プログラムの流れとしては、下記のフローチャートの通りです。(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はフローチャートのピンクのボックスの処理になります。
※「アラームセット」と発声し、アラームを設定した時間に「時間です。」とロボット発声したら成功です。
前の投稿/次の投稿/メニューページへ戻る