今回は、物体との距離をLiDAR技術により計測できるディスタンスセンサーを活用したソリューションを構築したいと思います。このソリューションでは、ディスタンスセンサーによって、残りのトイレットペーパーの数を推測し、なくなりそうになった時にLINEに通知します。
今回は専門知識がなくてもノーコードでAI/IoTを構築できるミドルウェア「Gravio」を使用しました。Gravioを使えば、プログラミングのコードを書く必要もなく、大学生のインターン生である私でも1人で簡単に実装できました。
作業はGravioの公式ブログを参考にしながら進めていきます。
・Gravio 公式ブログ第1弾
・Gravio 公式ブログ第2弾
・Gravio 公式ブログ第3弾
流れは以下の通りです。
1.Gravioの環境を構築してPCから取得データを確認
2.アクションの設定
3.トリガーの設定
ちなみに、私がGravioを使うのは「顔認証カメラAIによる来客者/社員のSlack通知」と「顔認証カメラAIによるオフィスの入退室検知」に続く3回目です。気になる人は以下の記事もあわせてチェックしてみてください!
トイレットペーパーとセンサーを向かい合わせて距離を計測
今回はまず、公式ブログ第1弾を参考にして「Gravio Studio 4」と「Gravio Hubkit 4」をインストールします。ブログではCO2センサーをペアリングしていますが、今回はディスタンスセンサーをペアリングしました。
レイヤーの設定では「Gravio Distance」、デバイスの設定では「GRAVIO LASER」を選択します。
このようにトイレットペーパーとセンサーを向かい合わせておくと、距離を計測できます。トイレットペーパーとセンサーを向かい合わせているのは少し変な絵な気もしますが、間違っていません!(笑)
デバイスをオンにするとすぐに「データビューア」からデータを確認できました。ディスタンスセンサーを使うのは初めてだったので「データの確認までに少し時間がかかるかもしれない」と思っていたのですが、まったく試行錯誤は必要なくすぐに終わりました!
トイレットペーパーとの距離が大きくなったらLINEに通知
次にトリガーの設定をします。ここでは公式ブログ第1弾と公式ブログ第3弾を参考に進めます。
今回は、トイレペーパーが減ると、センサーとトイレットペーパーの距離が大きくなるという現象を利用して、「センサーとトイレットペーパーの距離がある値より大きくなったらアクションをおこす」トリガーを設定していきます。
まずは、ブログを参考にアクションを追加します。
今回はアクション名を「distance」としました。
センサーで取得したデータの通知は会社のオフィス内ではSlack、自宅の家族内ではLINEのように、普段から使っているツールにあわせられるのがGravioの便利なところだと思います。今回は自宅なのでLINEでの通知を選びました。
順番が変わりますが、公式ブログ第3弾を参考にLINE Notifyにログインをし、トークンを取得します。公式ブログ第2弾に戻り、アクションを追加します。
今回は「LIINE Notify」を追加します。
メッセージは「トイレットペーパーが不足しています!」とし、トークンはLINE Notifyで取得したものを入力します。
また、今回はメッセージと一緒にスタンプも送ってみます。好きなキャラクターのスタンプを送るなどのアレンジも可能なので、とても便利だと思います。
まずは、こちらのサイトで送りたいスタンプの「パッケージID」と「スタンプID」を取得します。
次に、画像のようにアクションの設定画面で取得した「パッケージID」と「スタンプID」を入力することで、メッセージとともにスタンプも送られます。
以前、Slack通知の設定をした際と比べると、作業に大きな違いはありませんが、Slackの際はIVARなどの設定が必要でした。今回はGravioとセンサーの設定のみだったので楽だと感じました。
最後にトリガーの設定をします。公式ブログ第2弾を参考に、トリガーを追加します。
「アクション名」や「タイマー名」は何にしても問題ありませんが、わかりやすい名前にしたほうが良いと思います。トイレペーパーが減ると、センサーとトイレットペーパーの距離が大きくなるという現象を利用して、センサーとトイレットペーパーとの距離がこの値よりも大きくなった時に通知が届きます。
今回はセンサーとトイレットペーパーの距離が0.2mよりも離れたら通知するという条件に設定しました。ちなみに、距離を0.2mに設定したのはもっとも撮影しやすい位置だったからです。
以上で設定が完了したので、LINEを見てみましょう。無事、通知が来ているでしょうか?
見事、LINEにメッセージとスタンプの通知が来ました。トイトットペーパーの残りが少なくなってしまった際の通知なので、笑顔のスタンプよりも困っているスタンプが良いかなと思い、このスタンプを選びました。普段、記事を見てもらっている上司にも「トイトットペーパーが少なくなる絶望的な状況とスタンプがあっていて良い」と言ってもらえました(笑)。
インターン生でも1人で簡単に実装できた
今回は、Gravioを使い、ディスタンスセンサーを活用したソリューションを実装してみました。設定は簡単で、インターン生の私でも1人で実装できました。
今回実装したものと同じシステムをプログラミングを駆使して構築すると、かなりの知識が必要になると思います。しかし、Gravioだと、このようなシステムをノーコードで簡単に実装できるので便利だと感じました。
そのうえ、私はこれまでに2回Gravioを使った経験があるので、操作が共通している部分も多く、なおさら楽だと感じました。私のように1度でもGravioを使ったことがあれば、なおさらスムーズに設定ができると思います。
結果、今回の「ディスタンスセンサーによって、残りのトイレットペーパーの数を推測し、なくなりそうになった時にLINEに通知」のように、アイデア次第ではかなり応用が効くと思います。
たとえば、今回の実装はオフィスにおいては、ウォーターサーバーやコピー用紙のストックを把握したり、宅配便の送付伝票予備の在庫有無を確認したりする場面に導入することで、総務業務の負担軽減につなげられます。
興味のある人はぜひGravioの公式サイトを見てください。