おつかれさまです。
金融業界で長年働いている事務員兼主婦です。
前回は覚えたてのLINE Botでシフト勤務を確認できるBotを作りました。
Let'sチャレンジ!LINE Botでアルコールチェック判定
職場では同じフロアに営業担当者もいるので、外出時には安全運転管理としてアルコールチェックをしているのを見かけます。現在はシステム管理となりましたが、目視での第3者チェックが必要なため、今回はTeachableMachineとNode-REDを使用してアルコールチェックが判定できるBotにチャレンジしてみました。
試作品
残念ながらまだ正確な判定までには至らず。
使用ツール
・Teachable Machine
https://teachablemachine.withgoogle.com/
・Node-RED
https://nodered.org/
・LINE Bot
https://developers.line.biz/
・LINE Developers
製作開始
1. Teachable Machineによる画像判定
詳しい使い方は下記の記事を参考にしました。
今回は画像パターンを使い、class名は3種類「緑 運転OK」「黄 要確認」「赤 運転NG」にしてみました。
2. Node-REDを作成
各ノードの設定を表示(折りたたみ)
①webhook
Pathは/webhook
にします。
②http request
URLは下記を入力します。
https://api-data.line.me/v2/bot/message/{{{line.event.message.id}}}/content
認証を使用
にチェックを入れ、種別はBearer認証
を選択します。トークーンにはLine-DevelopersのMessaging API設定から、チャンネルアクセストークンをコピーして貼り付けます。
最後に出力形式はバイナリバッファを選択してLINE画像の送付準備は完了しました。
④TeachableMachine
Urlには自分がアップロードしたTeachable MachineのデータセットのURLを入れてください。その他の項目は、下記画像の通り設定します。
⑤temple
テンプレートに結果は「{{payload.0.class}}」です。
を貼り付けます。
⑥Reaply
SecretはLINEのチャネルシークレットを貼り付け、
Access TokenはLINEのチャネルアクセストークンを貼り付けます。
3. LINEの設定
LINE Messaging APIのwebhook設定時、Node-REDのURLはcloudの後ろに/webhook
を付ける必要があります。
例:https://team-ユーザー名-75c●●●●●.flowfuse.cloud/webhook
以上で設定完了です。
引き続きチャレンジ
ここまで到達する間にNode-REDのサーバーと接続できないエラーが頻発して、別な方法でも試してみましたが、どちらも微妙な応答でしたあまり飲まないお酒を飲んで頑張ったのですが・・・。おそらくTeachableMachineへの機械学習(画像&色別)が足りなかったのかもしれません。今度は無理せず体温計で試してしてみたいと思います社内ではアルコールチェックがシステム管理となったものの、第3者の目視確認が必要な部分においてはアナログだったので解消されます。しかし、実際に職場では数値表記のアルコールチェックだったので、再度そちらにもチャレンジしていきたいと思います。引き続き、完成に向けて頑張ります
参考資料
ここまでお付き合い頂きありがとうございました。