2021年4月20日火曜日

2021/04/20

 

3-4限

今日は、LINE班とGoogleHome班でお互いの進み具合を確認した後、作業に取り掛かりました。

【GoogleHome班】

血圧を記録したいときに

if (req.queryResult.intent.displayName == 'ketsuatsu') {
text = '今日の最高血圧'+ parameters['systole.original'] +
'、最低血圧'+parameters['diastolic.original'] + 'を記録しました。';

「上150、下80」→「今日の最高血圧〇〇、最低血圧△△を記録しました。」

身長・体重を記録したいとき
else if (req.queryResult.intent.displayName == 'sintai') {
if (parameters['height.original'] == ''){
text = '今日の体重'+ parameters['weight.original'] +'キロを記録しました。';
}else if(parameters['weight.original'] == ''){
text = '今日の身長'+ parameters['height.original'] +'センチを記録しました。';
}else {
text = '今日の体重'+ parameters['weight.original'] +'キロ
、身長'+parameters['height.original'] + 'センチを記録しました。';
}
}
「身長154、体重50」→「今日の体重50キロ、身長154センチを記録しました。」 身長のみ、体重のみの場合は「今日の身長154センチを記録しました」「今日の体重54キロを記録しました。」とスピーカーが答えてくれます。


 

【LINE班】

QRコードの読み取り機能を作成(お薬QRコードサンプルを参照)
1.まず、QRコード内にどんな情報が格納されているかを確認した。 2.次に、QRコードのデータ配列を、プログラムで使えるjavascriptの配列に変換できるようにした。 2-1.複数のQRコードに分かれたデータを1つにマージしたものを用意する。   今回はプログラムに直接書き込むので、各一行ごとに「'」で囲み、次行とを「,」で区切った。
     (TeraPadを活用)  2-2.2-1で作成したデータをGASに書き込み、プログラム上で実行しログを確認した。    const obj = barcode2obj(lines);  Logger.log(JSON.stringify(obj,null,' ')); 3.プロジェクト上で実行し、必要な情報が配列から取り出せることを確認した。 例:Logger.log(JSON.stringify(obj.patientInfo.No1.name,null,' ')); と記入したら、
 名前のデータが返される。
次回は、LINEのメッセージでQRコードのデータを送信した時、Googleスプレッドシートへ保存できる
仕組みを開発していきたいと思います!!

2021年4月14日水曜日

2021/4/14

 まず初めに、ユースケース「薬の情報を閲覧する」について話し合いを行いました。これですべてのユースケース記述が完了!いよいよ開発の方に本腰を入れていきます。

 また、リッチメニューのデザインについても定まり、システムの外観のイメージがはっきりとしてきました。しかし1番重要なのは中身。これからの活動にますます力が入ります。

▼今まで作成したイラストたち


------------------------------------------

 LINE班とGoogle班に分かれての活動も、コツコツと進んできております。

少しずつ理解を深めながら、完成時のシステムをイメージしつつ作業中です。

いろいろデモ版を試しつつ、完成目指して頑張りましょう!


LINE班

テンプレートメッセージのボタンとカルーセルを作成した。ボタンやカルーセルのカラムの画像には「くすりのしおり」の薬の画像を表示してみた。

また、ボタンをタップするとGoogleカレンダーのURLへ分岐するようにしてみた。このように、しばらくの間はユーザインターフェースを設計するため、Look&Feelを試しながらプロトタイプを作ってみることにする。

Google Home班

DialogflowとGoogle Assistantの統合を一通り作ってみたので、今度はこれを応用して血圧入力のIntentを作ってみる。

2021年4月6日火曜日

2021/4/6

 3限

前回に引き続き、以下のユースケースについて考えました。

・服薬指示を通知する

・服薬完了を通知する

・服薬完了を家族に知らせる

この3つは一連の流れになっているので別々にユースケースを考えるのが難しかったです。

ユースケース記述も残り1つなので着々と進んでいます。


4限

やっとシステム開発に入りました!

LINE班とGoogle Home班に別れて作成していきます。

Google Home班ではいきなりテスト画面のテキストボックスが出てこないというトラブルが発生しました。先生がやってみるとうまくいったようですがなぜ出てこなかったのかは原因不明のようです…。次回もう一度やってみます。


LINE班

Programming TipsのLINEの記事Webhookに従ってLINE公式アカウントアプリの基本構造を実装した。また、クラスResponseを使ってテキストメッセージスタンプメッセージ画像メッセージなど、Messaging APIで送出できる基本的なメッセージを作成した。次回は、テンプレートメッセージボタンテンプレートカルーセルテンプレートを作成する。

また、リッチメニューは「リッチメニュー画像の作り方から設定方法まで!」に従って作成する。

Google Home班

Google Homeで動作するアプリ(Googleアシスタントアプリ)を作成するために、Actions on Googleというツールを使用する。また、Google Homeに話しかけた会話を自然言語解析するツールとしてDialogflowというツールを使用する。そのためにProgramming TipsのDialogflowとGoogle Assistantの統合の記事に従って設定を行った。

ところがプロジェクトを作成し、DialogdlowとGoogleアシスタントを統合しようとすると、何故か、図4-3「Googleアシスタント統合設定画面」で「Auto-preview changes」が表示されず、スイッチをオンにできなかったため、Action on GoogleとDialogflowの連携ができなかった。そのため、図4-5「テスト画面」で入力テキストボックスが表示されず、テストを実行できない。

何故このようなことになったのか現時点では原因は不明だが、もう一度最初から手順を踏み、図4-1「デフォルトの挨拶インテントの修正」のResponsesを修正する際に「DEFAULT」タブ右横の「+」ボタンをクリックして「GOOGLE ASSISTANT」を追加したら、今度はうまく連携ができた。ただし、これが原因かどうかはわからない。