Inosensor ES Devkitを使ってみた！ ④（Sigfox CallBacks入門編）

# Inosensor ES Devkit って何？

Inosensor ES Devkit は、Sigfox無線モジュール搭載の小さな基板です。

![img-inosensor-ES-Devkit.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/e68bbc30-f60e-045b-4baa-ec69bcb479aa.jpeg)

今回は、Sigfox CallBacksに挑戦したいと思います！

## Sigfox CallBacksって何？

Sigfoxデバイスから送信されたメッセージを、Webサーバーやメールなどに転送する仕組みです。他のサービスで言う、Webhookと同じようなものです。

これを使うことで、Inosensor ES Devkitからのメッセージを利用して様々なWebサービスと連携することができます。

## 早速やってみよう！

まずは、[Sigfoxのバックエンド](https://backend.sigfox.com/)にログインします。

![スクリーンショット 2020-09-26 23.16.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/d6315134-6694-a6f4-27c0-91e2460e677d.png)

上のメニューからDEVICE TYPEを選択して、デバイス一覧を表示しましょう。自分が持っているデバイスが表示されるので、Inovation-Farm_Devkit_1を選択します。

![スクリーンショット 2020-09-26 23.17.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f21dc61d-7386-ddb7-1602-c7a0287d97e6.png)

左側のCALLBACKSを選択すると、コールバック一覧が表示されます。今はまだ、何もコールバックを登録していない状態です。

![スクリーンショット 2020-09-26 23.17.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/cb211465-b00b-dda5-13aa-073732c007b6.png)

右上の「New」を押すと、New Callbackの画面になります。一番上のCustom callbackを選択しましょう。Sigfoxバックエンドには、さまざまなサービスに特化したCallbackが予め用意してあります。今回は、Custom callbackを利用しましたが、使いたいサービスが有る場合は、それに特化したcallbackを使うことで、かんたんに連携ができるようになります。

## Callbackの設定をしよう！

こんな感じで、Callbackの設定をします。

![スクリーンショット 2020-09-27 1.21.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/9c34f8e9-ca27-b1c7-b259-b8d2aa60abe3.png)

Typeは、Callbackの転送の種類です。DATA（メッセージの転送）、SERVICE（メッセージ以外の付加情報の転送）、ERROR（通信エラー情報の転送）から選ぶことができます。

DATAを選択した場合は、UPLINK（メッセージ転送）、BIDIR（メッセージ転送＋メッセージ応答）を選ぶことができます。

今回は、メッセージを普通に転送したいので、DATAとUPLINKを選択します。

次にChannelです。URL(サーバへ転送）、BATCH_URL（複数のデバイスからのメッセージを1秒間まとめてサーバへ転送）、EMAIL（メールへ転送）を選ぶことができます。

通常、Webhook的に使いたい場合はURLを選びますが、今回はサーバを用意しなくても値が取得できるEMAILを選択することにしました。以下は、EMAILの解説になります。

Recipientには、自分のメールアドレスを書きます。

次のCustom payload configは、ペイロードデータをカスタムできる機能です。今回は空白にします。

SubjectとMessageは、メールのタイトルと本文です。記述例に書いてあるとおり、それぞれに変数が使えます。今回は、以下のようにしましたが、本文の内容を工夫することにより（jsonにするとか）メールを機械的に処理したりとかもできると思います！

```:Subject
Callback Test : {device}
```

```:Message
device {device} 
time {time}
data {data}
seqNumber {seqNumber}
deviceTypeId {deviceTypeId}
```

これで設定は終わりです。OKを押すと、Callbackが新規に作られます。

![スクリーンショット 2020-09-27 1.23.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/26c73025-a6f7-4bd4-2304-9984d5de57fc.png)

## Inosensor ES Devkitからメッセージを送ろう！

準備ができたので、Inosensor ES Devkitからメッセージを送ってみましょう。本体搭載のボタンを押すと、メッセージが送信されます。

![スクリーンショット 2020-09-27 1.24.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f5d54355-062c-0002-93bd-c9531a9708d3.png)

一番上が、今回送ったメッセージです。Callbacksのところが緑色になっていますね！

![スクリーンショット 2020-09-27 1.24.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/eb265890-80e0-2a06-8f29-c89c49ef94ba.png)

緑色のところをマウスでクリックすると詳細を見ることができます。

## メールを確認しよう

最後に、メールを確認してみましょう。

![スクリーンショット 2020-09-27 1.25.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/808b7ce4-642e-c540-85f1-9863b6e00975.png)

いい感じに届いていました！わーわー。

## 参考リンク

### 購入情報

[Inosensor ES Devkit：販売ページ](https://www.robotma.com/webshop/products/detail/1)
[接点入力用ハーネス：販売ページ](https://www.robotma.com/webshop/products/detail/2)
[Inosensor ES Devkit & 接点入力用ハーネスセット：販売ページ](https://www.robotma.com/webshop/products/detail/3)

### 製品マニュアル

[Inosensor ES Devkit 製品マニュアル](https://qiita.com/tonosamart/items/d825fbcccaa153d2e5da)

### チュートリアル

##### 初級編

[Inosensor ES Devkitを使ってみた！ ①（購入〜Devkit登録編）](https://qiita.com/tonosamart/items/f3cbc3b8fbdc84c7ce33)
[Inosensor ES Devkitを使ってみた！ ②（付属品の取り付け編）](https://qiita.com/tonosamart/items/9af3fe28963411edb8e2)
[Inosensor ES Devkitを使ってみた！ ③（はじめてのSigfox通信編）](https://qiita.com/tonosamart/items/b79421a954bc63642f78)
[LPWAって本当にローパワーなの！？ Sigfox端末（Inosensor ES Devkit）が本当に低消費電力か測定してみた！](https://qiita.com/tonosamart/items/8c48f4669fd23bd43d2e)

##### 中級編

[Inosensor ES Devkitを使ってみた！ ④（Sigfox CallBacks入門編）](https://qiita.com/tonosamart/items/b5f20f30c445441522c4)
[Inosensor ES Devkitを使ってみた！ ⑤（接点入力用ハーネスを使ってみよう！）](https://qiita.com/tonosamart/items/342862211f38597f892d)
[Inosensor ES Devkitを使ってみた！ ⑥（位置情報活用編）](https://qiita.com/tonosamart/items/619770390fa8dd5c15b4)
[Inosensor ES Devkit にオムロンの振動センサ（転倒センサ）を接続してみた！](https://qiita.com/tonosamart/items/53a45948a2cc6e18ff38)

##### 上級編

[Inosensor ES Devkit 用SDK（IFS-M01 SDK）に挑戦！①（開発環境編）](https://qiita.com/tonosamart/items/8a7d86626959b959801d)
[Inosensor ES Devkit SDKに挑戦！②（ケーブル編）](https://qiita.com/tonosamart/private/ff1d06107c83d6a3b724)
[Inosensor ES Devkit 用 ファームウェア（IFS-M01-FIRM）の書き込みに挑戦！](https://qiita.com/tonosamart/items/63e143554646fe7f7b40)
[Inosensor ES Devkit 用 ATコマンドファームウェア（IFS-M01-FIRM-AT）を使ってATコマンドに挑戦！](https://qiita.com/tonosamart/items/27debeb1c6d40095cdcb)

### リンク集

[Inosensor ES Devkit 関連リンク集（随時更新）](https://qiita.com/tonosamart/items/64baaa0c666d4539448f)