24. nqLte
nqLteオブジェクトは、LTE接続情報を取得するための組み込みオブジェクトです。
機能概要:
- LTE接続情報を取得する機能を提供します。
- LTEモジュールの固有情報を取得する機能を提供します。
- LTEモジュールのGPS機能を使用して位置情報を取得する機能を提供します。
- システムLEDを使用してアンテナレベル状態を表示する機能を提供します。
制限事項:
- NEQTO Bridge LTEモジュールのみ使用可能です。
- GPS機能を使用する場合、事前にハードウェア仕様を確認してください。
nqLte Global object
Methods()/Properties | Summary | Version | Note |
---|---|---|---|
nqLte.gpsOn() | GPS機能を有効にします。 | 01.00.00+ | |
nqLte.gpsOff() | GPS機能を無効にします。 | 01.00.00+ | |
nqLte.getPosition() | GPS位置情報を取得します。 | 01.00.00+ | |
nqLte.getSignalQuality() | LTEの信号品質情報を取得します。 | 00.00.15+ | |
nqLte.getIDs() | LTEモジュールの識別情報を取得します。 | 00.00.15+ | |
nqLte.setAntennaLed() | アンテナレベル表示を設定します。 | 00.00.28+ | |
nqLte.set() | 与えられた引数に関連したパラメータを設定します。 | 00.00.27+ | |
nqLte.get() | 与えられた引数に関連したパラメータを取得します。 | 00.00.27+ | |
nqLte.on() | イベントハンドラを登録します。 | 01.00.00+ | |
nqLte.isConnected() | LTE通信状態を取得します。 | 02.00.00+ |
Details
nqLte.gpsOn([mode][,callback])
GPS機能を有効にします。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
mode | number | optional | GPS測位モード 1: Standalone 2: Based (Not supported) 3: Assisted (Not supported) デフォルト値は1となります。 | |
callback(status) | function | optional | GPS測位が開始された時にコールバック処理を実行します。 status : {number} GPS測位開始結果 0以上: 測位開始成功 -1: 測位開始失敗 | |
return | undefined | - | - |
nqLte.gpsOff()
GPS機能を無効にします。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
return | undefined | - | - |
nqLte.getPosition([timer,]callback)
GPS位置情報を取得します。
このメソッドを使用する前に、GPS機能を有効にする必要があります。
GPS機能を有効にすると、位置情報は常に1秒毎で更新されます。このメソッドは、呼び出された時点の最新位置情報を返します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
timer | number | optional | 位置測位成功待ち時間[ms] 位置測位が成功するまで監視を継続する時間を指定します。 このメソッドが呼び出された時点から位置測位結果が成功するまで10秒間隔で監視が行われます。位置測位成功を検出した時点または、待ち時間が満了した時点で、コールバックが実行され、処理が完了します。尚、0を指定した場合は、位置測位成功待ちを行わず、最新の測位結果を即座にコールバックします。 設定範囲: 0~4,294,967,295 (Version 01.01.00+) 設定範囲: 0~250,000 (Previous Versions) デフォルト値は0となります。 | |
callback(loc) | function | mandatory | 位置測位成功または位置測位失敗(位置測位成功待ち時間が満了)した時にコールバック処理を実行します。 loc : {Location} GPS位置情報 | |
return | undefined | - | - |
{Location}
Name | Type | Summary | Note |
---|---|---|---|
.fix | number | 受信情報 0: NoFix 1: NoFix 2: 2DFix 3: 3DFix fixが2,3の場合に、以下の位置情報は有効です。 | |
.datetime | string | 受信日時(GMT) 形式は"YYMMDDhhmmss"の12桁文字列となります。 GPSが受信できなかった場合は空白となります。 例: 2019年01月25日10時06分58秒の場合は"190125100658"です。 | |
.latitude | number | 緯度(北緯は+,南緯は-)[度] GPSが受信できなかった場合は0となります。 例: 39.701843 | |
.longitude | number | 経度(東経は+,西経は-)[度] GPSが受信できなかった場合は0となります。 例: 141.136268 | |
.altitude | number | 高度[m] GPSが受信できなかった場合は0となります。 例: 115.0 |
nqLte.getSignalQuality(callback)
LTEの信号品質情報を取得します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
callback(sq) | function | mandatory | 情報取得完了時にコールバック処理を実行します。 sq : {SignalQuality} LTEの信号品質情報 | |
return | undefined | - | - |
{SignalQuality}
Name | Type | Summary | Note |
---|---|---|---|
.time | number | 更新日時(Unixtime) | |
.registered | number | サービングセルの登録ステータス 0: not registered 1: registered 取得失敗時は0となります。 | |
.signal | number | アンテナレベル 設定範囲: 0~5 取得失敗時は0となります。 | |
.service | number | サービスエリアの圏内圏外状態 0: 圏外 1: 圏内 取得失敗時は0となります。 | |
.roaming | number | ローミング状態 0: ホーム 1: ローミング 取得失敗時は0となります。 | ローミング接続すると1になります。 |
.rssi | number | RSSI[dBm] 範囲: -113~-51 -255: unknown 取得失敗時は-255となります。 | |
.ber | number | BER 範囲: 0~7, 99 取得失敗時は99となります。 | 使用しません。 |
.sysmode | number | システムモード 0: NOSERVICE 7: CAT-1 8: CAT-M1 9: CAT-NB1 取得失敗時は0となります。 | |
.rsrp | number | RSRP[dBm] 範囲: -141~-44 -255: unknown 取得失敗時は-255となります。 | |
.rsrq | number | RSRQ[dB] 範囲: -20~-3 -255: unknown 取得失敗時は-255となります。 | |
.sinr | number | SINR[dB] 範囲: -20~30 -21: unknown 取得失敗時は-21となります。 | Version 00.00.23+ |
.tac | number | TAC (Tracking Area Code) 取得失敗時は0となります。 | Version 00.00.23+ この値は'registered'が1の時に有効です。 |
.ci | number | CI (Cell ID) 取得失敗時は0となります。 | Version 00.00.23+ この値は'registered'が1の時に有効です。 |
.mcc | number | MCC (Mobile Country Code) 取得失敗時は0となります。 | Version 00.00.23+ この値は'registered'が1の時に有効です。 |
.mnc | number | MNC (Mobile Network Code) 取得失敗時は0となります。 | Version 00.00.23+ - MNC2桁までサポート Version 01.00.00+ - MNC3桁までサポート この値は'registered'が1の時に有効です。 |
nqLte.getIDs()
LTEモジュールの識別情報を取得します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
return | {LteID} | - | {LteID} : LTEモジュールの識別情報 |
{LteID}
Name | Type | Summary | Note |
---|---|---|---|
.imei | string | IMEI (International Mobile Equipment Identity) 15桁の文字列となります。 | |
.imsi | string | IMSI (International Mobile Subscriber Identity) 15桁の文字列となります。 SIM未検出の場合は空白となります。 | |
.msisdn | string | MSISDN (Mobile Station International Subscriber Directory Number) SIM未検出の場合は空白となります。 | |
.iccid | string | ICCID (IC Card ID) 19~20桁の文字列となります。 SIM未検出の場合は空白となります。 | |
.model | string | LTEモジュールのモデル名'BG96' , 'SIMCOM_SIM7500JC' モジュール未起動の場合は空白となります。 | Version 00.00.23+ |
nqLte.setAntennaLed(ctl)
アンテナレベル表示を設定します。
システムLEDを使用してアンテナレベル状態を表示します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
ctl | boolean | mandatory | LEDアンテナレベル表示設定 true: LEDでアンテナレベルを示します。 false: 通常動作 デフォルト値はfalseとなります。 | LEDの表示パターンはシステムLED動作を参照してください。 |
return | undefined | - | - |
nqLte.set(name[,args...])
与えられた引数に関連したパラメータを設定します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
name | string | mandatory | 設定するパラメータ名 使用できる名前は、ooswatchdogとなります。 | |
args | string, number | optional | 設定のために使用する引数 | |
return | undefined | - | - |
nqLte.set(’ooswatchdog’,timer)
圏外ウォッチドッグタイマを設定します。
このタイマは圏外を検出すると開始され、圏内を検出すると停止されます。
圏外が継続し、タイムアウトが発生すると、LTEモデムのみ再起動を行います。
予期せぬLTEモデム障害による継続的な通信不能状態から復旧を試みます。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
’ooswatchdog’ | string | mandatory | 圏外ウォッチドッグタイマを設定するための名前 | |
timer | number | mandatory | 圏外ウォッチドッグタイマ値 設定範囲: 0~24 [時間] 0を指定した場合、無効となります。 デフォルト値は0となります。 | |
return | undefined | - | - |
nqLte.get(name[,args...])
与えられた引数に関連したパラメータを取得します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
name | string | mandatory | 取得するパラメータ名 使用できる名前は、ooswatchdogとなります。 | |
args | string, number | optional | 取得のために使用する引数 | |
return | string, number, undefined | - | string: 要求されたstringデータ number: 要求されたnumberデータ undefined: 要求エラーによる失敗 |
nqLte.get(’ooswatchdog’)
圏外ウォッチドッグタイマ設定値を取得します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
’ooswatchdog’ | string | mandatory | 圏外ウォッチドッグタイマ設定値を取得するための名前 | |
return | number | - | 圏外ウォッチドッグタイマ設定値 |
nqLte.on(event,callback)
イベントハンドラを登録します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
event | string | mandatory | イベント名 使用できるイベント名は、rebootとなります。 | |
callback() | function | mandatory | イベント発生時にコールバック処理を実行します。 | |
return | undefined | - | - |
event : ’reboot’
ooswatchdogや異常検出でLTEモジュールを再起動した時、再起動から復帰した時にコールバック処理を実行します。
コールバックの引数は以下の通りとなります。
Arguments | Type | Summary | Note |
---|---|---|---|
cause | number | causeはreboot発生要因となります。 0: recovery 1: failure 2: ooswatchdog |
nqLte.isConnected()
LTE通信状態を取得します。
Name | Type | M/O | Summary | Note |
---|---|---|---|---|
return | boolean | - | LTE通信状態 true: 通信可能 false: 通信不可 |
オブジェクトの使用例
Sample 1
GPSの情報を20秒置きに取得し表示するサンプルです。
var getEvent = 0;
var to = setInterval(function() {
getEvent = 1;
},20000);
nqLte.gpsOn(1);
while(1){
if(getEvent){
getEvent = 0;
nqLte.getPosition(function(loc){
if(2 <= loc.fix) {
print('GPS information');
print('datetime: ' + loc.datetime);
print('latitude: ' + loc.latitude.toFixed(6));
print('longitude: ' + loc.longitude.toFixed(6));
print('altitude: ' + loc.altitude.toFixed(1));
} else {
print('GPS no fix');
}
});
}
}
Sample 2
GPSの情報が得られるまで180秒待つサンプルです。
取得した情報を表示した後、GPSをオフにします。
nqLte.gpsOn();
nqLte.getPosition(180000,function(loc){
print('getPositionCb');
print('fix:'+loc.fix.toString());
print('datetime:'+loc.datetime);
print('latitude:'+loc.latitude.toFixed(6));
print('longitude:'+loc.longitude.toFixed(6));
print('altitude:'+loc.altitude.toFixed(6));
nqLte.gpsOff();
});
Sample 3
信号品質情報と識別情報を取得し表示するサンプルです。
var ids = nqLte.getIDs();
print('imei: '+ids.imei);
print('imsi: '+ids.imsi);
print('msisdn: '+ids.msisdn);
print('iccid: '+ids.iccid);
print('model: '+ids.model);
nqLte.getSignalQuality(function(sq){
print('registered: '+sq.registered.toString());
print('signal: '+sq.signal.toString());
print('service: '+sq.service.toString());
print('roaming: '+sq.roaming.toString());
print('rssi: '+sq.rssi.toString());
print('sysmode: '+sq.sysmode.toString());
print('rsrp: '+sq.rsrp.toString());
print('rsrq: '+sq.rsrq.toString());
print('sinr: '+sq.sinr.toString());
print('tac: '+sq.tac.toString());
print('ci: '+sq.ci.toString());
print('mcc: '+sq.mcc.toString());
print('mnc: '+sq.mnc.toString());
});
Updated: 2022-06-02