MixServer Reference
マイページ
①CGI URL
ご自分で設置したCGIを使用する場合は、CGIのURLをここに設定します。- MixSodaが送信/受信するデータはここで設定されたCGIへリアルタイムにパスされます。
- 通信プロトコルはHTTP、HTTPSを使用できます。
②Store Token
データストア機能を使用する場合は、ここにトークンを設定します。トークンはお好きな文字列を設定できます。- MixSodaが送信/受信するデータをCGI設置せずに取得/セットできます。
- 7日前までのデータ取得、7日間のセット保持ができます。
- トークンは不特定多数の人が使用するアプリには埋め込まないでください。
③ICCID, IMEI
- MixServerを利用するMixSodaのICCIDとIMEIをここで登録します。
- 「まとめて登録する」から一度に複数台登録することもできます。(要csvデータ)
CGIの詳細
CGIはHTTPリクエストヘッダーで以下の情報を取得できます。
- x-iccid
- x-time
- データ送信時(IoT.OUT等): POST
- データ受信時(IoT.IN等): GET
// IchigoJam BASICでIoTコマンドを使った場合のAzure側のJS例
const { app } = require('@azure/functions');
app.http('httpTrigger1', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: async (request, context) => {
const iccid = request.headers.get("x-iccid");
const time = request.headers.get("x-time");
context.log(`iccid:${iccid}, time:${time}`);
if(request.method === "POST"){
const buf = await request.arrayBuffer();
const data = new DataView(buf).getInt32(0);
context.log(`data: ${data}`); // do something
return { };
}else
if(request.method === "GET"){
const data = 1234; // MixSodaが受信する数値
const buf = new ArrayBuffer(4);
new DataView(buf).setInt32(0, data);
return { body: buf };
}
}
});
データストア機能の使い方
MixSodaから届いたデータを取得する
- すべてのMixSoda:
GET http://mixsoda.io:2048/(token).csv[オプション]
- 特定のMixSoda:
GET http://mixsoda.io:2048/(token)/(ICCID).csv[オプション]
- オプションを使用しない場合は最新の1件が取得できます。
- HTTPSも使用できます。
- 実験的に「Access-Control-Allow-Origin: *」を吐いていますが、負荷などの状況によっては削除されることがあります。また、Webアプリケーションなどにトークンを埋め込む場合はご注意ください。
オプション | 機能 | 設定値 |
---|---|---|
from | 取得範囲(いつから)を指定する |
|
to | 取得範囲(いつまで)を指定する |
|
オプション使用例
- 60秒前から現在時刻までのデータを取得する
http://mixsoda.io:2048/love_mixsoda_4649.csv?from=-60
- UNIX時間 1659597207から現在時刻までのデータを取得する
http://mixsoda.io:2048/love_mixsoda_4649.csv?from=1659597207
- ICCID 1234567890123456789 のMixSodaが送信したUNIX時間 1659597100から1659597207までのデータを取得する
http://mixsoda.io:2048/love_mixsoda_4649/1234567890123456789.csv?from=1659597100&to=1659597207
- ICCID 1234567890123456789 のMixSodaが送信したUNIX時間 1659597207までの最新の1件を取得する
http://mixsoda.io:2048/love_mixsoda_4649/1234567890123456789.csv?to=1659597207
MixSodaに渡すデータをセットする
- すべてのMixSoda:
POST http://mixsoda.io:2048/(token)
- 特定のMixSoda:
POST http://mixsoda.io:2048/(token)/(ICCID)
- データは複数セットすることができます。
- データは古い順にMixSodaに渡され、渡されたデータは削除されます。
- Content-Lengthが0の場合、セットされているデータがすべて削除されます。
- IoT.INコマンドでMixSodaに渡されるデータは4バイト固定です。4バイト未満のデータは4バイトに拡張してセットしてください。
- HTTPSも使用できます。