本ページはSK Stationに付属する管理ツール「SK Station Manager」の使い方を説明したページです。
http://192.168.0.240:9000/index.jsp
でアクセスします。Basic認証では、出荷時に同梱されているIDとパスワードでログインしてください。ログインに成功するとメイン画面になります。
メイン画面では主にモジュール選択と、選択されたモジュールのステータスが管理できます。
モジュール選択画面では、各モジュールの現在の動作モード(待機、通信モジュール、メタビーコン)が一覧で確認できます。また各モジュールが利用している物理層種別(LoRa, 802.15.4g, 802.15.4k, UNB)が表示されます。
モジュール0 | モジュール1 | モジュール2 | モジュール3 |
---|---|---|---|
LoRa | LoRa | LoRa | LoRa |
待機 | 待機 | 待機 | 待機 |
0-3のリンクを選択することで、対応するモジュールの詳細ステータスを表示できます。ステータス表示中のモジュールは太字で示されます。
ステータス表示では、選択したモジュールの現在の設定値の確認、及び設定値の変更を行えます。
項目 | 値 | ボタン |
---|---|---|
MACアドレス | 123456789ABCDEF01 | なし |
動作モード | 待機 | 変更 |
ベースチャネル | 24 | 変更 |
ステーションID | 12345678 | 変更 |
スロットモード | 32スロット | 変更 |
PSK | 11111111222222223333333344444444 | 変更 |
チャンネルホッピング | シングル | 変更 |
エンドデバイス台数 | 0 | なし |
コマンド | 実行 |
そのモジュールにアサインされている64bit MACアドレスです。設定変更はできません。
「通信モジュール」「メタビーコン」「待機」から選択できます。
「通信モジュール」を選択すると、ビーコンの発信を開始し、エンドデバイスからの接続を受け付けるようになります。
「待機」を選択するとビーコンの発信を停止します。また一切の接続要求を受け付けなくなり、受信したデータも破棄されます。
「メタビーコン」を選択すると設定されたチャンネルでメタビーコンの発信を開始します。
現在のところ「メタビーコン」は4つの通信モジュールのうち1つだけに設定できます。複数のモジュールを同時にメタビーコンに指定しないようにしてください。
動作モードを変更すると、モジュール選択画面のステータスも連動して変化します。
ベースチャンネルとは、「通信モジュール」や「メタビーコン」がビーコンを発信するチャンネルのことです。24~38の論理番号が指定可能です。論理番号と920MHzの物理周波数の対応は以下の通りです。
周波数(MHz) = 920.6 + (チャンネル番号 – 24 ) * 0.2
周波数(MHz) | 論理チャンネル番号 |
---|---|
920.6Mhz | 24 |
920.8Mhz | 25 |
921.0Mhz | 26 |
... | ... |
923.2Mhz | 37 |
923.4Mhz | 38 |
各通信モジュール及びメタビーコンは、同じベースチャンネルで動作させてはいけません。必ず異なる値を指定するようにしてください。
また通信モジュール間で隣接したベースチャンネルの利用も推奨されません。プラス・マイナス2チャンネルあけて設定することを推奨します。
本ステーションにアサインされているステーションIDを表示します。
本項目は保守上の理由で変更可能になっていますが、出荷時に設定されているID番号のままお使いください。
「16」~「1024」までのスロットモードを選択できます。SkWANでは1スロット=約960ミリ秒です。そのため例えば64スロットモードを選択した場合、エンドデバイスは64スロット × 960ミリ秒 = 約61秒に1回の送信が行えることになります。
一方で、収容できるエンドデバイスの数は「スロットモード×0.8」台が上限になります。
スロットモードを小さくすればエンドデバイスのデータ送信周期は短くできますが、収容台数は少なくなるというトレードオフが発生します。アプリケーションの用途に応じて適切なモードを選択してください。
エンドデバイスとの接続に用いるPSKを設定します。PSKは128bitのため、値はASCII表現の16進数を32文字で与える必要があります。
実運用に際しては、必ず出荷デフォルト値以外の値を再設定し、エンドデバイスに対しても同じPSKを再設定してください。
「シングル」「2チャンネル」「3チャンネル」「4チャンネル」から選択できます。
チャンネルホッピングでは、ベースチャンネルに対して
シングル | 2チャンネル | 3チャンネル | 4チャンネル |
---|---|---|---|
Base channel | Base channel, +1 | Base channel, +1, +2 | Base channel, +1, +2, +3 |
というように選択されます。つまり「シングル」を指定すると、指定したベースチャンネルでのみ通信する(ホッピングしない)ことになります。
チャンネル上限値付近のベースチャンネルに対しては、ホッピングパターンが上限を超えないか把握して設定する必要があります。
以下がチャンネル上限とホッピングパターンの関係になります。
ベースチャンネル | ホッピングモード |
---|---|
35より低いch | すべて利用可 |
36 | 3チャンネルまで |
37 | 2チャンネルま |
38 | シングルのみ |
現在接続中のエンドデバイスの台数を表示します。
選択中のモジュールに対してSkWANコマンドを直接発行しその実行結果を表示します。コマンド仕様についてはSkWANコマンドリファレンスマニュアルを参照してください。またコマンドの直接発行は、コマンド仕様をよく理解した上で行ってください。
モジュールをリセットします。エンドデバイスの接続は強制的に解除されます。同時に接続中のエンドデバイス一覧表示もクリアされます。
リセット実行時に表示中のステータス値が、リセット実行と同時に再設定されます。すなわち例えば動作モードが「通信モジュール」状態でリセットを行うと、いったん対象モジュールの各種設定が出荷初期値になった後、詳細ステータスで表示されている設定値が再設定され、動作モードは「通信モジュール」として動作開始します。
以上のことから、設定変更を行うと、接続中のエンドデバイスは強制的に接続解除されます。接続解除されたエンドデバイス側は、同期動作が解除されるまで次の通信が行なえません。
そこで動作モードを「待機」に遷移させてから「通信モジュール」に遷移させるまでの間は、それまで実行していたスロットモードの1スロット周期時間*3倍の時間だけ待機し、それまで接続していたエンドデバイスの同期動作の解除を、ステーション側から促す必要があります。
モジュールにエンドデバイスが接続すると、自動的に以下のようなエンドデバイス情報がメイン画面に順次、追加されます。
接続日時 | Slot | Index | MACアドレス | データ送信 | 受信データ | 送信データ |
---|---|---|---|---|---|---|
2017/03/19 08:48:39:546 | 74 | 0 | 12:34:56:78:AB:CD:EF:01 | <テキストフォーム> |
ここでエンドデバイスからの受信データを表示するには「受信データ」欄をクリックします。エンドデバイスに対してデータを送信するにはテキストフィールドにデータを入力し「送信」ボタンを押します。
各エンドデバイス欄の「受信データ」を選択することで受信データの一覧表示画面に遷移します。また、以下の書式のURL入力でも受信データの一覧を閲覧できます。
http://192.168.0.240:9000/rxdata.jsp?index=0&slot=16&sindex=0&addr=00:00:00:00:00:00:02:07&num=0
ここでnum引数を非0にすると、最終の受信データから直近num個分のデータだけを表示できます。
num引数を0または全データ数よりも大きな値、または非数値を指定すると、全データを表示します。
「データ送信」欄のテキストフィールドに送信データを入力し「送信」ボタンを押すことで、そのエンドデバイスに対する下りデータの送信要求を発行できます。送信できるデータ長は最大32バイトで、データは16進数ASCII表現で指定します。指定可能文字は'0'-'9' 'a'-'f', 'A'-'F'です。
例: 11223344
と指定すると0x11, 0x22, 0x33, 0x44の4バイトを表示します。指定した文字列の文字数が2の倍数でない場合や、64文字を超えている場合はエラーになります。16進数に解釈できない文字が含まれている場合、その箇所は「0」に変換されます。
送信データ表示画面では、以下のように送信要求を発行した履歴が表示されます。
送信日時 | 宛先 | データ | ステータス |
---|---|---|---|
2017/04/03 21:04:36:331 | 00:00:00:00:00:00:02:07 | 1122334455667788990011223344556677889900112233445566778899001122 | 0 |
このうち「ステータス」欄が「0」の場合、そのデータはまだ実際に送信されておらず、バッファリングされた状態を意味します。次回、当該エンドデバイスから上りのデータを受信したタイミングで、ステータス「0」のデータのいずれか1つが下り方向で送信され、ステータスが「1」に変化します。
「1」の場合、そのデータは無線区間への送信が完了しています。
各通信モジュール内部の通信状態の統計情報を表示します。各項目は以下の意味を持ちます。
項目 | 内容 |
---|---|
phy.recv | 物理層でのデータ受信回数。他ステーションのビーコンやそれに接続しているエンドデバイスのデータもカウントされます。 |
phy.recv_drop | 物理層で受信したデータがフォーマット不正またはスタックリソース不足により破棄された回数 |
phy.send | 物理層でのデータ送信成功回数 |
phy.send_drop | 未使用 |
phy.busy | キャリアセンスビジーで送信がキャンセルされた回数 |
phy.err | CCA以外の要因で送信要求が失敗した回数 |
mac.recv_bcn | SkWANプロトコルのビーコン受信回数。本ステーションID宛てのデータみカウントされます。 |
mac.recv_data | SkWANプロトコルのデータ受信回数。本ステーションID宛てのデータみカウントされます。 |
mac.recv_ack | SkWANプロトコルのAck受信回数。本ステーションID宛てのデータみカウントされます。 |
mac.recv_metabcn | SkWANプロトコルのメタビーコン受信回数。本ステーションID宛てのデータみカウントされます。 |
mac.recv_drop | フォーマット異常、タイミング異常、復号化異常、スタックリソース不足等の理由でSkWANプロトコルの受信フレームが破棄された回数 |
mac.send_bcn | SkWANプロトコルのビーコン送信回数 |
mac.send_data | SkWANプロトコルのデータ送信回数 |
mac.send_ack | SkWANプロトコルのAck送信回数 |
mac.send_metabcn | SkWANプロトコルのメタビーコン送信回数 |
mac.send_drop | スタックリソース不足、スタック状態異常等の理由でSkWANプロトコルの送信処理がキャンセルされた回数 |
sec.counter_err | SkWANプロトコルの受信フレームの復号化処理でフレームカウンタ異常を検出した回数 |
sec.decode_fail | SkWANプロトコルの受信フレームの復号化に失敗した回数 |
mem.err | スタックリソース不足が発生した回数 |
以下のフィールドをチェックすることで、チャンネルの干渉、輻輳、混信を大まかに把握することができます。
注)通信モジュールが「待機」の状態でも受信は行われていますので、統計情報はカウントアップされる可能性があります。
SK Station Managerは、ローカルストレージに以下のディレクトリ構成でデータを保存しています。
SkWANStationManager/var/www/html/kvs/[0-3]
kvs/0, kvs/1, kvs/2, kvs/3 ディレクトリが、それぞれ、SK Stationが搭載する通信モジュール0, 1, 2, 3に対応します。
ファイル名 | 用途 |
---|---|
Module.X.Channel | 通信モジュールXのベースチャンネル |
Module.X.EndDevice.Count | 通信モジュールXの接続済みエンドデバイス数 |
Module.X.HoppingTable | 通信モジュールXのチャンネルホッピング設定 |
Module.X.MacAddress | 通信モジュールXのMACアドレス |
Module.X.Mode | 通信モジュールXの動作モード |
Module.X.PSK | 通信モジュールXのPSK |
Module.X.SlotMode | 通信モジュールXのスロットモード |
Module.X.StationID | 通信モジュールXのステーションID |
Module.X.Tx.YY:YY:YY:YY:YY:YY:YY | 通信モジュールXに接続しているエンドデバイス(MACアドレス=YY:YY:YY:YY:YY:YY:YY)への送信データ要求の一覧 |
Module.X.Rx.YY:YY:YY:YY:YY:YY:YY | 通信モジュールXに接続しているエンドデバイス(MACアドレス=YY:YY:YY:YY:YY:YY:YY)からの受信データの一覧 |
受信データは、下記フォーマットで格納されます。
時刻, 受信データ(バイナリの16進数ASCII文字表現), 受信RSSI(16進数), 受信チャンネル(16進数)
各要素はカンマ区切りです。新規の受信データは最終行に追加されていきます。
要求された送信データの一覧は、下記フォーマットでカンマ区切りで格納されます。
時刻, 受信データ(バイナリの16進数ASCII文字表現), データの識別子(10進数), 送信ステータス(0 or 1)
各要素はカンマ区切りです。新規の送信データ要求は最終行に追加されていきます。
「データの識別子」とは、要求されたデータ送信を区別するための2バイトの識別子です。個々のデータ送信要求にランダムな番号がアサインされます。 「送信ステータス」とは、要求されたデータ送信の現在状況を表す値で、以下の意味を満ちます。
0...バッファリング中(まだ送信されていません) 1...送信完了(エンドデバイスに対して無線区間にデータが送信されました)
要求されたデータの送信が完了すると、同じデータ識別子で、ステータス「1」のエントリーが追加されます。
例:
2017/11/04 17:42:55:372,11111111111111111111,40940,0 2017/11/04 17:43:10:901,11111111111111111111,40940,1
注)送信要求を実行してから、その通信モジュールのスロットモード1週の時間*3倍の時間が経過してもステータス「1」にならない送信データは、自動的に送信がキャンセルされます。
SK Station Managerに下記形式のHTTPリクエストを発行することで、各種情報の取得や制御を直接行うことができます。
指定したMACアドレスから受信したデータの一覧を、HTTP形式で応答します。
例: http://192.168.0.240:9000/rxdata.jsp?index=0&slot=4&sindex=0&addr=00:00:00:00:00:00:00:01&num=0
引数 | 意味 | 値域・形式 |
---|---|---|
index | データ一覧を取得するデバイスが接続している通信モジュール番号 | 0-3の数値 |
slot | データ一覧を取得するデバイスのスロット番号 | 注1 |
sindex | データ一覧を取得するデバイスのスロット内インデックス番号 | 注1 |
addr | データ一覧を取得するデバイスのMACアドレス | コロン区切りの64bitMACアドレス |
num | 取得するデータの数 | 0の場合は全件、非0の場合は直近のデータを指定した数だけ応答します |
注1:本フィールドは画面表示のためにのみ参照されますので、リクエスト時は任意の数値を指定します。
指定したMACアドレスから受信したデータの一覧を、HTTP形式で応答します。
例: http://192.168.0.240:9000/send.jsp?index=0&addr=00:00:00:00:00:00:00:01&val=12345678
引数 | 意味 | 値域・形式 |
---|---|---|
index | データ送信を取得するデバイスが接続している通信モジュール番号 | 0-3の数値 |
addr | データ送信を要求するデバイスのMACアドレス | コロン区切りの64bitMACアドレス |
value | 送信データ(バイナリ)の16進数のASCII文字表現。(注1) | 受け付ける文字:'a'-'f', 'A'-'F', '0'-'9' |
注1: したがって送信したいデータのバイト数の2倍の文字を指定する必要があります。また指定文字列の文字数は必ず偶数になります。
例:0x12345678の4バイト送信したい場合、文字列「12345678」の8文字を指定します。 例:"HELLO"の5文字を送信したい場合、文字列「48454C4C4F」の10文字を指定します。
指定したMACアドレス宛てに要求したデータ送信の一覧を、HTTP形式で応答します。
例:http://192.168.0.240:9000/txdata.jsp?index=0&addr=00:00:00:00:00:00:00:01
引数 | 意味 | 値域・形式 |
---|---|---|
index | 一覧を取得するデバイスが接続している通信モジュール番号 | 0-3の数値 |
addr | 一覧を取得するデバイスのMACアドレス | コロン区切りの64bitMACアドレス |
通常、エンドデバイスが利用するスロット番号は、そのエンドデバイスのMACアドレスと接続先ステーションIDから、特定の計算式で算出されるため、事前に何番を使うか分かりません。
しかし用途によっては、エンドデバイスに固定のスロット番号をアサインしたいケースがあります。
その場合、以下の手順で、エンドデバイス側に適切な設定を施すことで、スロット番号を固定できます。
S11レジスタに適切なハッシュコードを設定することで、エンドデバイスに望みのスロット番号をアサインできます。
ただし、上記の方法でハッシュコードを指定しても、接続先ステーションですでに当該スロット番号が別のエンドデバイスにアサイン済みの場合は、別のスロット番号が割り当てられます。
「SkWAN_HashCalc.zip」は、SK StationまたはSK920LRの専用ページからダウンロードできます。
注意点)S11レジスタはSKSAVEの保存対象ではありません。電源再投入、SKRESETによってS11はクリアされますので、リセットの都度、値は再設定してください。