7.4.1. JSONデータフォーマット
LoRaWAN®デバイスと協調させるために最初にすることは、アップリンクデータをデバイスから受信する方法と、ダウンリンクデータをデバイスに送信する方法を把握することです。
ダウンリンクとアップリンクで使用するデータ形式はどちらもJSON形式です。
次の表はJSONフォーマットとダウンリンクおよびアップリンクデータの例を示します。
アップリンクデータJSON
表7-1 アップリンクデータのJSONフォーマット
| JSONフィールド (REST API) | JSONフィールド (LoRaScript) | 説明 |
|---|---|---|
| app_id | app_id | デバイスのアプリケーションタイプ |
| owner | owner | デバイスのオーナー。ビルトインLoRaWAN®サーバーのadminに固定。 |
| devname | devname | デバイス名 |
| time | time | ダウンリンクデータの受信時刻 |
| millistime | millistime | UNIX時間での受信時刻 |
| devaddr | devaddr | 受信したデバイスのDevice Address |
| deveui | deveui | 受信したデバイスのDevice EUI |
| gateway_eui | gatewayeui | 信号強度が最も高いアップリンクデータを受信したゲートウェイ |
| rssi | rssi | 受信ゲートウェイのRSSI(受信強度) |
| snr | snr | 受信ゲートウェイのSNR(信号対雑音比) |
| raw_data | raw_data | 16進文字列の受信データ |
| datasize | data_size | 受信データサイズ |
| freq | freq | 受信周波数 |
| sf | sf | 受信データの拡散係数 |
| bw | bw | 受信帯域幅 |
| fport | fport | LoRaWAN®のポート番号 |
| uplink_count | uplink_count | アップリンクカウンター |
| getway_list | getway_list | このアップリンクデータを受信した全てのゲートウェイおよびそれぞれのRSSI、LSNR |
JSONフォーマットのアップリンクデータの例(REST API)
{
"app_id":"lorawan",
"owner": "admin",
"devname":"",
"time": "2019-11-17T15:25:29.008Z",
"millistime": 1574004329008.000000,
"raw_data": "1234",
"datasize": 2,
"fport": 15,
"devaddr": "fe052372",
"deveui": "000b78fffe052372",
"sf": 10,
"bw": 125,
"freq": 927400000,
"uplink_count": 4,
"rssi": -103,
"snr": 10.800000,
"gateway_eui": "000b77fffe000201",
"gateway_list": "000b77fffe000201;-103;10.800000"
}
ダウンリンクデータJSON
表7-2 ダウンリンクデータのJSONフォーマット
| JSONフィールド | 説明 |
|---|---|
| deveui | ターゲットデバイスのDevice EUI |
| type | dataフィールドのデータ型:16進数またはb64を指定できます。 hexはdataフィールドが16進数であることを示し、b64はdataフィールドがbase64文字列であることを示します。 |
| data | デバイスに送信されるデータ。 フォーマットはdataフィールドに応じて16進数またはbase64文字列にすることができます。 typeフィールドが存在しない場合、システムはデータが16進数またはbase64のいずれであるかを自動検出します。 |
| port | ダウンリンクデータのポート番号。 1〜223の範囲内の値を入力します。 |
JSONフォーマットのダウンリンクデータの例
{
"deveui":"00000000fe541959",
"type":"hex",
"data":"01098b17800496",
"port": 12
}
デバイスJSON
表7-3 デバイスのJSONフォーマット
| JSONフィールド | 説明 |
|---|---|
| deveui | ターゲットデバイスのDevice EUI |
| nwkskey | LoRaWAN®のネットワークセッションキー |
| appskey | LoRaWAN®のアプリケーションセッションキー |
| appkey | LoRaWAN®のアプリケーションキー |
| appeui | LoRaWAN®のアプリケーションEUI |
| devaddr | データ受信したデバイスのデバイスアドレス |
| lorawan class | デバイスのLoRaWAN®クラス |
| activate | アクティベーションの種類 |
| eable adr | ADR(Adaptive Data Rate)の有効 / 無効 |
| latitude | 緯度 |
| longitude | 経度 |
| channel plan | デバイスのチャンネルプラン |
| cflist | 使用するCF listの名前 |
| rx window | ダウンリンクで使用するデバイスのRX Windows |
| rx2 freq | RX2の周波数 |
| rx2 dr | RX2のデータレート |
| saved uplink count | アップリンクカウンターの最新値 |
| devname | デバイス名 |
JSONフォーマットのデバイスデータの例
{
"deveui":"000b78fffe0528ac",
"nwkskey":"223edf9136e945548b363fb850d7c83c",
"appskey":"debcf6c906c7483db8619d229bba1893",
"devaddr":"fe0528ac",
"lorawan class":"A",
"activate":"otaa",
"enable adr":"true",
"latitude":0,
"longitude":0,
"channel plan":"AS923",
"cflist":"",
"rx window":"rx1",
"rx2 freq":923.2,
"rx2 dr":"DR2",
"saved uplink count":0,
"appkey":"12345678901234567890123456789012",
"appeui":"1234567890123456",
"devname":""
}