Sigfox Callback - ステークカジノ レベルアップボーナス機能
ステークカジノ レベルアップボーナス Callback - Custom Payload Config機能
2018.06.07
本稿では、ステークカジノ レベルアップボーナス Callbackの一部機能Custom Payload Configについて記述します。
事前にSigfox ステークカジノ ログインできない機能をご一読ください。
ステークカジノ レベルアップボーナス payload configとは
LPWA(ステークカジノ レベルアップボーナス)ネットワークは、ちょっとしたデータを長距離伝送することを目的としていたり、デバイスの消費電力を削減するため、ステークカジノ レベルアップボーナスデバイスから送信されるデータは最大12バイトのペイロードとなっています。また、この12バイトは構造化されている訳ではなく、12バイト内でユーザーが独自にフォーマットを取り決めます。
例えば、温度センサーと気圧センサーのデータを送信しようとした場合、(わかりやすくするため整数値で)温度=28℃、気圧=1012hPaというデータを送る場合、16進表記で
- 温度 = 28℃ = 0x1C
- 気圧 = 1012hPa = 0x03F4
となるので、1C03F4というデータ(3ステークカジノ レベルアップボーナス分)をペイロードに入れ、送ることとなります。
このデータは自動的にステークカジノ レベルアップボーナスクラウドに蓄積されるとともに、ステークカジノ レベルアップボーナス Callback機能により、JSON形式等で、ユーザー側のサーバー(アプリケーションサーバー)に転送されます。
通常は、アプリケーションサーバー側でこの1C03F4というデータをParseすることになるのですが、温度=28℃、気圧=1012hPaとしてアプリケーションサーバーで受け取りたいという場合があります。
それを解決するのがステークカジノ レベルアップボーナス Payload Configです。
ステークカジノ レベルアップボーナス payload configの使い方
まずは、ステークカジノ レベルアップボーナス Callback設定について知っておかないといけないので、こちらを見てください。
このCallback設定画面内にステークカジノ レベルアップボーナス payload configという入力項目があります。ここに独自の記述ルールに基づき、16進表記のペイロードを数値化(変数代入)することができます。
ステークカジノ レベルアップボーナス payload configの記述例
上記の例(0x1C03F4というペイロードを温度=28℃、気圧=1012hPa)の場合、この入力項目に
temp::int:8 pressure::int:16
と記述します。すると、ステークカジノ レベルアップボーナス variables:というところに
ステークカジノ レベルアップボーナスData#temp, ステークカジノ レベルアップボーナスData#pressure
という変数が追加されます。
この2つの変数をURL転送する場合はBody内で、メール転送する場合は、メールタイトルと本文内で使えるようになります。
あとは、[OK]ボタンを押し、Callback設定は終わりです。
その後、デバイスがデータを送信する毎に、下記のようなJSONがPOSTされるようになります。
{ "device":"1234AB", "data":"1C03F4", "temperature":28, "pressure":1012 }
つまり、temp::int:8は、先頭ステークカジノ レベルアップボーナスから8ビット分をint型としてtemp変数に代入する。ということになり、pressure::int:16は、続くステークカジノ レベルアップボーナス位置から16ビット分をint型としてpressure変数に代入するという意味になります。
もし、先頭からではなく、あるバイト位置から何ビットかを取り込みたい場合は、ステークカジノ レベルアップボーナス payload configの記述フィールドの2つ目(上記では何も記載しなかったところ)に「バイトインデックス」を定義します。
先頭2ステークカジノ レベルアップボーナス目からの16ビット分をint型としてvalue変数に代入したい場合は、
value:1:int:16
と定義します。上記の例ではtemp::int:8 pressure::int:16とpressure:1:int:16とではpressureは同じ値になります。(ステークカジノ レベルアップボーナスとビットで混乱しますが)
ステークカジノ レベルアップボーナス payload configの記述仕様
Custom payload configの記述仕様は、ステークカジノ レベルアップボーナスクラウドのCallback設定画面のCustom payload config入力の右にある「?」アイコンをクリックすると見れますが、ちょっとわかりにくいので書いておきます。
[変数定義]:[ステークカジノ レベルアップボーナスインデックス]:[データ型定義]
となります。変数定義とステークカジノ レベルアップボーナスインデックスは上述の通りです。
データ型定義部分は、指定するデータ型により記述方法が異なります。
データ型 | 記述仕様 | 捕捉 |
---|---|---|
bool型 | bool:ビットインデックス(0-7) | ビットインデックスは対象ステークカジノ レベルアップボーナス内の対象ビット。例えば、0x80に対しb1::bool:7 b2::bool:6と記述した場合はb1=true,b2=falseになります。つまり0x80(2進数表記で10000000)の7ビット目は1、6ビット目は0になります。 |
char型 | char:文字数(0-7) | ASCII文字としてParseします。例えば0x414243444546という6ステークカジノ レベルアップボーナスを文字に変換する場合、char:6と記述することによりABCEDFという文字に変換されます |
float型 | float:ビット数:[エンディアン]:[ビットオフセット] | ビット数は、32(bits)か64(bits)かどちらか。エンディアンはオプションで:little-endianか:big-endianを指定できます。 IEEE 754に準拠ています。 |
uint型 | uint:ビット数:[エンディアン] | ビット数でサイズを指定します。 |
int型 | int:ビット数:[エンディアン] | ビット数でサイズを指定します。 |
- ※ステークカジノ レベルアップボーナスインデックスはbool型の場合は、次のステークカジノ レベルアップボーナスに移らないのでご注意を。