Arduino MKR WiFi 1010 で始める Arduino IoT Cloud【その4：Webhook をお試し（IFTTT を利用）】

Arduino MKR WiFi 1010 を入手してから以下の 4つの記事を書き、この記事が 5つ目になります。

- [Arduino MKR WiFi 1010 で始める Arduino IoT Cloud【下準備編】 - Qiita](https://qiita.com/youtoy/items/930f0e05302785856366)
- [Arduino MKR WiFi 1010 で始める Arduino IoT Cloud【その2：ダッシュボード連携編】 - Qiita](https://qiita.com/youtoy/items/e247056e1696161ebba1)
- [Arduino Cloud と Arduino IoT Cloud などの情報を整理してみる【未完】 - Qiita](https://qiita.com/youtoy/items/7885aa0e85e1dbf78cdc)
- [Arduino MKR WiFi 1010 で始める Arduino IoT Cloud【その3：Alexa連携編】 - Qiita](https://qiita.com/youtoy/items/03692eff53a27f919cbe)

今回は、Webhook を試してみます。

## Webhook に関する情報
Arduino IoT Cloud の Webhook について、Arduino Help Center にはいくつかのページがあります。
以下は、その中の一部です。

- [Available Webhook Platforms – Arduino Help Center](https://support.arduino.cc/hc/en-us/articles/360016119339-Available-Webhook-Platforms)
- [How to integrate the Arduino IoT with IFTTT – Arduino Help Center](https://support.arduino.cc/hc/en-us/articles/360013896199-How-to-integrate-the-Arduino-IoT-with-IFTTT)

この情報を参考にしつつ、[Alexa連携について書いた記事](https://qiita.com/youtoy/items/03692eff53a27f919cbe)で用いた仕組みを流用して、Webhook を試してみます。
Webhook　を受ける側のサービスには [IFTTT](https://ifttt.com/) を使って試します。

## Webhook を使ってみる
### IFTTT の設定
IFTTT で、Webhook から LINE Notify につなぐ構成のアプレットを作成します。
![IFTTTのアプレット.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/76c11bb3-fa00-6499-0ebf-f30b272a45c2.jpeg)

Webhook を選んだ画面で、以下の 2つの選択肢が表示されましたが、ひとまず左側のほうを選んで進めました。
![IFTTTのWebhookの種類](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/58757b0a-205d-cbc8-491b-fbace6e492fb.jpeg)

Webhook のイベント名は「arduino_ifttt」という名前にしました。
その場合、このアプレット用の Webhook の URL は、以下のようになると思います。

`https://maker.ifttt.com/trigger/arduino_ifttt/with/key/【固有のキー】`

この URL を Arduino IoT Cloud で設定していきます。

### Arduino IoT Cloud　で Webhook を設定する
登録したデバイスのトップページの左下に「Set webhook」と書かれて部分があるので、ここを選択します。
![Webhookの設定.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/3948d136-3f48-351d-b794-16d50b229fef.jpeg)

選択後に表示される以下の画面で、IFTTT の Webhook用の URL を設定します。
![URLの入力.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/d35a397f-638b-037f-eaf5-80410deb7d5c.jpeg)
その後、画面右下にある「SET WEBHOOK」と書かれたボタンを押してください。

そうすると、以下の画面が表示されます。
![URL設定後の画面.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/085bc163-9bdd-4af3-ac7f-657b20320cdd.jpeg)

これで設定は完了です。

### Webhook を使った仕組みを動作させる
[Alexa連携について書いた記事](https://qiita.com/youtoy/items/03692eff53a27f919cbe)で用いた仕組みを流用したので、Arduino IoT Cloud のダッシュボード上のスイッチウィジェットを操作するか、Alexa の定型アクションを動作させることで、イベントを発生させられます。

以下の画面は、Arduino IoT Cloud のダッシュボードでスイッチウィジェットの ON/OFF の操作を 1回ずつ実行した後の、LINEアプリ上の表示です。
![LINEの画面1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/aa754900-40a6-742a-ebf5-5e790ffce33f.jpeg)
現状、1回の操作で 2回分のメッセージが送られているように見えるのですが、原因は調査中です。

以下は、Alexa の定型アクションで ON/OFF の操作を 1回ずつ実行した後の、LINEアプリ上の表示です。
![LINEの画面2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/a55da9df-7dbc-2673-3873-8c3002613750.jpeg)
やはり、2回分のメッセージ送信が行われてる...

## まとめ
Arduino IoT Cloud の Webhook を試してみました。

現状では 1回のイベント発生で 2回分のメッセージを送る動作をしているようなので、そのあたりの原因は別途、確認できればと思います。

## 【追記】
後で知ったページ。

●Webhooks with Arduino IoT Cloud | Arduino Documentation | Arduino Documentation
　https://docs.arduino.cc/cloud/iot-cloud/tutorials/webhooks