Help us understand the problem. What is going on with this article?

Gmail送信をワイヤレスボタンで実行する

More than 1 year has passed since last update.

以前に、Slackとワイヤレスボタンで「呼び出しシステム」を作ってみた!を投稿しましたが、利用者側がslackなどを使用できない場合も多いと思います。そこで今回は通知方法を一般的なEmailにしてみます。

image.png

今回は、ホワイトボードマーカーが切れた場合の総務へのメール通知をボタン操作で行うことを想定しています。
メール本文には、ボタンを押した時間が記載されるようにします。

【タイトル】マーカーの交換
【本文】 ボタンを押した時間 + ホワイトボードマーカーを交換してください。
     (例:15:40 ホワイトボードマーカーを交換してください。)

使用したもの

ハードウェア

  • Windows 10 PC(バージョン1809)
  • Gravioレンタルデバイス
    • Gravioワイヤレススイッチ(ワイヤレスボタンスイッチ)

ソフトウェア

  • Gravio
    • Gravio Studio Ver.2.2.2111.0
    • Gravio Server Ver.2.2.2354.0

サービス

  • Gmail

事前準備

Gmailアプリ用パスワードの取得

GravioはGmailの2段階認証プロセスに対応していないため、アプリ用パスワードの取得が必要です。
パスワードの取得方法は以下のとおりです。

  1. Gmailアカウントページを開く
  2. ’セキュリティ’>’アプリ パスワード’の順でクリック
  3. 生成するアプリとデバイスを任意で選択し、"生成"をクリック
  4. 表示されたパスワードをメモ

メールアドレスとメモしたパスワードを使用して、Gravioで設定をしていきます。

Gravioの設定

Gravioの設定は以下の3STEPです。

  1. ワイヤレススイッチの設定
  2. メールを送信する設定
  3. スイッチが押されたタイミングで2.が動作するように設定

まずは、ワイヤレススイッチの設定をします。

ワイヤレススイッチの設定

こちらを参照し設定を進めます。

ワイヤレススイッチのLEDがチカチカっと光り、下記画面が表示されることを確認します。
センサーペアリング

これで、Gravioとワイヤレススイッチが接続されました。

センサーの登録

次にワイヤレススイッチをデータ収集対象として登録します。

  1. エリア・レイヤーを登録する
    画面右上の”+”ボタンをクリックし、エリアを作成します。
    エリアを作成すると自動的にレイヤーが作成画面が表示されるので、SENSING DEVICE TYPEにAqara-WirelessSwitchを選択します。

  2. レイヤーにデバイス(センサー)を登録する
    一番右のデバイスウィンドウの左上の”+”を選択し、デバイスを追加します。
    デバイスのスライドボタンをONにすることで、データの収集が開始されます。

ここまでの設定で、スイッチが押された時にデータを収集できるようになりました。

メールを送信する設定

アクションカードを作成し送信するメール内容を設定します。

ステップの追加の"+"をクリックし、"SendMail"コンポーネントを選択します。

image.png

プロパティに以下の内容を設定します。

項目 内容
基本プロパティ設定を使う チェックを外す
件名 マーカーの交換
本文 ToStringFromDateTime(ToLocalTime(Now()),"HH:mm")+" ホワイトボードマーカーを交換してください。"
受信先 宛先メールアドレス(任意)
送信元 送信者の名前(任意)
送信元ユーザー名 Gmailアカウント
パスワード 事前準備でメモしたパスワード
SMTPサーバー smtp.gmail.com
ポート番号 465
SSL チェックを入れる

image.png

ToLocalTime(Now())は、Gravio Serverが動作しているPCのLocaltimeで表示することができます。
こちらの関数を使用しない場合は、UTCの時刻が表示されます。

以上で、メールを送信する設定が完了しました。

動作の確認は、右上の矢印をクリックすると動作が確認できます。

動作タイミングの設定

スイッチを押したタイミングで動作するように、動作タイミング(トリガー)を設定します。
トリガータブを表示し、右上の"+"をクリックし、新規トリガーを追加します。
トリガーの各項目は以下のように設定します。

項目 設定値
トリガー名 (任意)
エリア 設定したワイヤレススイッチのエリア
レイヤー 設定したワイヤレススイッチのレイヤー
アクション名 作成したアクションカード名
送信元ID 空白
Interval 5(任意)
Classic/Threshold Trigger Classic Trigger
Button Press Single press

image.png

以上ですべての設定が完了しました。

動作確認

スイッチを押すとメールが届きます。

image.png

あとがき

スイッチを押して、ホワイトボードマーカー切れをメールで通知してみました。
今回はメール送信のみのアクションでしたが、音声による通知や照明を点灯させて通知といった他の通知方法を追加することができます。
簡単に拡張できるので、ぜひいろいろ試していただければと思います。

【参考】
他のメールクライアントでGmailを使用する方法

2段階認証ができないアプリケーションでGmailを使用する方法

mikawan
全国ネットワークの構築をやっています。本職のお話はあまり出せませんが少しずつクラウドプラットフォームを使ってやってみたいことをやって、記事にしてあげていこうと思います。 前職はIoTデータを収集したり、データを連携させたり、BI化してみたり、色々なアプリケーションを使用していました! これからは、WEBサイトを自分で作ったりして遊んでみたいと思います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away