LoginSignup
4
7

More than 3 years have passed since last update.

Sigfox IoT Agency Platformで簡単ダッシュボード

Last updated at Posted at 2019-01-20

※IoT Agency Platfromは2020年12月31日をもってサービス終了予定となります。
GitHubリポジトリは引き続きご利用いただけます。

SigfoxからIoT Agency PlatformというIoTプラットフォームがβ版ですがリリースされています。
https://try.iotagency.sigfox.com

このプラットフォームを使えば、Sigfox Callbackと連携したダッシュボードが簡単に作成できるだけではなく、Sigfox Web APIやWebhook、MQTTなどとの接続も可能になるようです。
デモアプリケーションや教育用として手軽にお使いいただけると思います。

ユーザ登録/Login

下記URLIoT Agency Platformのユーザ登録およびログインができます。ユーザ登録もメールアドレスとパスワードだけで良いのでクレジットカードの登録や、個人情報の入力も少なく始められます。。
screencapture-try-iotagency-sigfox-2019-01-20-21_20_01.png

Loginに成功すると下図の画面となります。
image.png

Connector作成(Sigfox API Credentialの登録)

まずは、SigfoxクラウドAPIをIoT Agency PlatformからリスエストできるようにConnectorを作成します。
左メニューからConnectorsメニューを選択してください。
image.png
その後、画面右上の[+]ボタンをクリックし、表示される"Add new connector"ダイアログに必要事項を入力してください。
image.png

項目 入力例
Name お好きな名前(例:MySigfox)
Type Sigfox API
Login Sigfox API Login user
Password Sigfox API password

Login,Passwordに関しては、SigfoxクラウドAPIを参考に事前にAPI Credentialを作成しておいてください。
Connectorが作成されると、下図のように作成したConnectorがリスト表示されます。
image.png

API作成(Callback設定)

次に、Sigfoxデバイスと接続できるようにSigfox Backend CloudでCallbackを設定します。
左メニューからAPIメニューを選択してください。
screencapture-try-iotagency-sigfox-2019-01-20-21_32_37.png
この画面には、Callback内容が表示されるので、その内容をSigfox Backend Cloudに設定するだけで自動的に接続されます。Callbackを作成する前にアクセストークンが必要になります。

Developer Access Tokenを作成

Developer Access Tokenの下に「Manage Tokens」をクリックして、Tokenを作成します。[Create New]ボタンをクリックしてください。
image.png
64文字のTokenが作成されます。このTokenがSigfox Backend Cloudとの連携に必要なTokenとなります。

Callback設定

ここから実際にCallbackを作成する手順となります。
AUTO CREATE CALLBACKSのSelect one device typeリストから、Callback連携したいデバイスタイプを選択し、[+]Create callbacksボタンをクリックすると、Sigfoxクラウド側に新規Callbackが自動で作成されます。
image.png

作成されたCallbackが必要なくなった場合は、Sigfoxクラウド側で手動削除してください。Callbackについてはじめてのかたはこちらを見てください。

Device Messageの確認

その後、DeviceからMessageを送信すると、Devices画面に自動的にDeviceが登録されます。
image.png

Messages画面にも送信されたメッセージが表示されます。
image.png

Parserを作成

メッセージのペイロードは、16進表記の数字文字の羅列にしか過ぎないので、ダッシュボード表示のために、ペイロードをパースします。
左メニューからParsersメニューを選択して、新たなパーサーを作成します。
image.png
今回は、Sigfox Shield for Arduino(UnaShield)用のサンプルスケッチ"basic-demo"のペイロードをパースするサンプルを記載します。basic-demoサンプルはこちらから入手してください。

basic-demo.js
var payload,
    counter,
    temperature,
    battery,
    parsedData = [],
    obj = {};

// If byte #1 of the payload is temperature (hex to decimal)
counter = parseInt(payload.slice(2, 4) + payload.slice(0, 2), 16);

v = new DataView(new ArrayBuffer(4));
v.setUint32(0, parseInt(payload.slice(4, 12), 16));
temperature = v.getFloat32(0).toFixed(2);

v = new DataView(new ArrayBuffer(4));
v.setUint32(0, parseInt(payload.slice(12, 20), 16));
battery = v.getFloat32(0).toFixed(2);

// Store objects in parsedData array
obj = {};
obj.key = 'counter';
obj.value = counter;
obj.type = 'number';
obj.unit = '-';
parsedData.push(obj);
obj = {};
obj.key = 'temperature';
obj.value = temperature;
obj.type = 'number';
obj.unit = '°Ca';
parsedData.push(obj);
obj = {};
obj.key = 'battery';
obj.value = battery;
obj.type = 'number';
obj.unit = 'V';
parsedData.push(obj);

//console.log(parseData);
return parsedData;

このParserを使うことにより、Sigfox Shield for Arduinoから送られたメッセージ送信回数、温度、バッテリー電圧をIoT Agency Platform上で使用することが可能になります。
[Add Parser]ボタンをクリックすると、Parserが作成されます。

このParserは既に登録済みで誰でもお使いいただけます。Parser name:"KCCS basic-demo"で探してみてください。

ParserをDeviceに紐づける

作成したParserをDeviceに紐づけることにより、Deviceから送信されたメッセージのペイロードを、先ほどのParserスクリプトでパースすることができるようになります。
Deviceメニューの該当デバイスの編集ボダン(青色のペンボタン)をクリックし、右側に表示されたInformationのParser項目に、先ほど作成したParser名を選択し、Updateボタンをクリックします。
image.png

Dashuboardの作成

左メニューの(+)ボタンをクリックすると、新たにDashboardが作成されます。次に、作成したDashboardを選択し、[Add widget]ボタンをクリックします。
image.png
Widgetの設定は、作成したいグラフ内容にあわせて自由に設定してください。
image.png
この例では、Device ID #7B0DE2の温度(temperature)を線グラフとして作成します。
[Add widget]ボタンをクリックすると、下図のような線グラフが表示されます。

image.png

Next > IoT Agency PlatformをHeroku上にデプロイする

Sigfox Japan KCCS

4
7
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7