MESH と LINE Notify を IFTTT を使って連携させる 【LINE Developer Community（ #linedc ） #GWアドベントカレンダー】

この記事は、[ LINE Developer Community の #GWアドベントカレンダー ](https://gw-advent.9wick.com/calendars/18)9日目 の記事です。

## 今回のアドベントカレンダーについて

[@wicket さん](https://qiita.com/wicket)が、GWの10連休中にアドベントカレンダーが利用できるようにと開発された「[GWアドベントカレンダー](https://gw-advent.9wick.com/)」。自分は[10連休中のイベント参加を記録する個人用カレンダー](https://gw-advent.9wick.com/calendars/53)を作ってみたり、その他、2つのカレンダーに登録をしました。

そのうちの1つが今回の記事の登録先、[@shinbunbun_ さん](https://qiita.com/shinbunbun_)が作られた[LINE Developer Communityのカレンダー](https://gw-advent.9wick.com/calendars/18)です。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">LINE Developer CommunityのGWアドベントカレンダーを作成しました〜。<br>LINEのAPIに関する記事ならなんでも！<br>是非一緒にアウトプットしましょう！！<a href="https://t.co/69pxEd2b20">https://t.co/69pxEd2b20</a><a href="https://twitter.com/hashtag/LINE_API?src=hash&amp;ref_src=twsrc%5Etfw">#LINE_API</a> <a href="https://twitter.com/hashtag/linedc?src=hash&amp;ref_src=twsrc%5Etfw">#linedc</a></p>&mdash; しんぶんぶん@時間割bot (@shinbunbun_) <a href="https://twitter.com/shinbunbun_/status/1120675274473893888?ref_src=twsrc%5Etfw">2019年4月23日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

そのカレンダーに登録した記事の内容として、MESH と LINE Notify の連携を試してみます。


## MESH の概要

今回のトピックの1つ、[MESH](http://meshprj.com/jp/) は、ソニーさんが販売している小さなブロック形状の電子ブロックです。

[YouTube の MESH スタートアップガイド の動画](https://www.youtube.com/playlist?list=PLQM9GimvERzs2NZBCkvk33cn4ccKAeEI7)を見ていただくのが分かりやすいです。
その中のリストの2番目、「[2 MESHとは](https://www.youtube.com/watch?v=x11XmLE4pwo)」を見ると概要が分かります。

ブロックは全部で以下の7種類があり、基本的には、それらのブロックとスマホ・タブレット用のアプリを組み合わせて利用します（その他、[IFTTT](https://ifttt.com/)連携や、JavaScriptでオリジナルの処理を作る方法等もあります）。

- [LEDブロック](http://meshprj.com/jp/tag/MESH-100LE-LED.html)
- [ボタン(Button)ブロック](http://meshprj.com/jp/tag/MESH-100BU-Button.html)
- [人感(Motion)ブロック](http://meshprj.com/jp/tag/MESH-100MD-Motion.html)
- [動き(Move)ブロック](http://meshprj.com/jp/tag/MESH-100AC-Move.html)
- [温度・湿度(Temperature & Humidity)ブロック](http://meshprj.com/jp/tag/MESH-100TH-TemperatureAndHumidity.html)
- [明るさ(Brightness)ブロック](http://meshprj.com/jp/tag/MESH-100PA-Brightness.html)
- [GPIOブロック](http://meshprj.com/jp/tag/MESH-100GP-GPIO.html)

自分はこの中のLED、温度・湿度以外の5つを持っていたのですが、2019年の5月4日・5日（土・日）に、京都で開催された Maker Faire で、持っていなかったブロック（＋ GPIOブロック 2つ目）を追加購入しました。

<blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p lang="ja" dir="ltr">こちらが、もともと所有していたMESH。<a href="https://twitter.com/hashtag/MFKyoto2019?src=hash&amp;ref_src=twsrc%5Etfw">#MFKyoto2019</a> <a href="https://t.co/vbOxCn6Fyt">pic.twitter.com/vbOxCn6Fyt</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1125027836362838016?ref_src=twsrc%5Etfw">2019年5月5日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">MESHをついに、コンプリートしてしまった。<br>GPIOは2個目になるんだけど。<a href="https://twitter.com/hashtag/MFKyoto2019?src=hash&amp;ref_src=twsrc%5Etfw">#MFKyoto2019</a> <a href="https://t.co/8t7tYxOw4D">pic.twitter.com/8t7tYxOw4D</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1125027611002826752?ref_src=twsrc%5Etfw">2019年5月5日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

今回、こちらと LINE Notify とを連携させてみようと思います。

## LINE Notify について：情報を探す

[LINE Notify](https://notify-bot.line.me/ja/) について、公式ページの説明を引用します。

>
■ Webサービスからの通知をLINEで受信
　Webサービスと連携すると、LINEが提供する公式アカウント"LINE Notify"から通知が届きます。複数のサービスと連携でき、グループでも通知を受信することが可能です。
>
引用： [LINE Notify のページ](https://notify-bot.line.me/ja/) より

ちょうど、1年前くらいに、天気情報をお知らせする仕組みを試しに作ったことがありました。
<blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p lang="ja" dir="ltr">IFTTTとLINE Notifyの連携ついでに、<br>myThingsも試しました。<br><br>Web版とスマホアプリ版は独立みたいで、Web版はIFTTTより複雑な設定、例えば条件分岐とかもありました。 <a href="https://t.co/YXlztqqpI8">pic.twitter.com/YXlztqqpI8</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/993637149315497984?ref_src=twsrc%5Etfw">2018年5月7日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

今回、MESHと連携させるにあたり情報を探してみたら、[LINEの立花さん（ @stachibana さん）](https://qiita.com/stachibana)が以下の記事を投稿されていました。

- [MESHとLINE Notifyの連携 - Qiita](https://qiita.com/stachibana/items/6c9a9d542d0da5f8f41a)

こちらや Webの情報を見つつ、実際に試してみます。

## LINE Notify との連携に向けたセットアップ

### タブレットアプリの準備

ここでは、スマホ・タブレット用のアプリを利用して、LINE Notify との連携をやってみます。
アプリへのリンクは以下を参照ください（スマホ・タブレット用は、iOS版とAndroid版の両方があります）。

- [MESHアプリ Creative DIY Toolkit｜ソニー](https://meshprj.com/jp/app/)

自分は、[iPad用のアプリ](https://itunes.apple.com/jp/app/id981090691?&mt=8)を利用して進めます。

YouTube の MESH スタートアップガイドの3番目の動画、[「3 セットアップ MESHアプリのダウンロードとインストール」](https://www.youtube.com/watch?v=MPbR5xWftSo)もご参照ください。

インストール完了後にアプリを起動すると、以下のような画面が表示されます（この写真は、インストール後にレシピを3つほど作った後になってますが・・・）。

![59415248_812431772466513_3964093134459109376_n.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/a947e480-034a-9a1f-6876-88e022fe50b9.jpeg)

### ブロックの準備

デバイスとブロックのペアリングを進めていきます。
以下に記載の YouTube の MESH スタートアップガイドの 4〜7番目の動画を参照いただくと良いです。
 ※ 以下のタイトルや動画内ででてくる「MESHタグ」は、現在の「MESHブロック」の旧名称とのことで、適宜読み替えてください

- [4 セットアップ デバイスの設定確認](https://www.youtube.com/watch?v=I-zbxlGge94)
- [5 セットアップ MESHタグの電源確認](https://www.youtube.com/watch?v=G2e2s5kKBC0)
- [6 セットアップ MESHアプリの起動](https://www.youtube.com/watch?v=HeNDDtSIJ4U)
- [7 セットアップ MESHタグのペアリング](https://www.youtube.com/watch?v=LHRlkqcBj9M)

また、ペアリングについて、公式のサポートページの情報も記載しておきます。

>
MESHアプリ上にある登録ボタン(+ ブロック)を押して、MESHアプリをペアリングモードにしてください。
そしてMESHブロック（旧称MESHタグ）の電源を入れ、「MESHアプリを起動している端末」に近づけてください。
>
引用： [ペアリングの仕方を教えてください – MESHサポート](https://support.meshprj.com/hc/ja/articles/212602867-%E3%83%9A%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E4%BB%95%E6%96%B9%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84)

ここまで進めると、アプリ上でブロックを使う準備は一通り完了です。

### 実際に利用してみる

アプリでの使い方について、YouTube の MESH スタートアップガイドの [8番目の動画「8 基本操作 タグ同士をつないでみよう」](https://www.youtube.com/watch?v=fm8s1IS3Qgo)に、ボタンブロックと LEDブロックとを組み合わせた事例が紹介されています。
こちらを見てみると、利用イメージがわくと思います。

## LINE Notify との連携を試す

### MESHアカウントの作成

アプリ上の機能とブロックとを連携させるだけならアカウントがなくても利用可能なのですが、今回、[IFTTT](https://ifttt.com/)との連携をさせるためにアカウントの作成とアプリ上でのログインが必要です。以下、公式ページの引用です。

>
MESHアカウントとは、MESHに関する様々なサービスを利用するためのアカウントです。
MESH SDK、MESHハブ、IFTTTとの連携など、ログインが必要なサービスを利用する際、パスワードなどと組み合わせて入力します。ぜひMESHアカウントを登録して、MESHをお楽しみください。
MESHアカウントの登録は無料です。
>
引用： [MESHアカウントは何ですか？ – MESHサポート](https://support.meshprj.com/hc/ja/articles/115004168413-MESH%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B-)

アカウント登録を行うページへのリンクも、上記のページをご参照ください。

### IFTTT と LINE Notify の利用設定

MESH と LINE Notify とをつなぐやり方として、「MESH と IFTTT」、「IFTTT と LINE Notify」のそれぞれを連携させることにします。これらのアカウント・利用設定ができていない場合は、それらの準備が必要です。

### MESH ⇒ IFTTT ⇒ LINE Notify の連携

まず MESH と IFTTT との連携を進めるための設定を行います。それについては、公式のサポートページを参照ください。

- [IFTTT連携の初期設定方法を教えてください – MESHサポート](https://support.meshprj.com/hc/ja/articles/213673088-IFTTT%E9%80%A3%E6%90%BA%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84)

さらに、IFTTT と LINE Notify を連携させ、MESH でのイベントを IFTTT 経由で LINE Notify に伝える部分は、ASCII.jp の記事と、前述の立花さんが書かれたQiitaの記事をご覧ください。

- MESH と LINE Notify のアカウント間をつなぐ
    - [ASCII.jp：「LINE Notify」でWebサービスからの通知を受信しよう｜LINEを便利にする裏技とTIPS集めました](https://ascii.jp/elem/000/001/684/1684968/)
- MESH・IFTTT上での LINE Notify利用のための設定
    - [MESHとLINE Notifyの連携 - Qiita](https://qiita.com/stachibana/items/6c9a9d542d0da5f8f41a)

IFTTT と MESH 上で作成したアプレット・レシピはこのようになりました。

![IFTTTとMESH.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/2f51a879-a6c3-b304-5a16-e2cd2093640f.jpeg)

### 連携を試したときの挙動

MESH のブロックのボタンが押された時か、動きブロックが振られた時、LINE Notify に通知が送られる、というシンプルな構成のものを試してみました。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">MESH と LINE Notify の連携を試してみた。<br><br>MESH のブロックのボタンが押された時か、動きブロックが振られた時、IFTTT経由で LINE Notify に通知を送るようにしてます。 <a href="https://t.co/92HaiHDbjp">pic.twitter.com/92HaiHDbjp</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1125760925527470081?ref_src=twsrc%5Etfw">2019年5月7日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p lang="ja" dir="ltr">MESH と LINE Notify の IFTTT経由で連携、動画だとスマホの通知で何が表示されているか見えにくかったので、写真も撮ってみました。 <a href="https://t.co/DyDNIP23mW">pic.twitter.com/DyDNIP23mW</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1125762243117797378?ref_src=twsrc%5Etfw">2019年5月7日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## 終わりに

今回、MESH と LINE Notify との連携を試しました。
（新しく入手したブロックの活用をしたかったけど、以前から持ってたやつを使っただけになってしまった・・・）
MESHでできることは、今回試したこと以外に SDKの利用など様々あるので、色々と試していこうと思います。


## 余談など

MESH の追加購入を行った、Maker Faire Kyoto 2019 の会場にて、某名探偵っぽくなることができました（笑）

<img width="516" alt="メガネ.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/08723bdc-c604-440d-0167-613cafb1c7af.jpeg">