NEQTO Docs
  • Languages icon日本語
    • English
  • ドキュメント
  • API
  • FAQ

›neqto.js

Getting Started

  • NEQTO Hello World!
  • Tutorial Step 1. NEQTO Console設定
  • Tutorial Step 2. デバイス設定とサービスの開始 (NEQTO Bridge)
  • Tutorial Step 2. デバイス設定とサービスの開始 (STM32 Discovery)
  • Tutorial Step 2. デバイス設定とサービスの開始 (SPRESENSE)
  • Tutorial Step 3. スクリプトを使ったアプリケーション開発

NEQTO

  • NEQTO アカウント登録
  • サブアカウント
  • APIの利用
  • NEQTO Engineファームウェアリスト
  • お問い合わせに関するガイドライン
  • NEQTO 製品を安全に安心してご使用いただくために
  • 脆弱性開示ポリシー

NEQTO Console

  • はじめに
  • 基本情報
  • 管理者専用の操作
  • デバイス管理
  • Linuxデバイス管理
  • 一括登録
  • スクリプト
  • アクション & コンタクト
  • Consoleでデータを表示
  • NEQTO Apps

    • NEQTO Apps について
    • NEQTO Infinitypool
    • NEQTO Insights
    • NEQTO Custodia
    • NEQTO Flow
  • Machine Driver
  • 推奨ブラウザ
  • 請求情報

SPRESENSE

    ハードウェア仕様

    • 01. About Spresense

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. Spresense Wi-Fi 初期設定
    • 04. Spresense LTE-M 初期設定
    • 05. デバッグログ取得方法
    • 06. システムLED動作
    • 07. イベントメッセージ
    • 08. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. GPIO
    • 12. UART
    • 13. SPI
    • 14. I2C
    • 15. ADC
    • 16. GNSS
    • 17. Camera
    • 18. Utils
    • 19. nqSpresense
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte

STM32 Discovery

    ハードウェア仕様

    • 01. About STM32 Discovery Kit (B-L4S5I-IOT01A)

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. STM32 Discovery Wi-Fi 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 18. Utils
    • 19. nqDiscovery
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi

NEQTO Bridge

    ハードウェア仕様

    • 01. NEQTO Bridge Module
    • 02. NEQTO Bridge Wi-Fi Module
    • 03. NEQTO Bridge LTE-1 Module
    • 04. NEQTO Bridge LTE-M/NB Module
    • 05. NEQTO Bridge IO Board
    • 06. NEQTO Bridge Digital IO Board
    • 07. NEQTO Bridge Connector Board

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. NEQTO Bridge Wi-Fi Module 初期設定
    • 03. NEQTO Bridge LTE Module 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 17. BLE
    • 18. Utils
    • 19. nqBridge
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte
    • 25. nqLAN
    • 26. nqEx

Linux-based device

    ソフトウェア仕様

    • 01. システム要件
    • 02. インストール
    • 03. ソフトウェア構成
    • 04. 動作フロー
    • 05. デバッグログ取得方法
    • 06. イベントメッセージ
    • 07. ソフトウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. RTC
    • 10. UNIXSocket
    • 11. FileSystem
    • 12. SubProcess
    • 13. SubTask
    • 14. Queue
    • 15. Utils
    • 16. nqLinux
    • 17. nqService
    • 18. nqMqtt
    • 19. nqFOTA
    • 20. nqLAN

neqto.js Libraries

  • About neqto.js Libraries
  • UART

    • GM65 Barcode Reader
    • SRF Ultrasonic Range Finder - Serial Mode

    I2C

    • HTS221 v2 Temperature and Humidity Sensor
    • LIS2DW12 v2 Accelerometer
    • SRF Ultrasonic Range Finder - I2C Mode
    • [Archive] HTS221 Temperature and Humidity Sensor
    • [Archive] LIS2DW12 Accelerometer

    Utils

    • RTC Alarm Synchronized Scheduler

    Integration

    • AWS S3 v2
    • AWS IoT Core v2
    • Azure IoT v2
    • [Archive] GCP IoT Core
    • [Archive] AWS S3
    • [Archive] AWS IoT Core

neqto.js Snippets

  • About neqto.js Snippets
  • DataDog
  • Dropbox
  • Google Sheets
  • InfluxDB
  • Oracle Cloud Object Storage
  • Salesforce
  • Splunk
  • Niagara
  • [Archive] SAP Cloud Platform Internet of Things

Release Notes

  • NEQTO Console アップデート
  • NEQTO Firmware (Bridge Wi-Fi/LTE Module) リリース
  • NEQTO Firmware (STM32 Discovery Wi-Fi) リリース
  • NEQTO Firmware (Spresense Wi-Fi/LTE-M) リリース
  • NEQTO Engine Linux版 リリース
  • neqto.js Libraries リリース

17. nqService

nqServiceオブジェクトは、NEQTO専用の各種機能を提供する組み込みオブジェクトです。

機能概要:

  • NEQTO Consoleへイベント通知する機能を提供します。
  • NEQTO Consoleへ計測データや任意データを一括送信する機能を提供します。
  • NEQTOデバイスに割り当てられているサービス固有情報を取得する機能を提供します。
  • Expressモードの動作を設定する機能を提供します。
  • セーフモードの動作を設定する機能を提供します。

制限事項:

  • 使用可能なセッションリソースは1本です。
  • 一度に送信可能なデータサイズは最大128KBまでとなります。
    最大サイズを超えたデータを送信した場合、通信が強制的に切断されます。



nqService Global Object

Methods()/PropertiesSummaryVersionNote
nqService.eventNotify()イベント通知を実行します。※
nqService.batteryNotify()バッテリイベント通知を実行します。00.01.00+※
nqService.cancelNotify()イベント通知もしくはバッテリイベント通知を中止します。
nqService.startPublish()一括データ送信するための通信を開始します。※
nqService.writePublish()nqService.startPublish()後、送信データを書き込みます。
nqService.endPublish()nqService.startPublish()で開始された通信を終了します。
nqService.cancelPublish()nqService.startPublish()で開始された通信を中止します。
nqService.on()イベントハンドラを登録します。
nqService.getServiceId()NEQTOデバイスに割り当てられているサービス固有情報を取得します。
nqService.setExpressConf()Expressモードの動作パラメータを設定します。
nqService.inhibitSafeMode()セーフモードを抑制します。00.02.00+

※ これらのメソッドは同時使用できません。
     いずれかのメソッド実行後は、通信終了を待ってから次のメソッドを使用してください。



Details

nqService.eventNotify(eventType[,content][,callback][,timestamp])

イベント通知を実行します。
本メソッドに関する注意事項を確認してください。

eventTypeSummaryVersionNote
'info','warn','error','fatal'ユーザーイベントメッセージをNEQTO Consoleに通知します。
'time'NEQTO Consoleから時刻情報を取得し、デバイス内部の時計を補正します。

eventType : 'info','warn','error','fatal'

ユーザーイベントメッセージをNEQTO Consoleに通知します。

NameTypeM/OSummary                            Note
eventTypestringmandatoryイベントタイプ
所望のイベントメッセージレベルを指定します。
'info','warn','error','fatal'
contentstringmandatory任意メッセージを指定します。文字数に制限はありませんが、メモリリソースは有限です。上限に達するとリソースエラーが発生します。目安として最大256文字以下で使用してください。
callback
(statusCode)
functionoptional通信終了時にコールバック処理を実行します。
statusCode : {number}
HTTPレスポンスのステータスコード
201: 成功
以外: 失敗
本コールバック処理が実行され、コールバック処理から抜けた後に、本メソッドを再度実行可能となります。
timestampnumberoptionalタイムスタンプ
unixtime[ms]を指定します。
指定がない場合は、本メソッドをコールした際の時刻となります。
Version 00.00.03+
(旧バージョンはコールした際の時刻となります)
returnundefined--異常が発生した時は、例外となります。

eventType : 'time'

NEQTO Consoleから時刻情報を取得し、デバイス内部の時計を補正します。

NameTypeM/OSummaryNote
eventTypestringmandatoryイベントタイプ
'time'
callback
(statusCode)
functionoptional通信終了時にコールバック処理を実行します。
statusCode : {number}
HTTPレスポンスのステータスコード
200
: 成功
以外: 失敗
returnundefined--異常が発生した時は、例外となります。

nqService.batteryNotify(eventType,status[,callback][,timestamp])

バッテリイベント通知を実行します。
指定されたバッテリステータスをNEQTO Consoleに通知します。
本メソッドに関する注意事項を確認してください。

尚、スクリプトの再ロードやファームウェア更新等、動作スクリプト外の動作に遷移した場合、バッテリステータスはN/A状態に戻ります。

NameTypeM/OSummary                            Note
eventTypestringmandatoryイベントタイプ
所望のイベントメッセージレベルを指定します。
'info','warn','error','fatal'
statusstring, nullmandatoryバッテリステータス
バッテリ状態を指定します。
'charging': 充電中
'full': 100%以下
'half': 50%以下
'low': 25%以下
'empty': 低電圧
'malfunction': 故障
null: N/A
callback
(statusCode)
functionoptional通信終了時にコールバック処理を実行します。
statusCode : {number}
HTTPレスポンスのステータスコード
201: 成功
以外: 失敗
本コールバック処理が実行され、コールバック処理から抜けた後に、本メソッドを再度実行可能となります。
timestampnumberoptionalタイムスタンプ
unixtime[ms]を指定します。
指定がない場合は、本メソッドをコールした際の時刻となります。
returnundefined--異常が発生した時は、例外となります。

nqService.cancelNotify()

イベント通知もしくはバッテリイベント通知を中止します。

NameTypeM/OSummaryNote
returnundefined--

nqService.startPublish(dataLen)

一括データ送信するための通信を開始します。
本メソッドに関する注意事項を確認してください。

尚、一括データはnqMqtt.getメソッドを使ってフォーマットされている必要があります。
又、フォーマットされたデータは','を使用してさらに結合可能です。(サンプルコード参照)

NameTypeM/OSummaryNote
dataLennumbermandatory総送信データ長[byte]を指定します。
returnundefined--異常が発生した時は、例外となります。

nqService.writePublish(data[,callback])

nqService.startPublish()後、送信データを書き込みます。
分割送信する場合は、コールバック処理を利用して、複数回実行します。(サンプルコード参照)

NameTypeM/OSummary                          Note
datastring, ArrayBuffermandatory送信データ一度に書き込むデータサイズは4KB以下にしてください。エラーが発生した場合は一度に書き込むデータサイズを減らしてください。
尚、送信データ長が0の場合、送信処理が行われないため、コールバックは発生しません。
(ArrayBuffer対応: Version 00.00.03+)
callback
(len)
functionoptional送信完了時にコールバック処理を実行します。
len : {number}
送信データ長[byte]
送信処理中に通信エラーが発生した場合、0となります。
通信エラーが発生した場合、本コールバック処理が実行され、コールバック処理を抜けた後に、nqService.startPublish()を再度実行可能となります。
returnundefined--異常が発生した時は、例外となります。

nqService.endPublish([data][,callback])

nqService.startPublish()で開始された通信を終了します。
送信データを指定した場合は送信後に終了します。

NameTypeM/OSummary                          Note
datastring, ArrayBufferoptional送信データ書き込むデータサイズは4KB以下にしてください。エラーが発生した場合は書き込むデータサイズを減らし、nqService.writePublish()を使用した分割書き込みを実行してください。
(ArrayBuffer対応: Version 00.00.03+)
callback
(statusCode)
functionoptional通信終了時にコールバック処理を実行します。
statusCode : {number}
HTTPレスポンスのステータスコード
200: 成功
以外: 失敗
本コールバック処理が実行され、コールバック処理から抜けた後に、nqService.startPublish()を再度実行可能となります。
returnundefined--異常が発生した時は、例外となります。

nqService.cancelPublish()

nqService.startPublish()で開始された通信を中止します。

NameTypeM/OSummaryNote
returnundefined--

nqService.on(event,callback)

イベントハンドラを登録します。

NameTypeM/OSummaryNote
eventstringmandatoryイベント名
使用できるイベント名はreloadとなります。
callback()functionmandatoryイベント発生時にコールバック処理を実行します。
returnundefined--

event : ’reload’

スクリプトの再ロードやファームウェア更新等、NEQTO Console契機のトリガーコマンドによる動作スクリプトの強制終了イベントが発生する前に、コールバック処理を実行します。
最小限の後処理を実行する用途として活用できます。
尚、自発的に動作スクリプトが終了するthrow文やSyntax error等による例外が発生した場合は、本コールバックは発生しません。

コールバック処理の中で、無限ループが発生した場合、NEQTO Console契機のトリガーコマンド制御が機能しなくなる可能性があります。コールバック処理を実装する前にこちらの注意事項を確認してください。

nqService.getServiceId()

NEQTOデバイスに割り当てられているサービス固有情報を取得します。

NameTypeM/OSummaryNote
return{ServiceID}-{ServiceID} : サービス固有情報

{ServiceID}

NameTypeSummaryNote
.regionstringリージョンasia-pacific-1, north-america-1
.groupstringグループID
.nodestringノードID

nqService.setExpressConf(timeout)

Expressモードの動作パラメータを設定します。

本設定はExpressモードが有効の場合のみ適用され、最後に設定した値が不揮発メモリに保存されます。Expressモードが無効の場合は無視されます。尚、Expressモードを無効化した際、全てのパラメータがデフォルト値に戻ります。

NameTypeM/OSummaryNote
timeoutnumbermandatoryネットワーク接続待ちタイムアウト値[s]を指定します。
設定範囲: -1, 0~3600
デフォルト値は-1となります。
-1を指定した場合、システムデフォルト値15秒が適用されます。
returnundefined--異常が発生したときは、例外となります。

nqService.inhibitSafeMode()

セーフモードを抑制します。

スクリプト起動時から60秒経過してから例外が発生した場合、イベントメッセージによって例外要因が通知された後、自動的にスクリプトのリロードが行われ、スクリプトが再起動されます。但し、60秒未満で例外が発生した場合は、セーフモードに入ります。

本機能はスクリプトが起動する度に無効化されます。有効を維持する場合は、スクリプトコードの先頭で常にこのメソッドを呼び出してください。

NameTypeM/OSummaryNote
returnundefined--
//==============================================================
// neqto.js application
// Sample Application
//==============================================================
log.setLevel(0,2); //-1:NONE 0:ERROR 1:WARNING 2:DEBUG 3:TRACE, 0:DISABLE 1:LOG 2:CONSOLE 3:BOTH
log.printLevel(2); //0:DISABLE 1:LOG 2:CONSOLE 3:BOTH

nqService.inhibitSafeMode();



オブジェクトの使用例

Sample 1

一定周期で、イベントメッセージ通知を行うサンプルです。

var count = 0;
var notifying = 0;
var INTERVAL = 15000; //ms
var MAX_COUNT = 3;
var cb_done = function(statusCode) {
    count++;
    if(statusCode == 201) {
        print(Date() + ' Success! :' + statusCode);
    } else {
        print(Date() + ' Failure :' + statusCode);
    }
    notifying = 0;
};
var to = setInterval(function() {
    if(count >= MAX_COUNT) {
        clearInterval(to);
        print('try out');
    } else {
        if(notifying == 0) {
            notifying = 1;
            nqService.eventNotify('info', 'userlevel-Notify-' + count, cb_done);
            print('busy');
        }
    }
}, INTERVAL);

Sample 2

一定周期で、時刻補正イベントを行うサンプルです。

var count = 0;
var correcting = 0;
var INTERVAL = 15000; //ms
var MAX_COUNT = 3;
var cb_done = function(statusCode) {
    count++;
    if(statusCode == 200) {
        print(Date() + ' Success! :' + statusCode);
    } else {
        print(Date() + ' Failure :' + statusCode);
    }
    correcting = 0;
};
var to = setInterval(function() {
    if(count >= MAX_COUNT) {
        clearInterval(to);
        print('try out');
    } else {
        if(correcting == 0) {
            correcting = 1;
            nqService.eventNotify('time', cb_done);
            print('busy');
        }
    }
}, INTERVAL);

Sample 3

ストレージに蓄積されたセンサーデータを一括送信するサンプルです。

var mb = storage.open(0);
mb.reset();
var FRAME_TYPE = 'nqSRV';
var w_len;
var allFrameSize;
var readIdx;
var nowUnix = (new Date()).getTime();
var lwM2MStr;
for(n=0; n<5; n++) {
    lwM2MStr = nqMqtt.get('LwM2MString', nowUnix + (n * 10000), 3313, 0, 5702, "Float", "1.0", 5703, "Float", "-1.0", 5704, "Float", "0.0", 5700, "Float", (1.0 + n*0.2).toFixed(1), "G");
    w_len = mb.writeFrame(FRAME_TYPE, (n > 0 ? ',' + lwM2MStr : lwM2MStr));
}
var getFrameData = function(init) {
    var tmpStr;
    var frame = '';
    if(init == 1) {
        readIdx = 0;
    }
    if(allFrameSize > 0) {
        tmpStr = mb.searchFrame(FRAME_TYPE, readIdx++);
        allFrameSize -= tmpStr.length;
        frame += tmpStr;
    }
    return frame;
}
var cb_done = function(statusCode) {
    if(statusCode == 200) {
        print(Date() + ' Success! :' + statusCode);
        mb.reset(); //Delete the data that could be sent
    } else {
        print(Date() + ' Failure :' + statusCode);
    }
};
var cb_w_done = function(len) {
    if(len === 0) {
        print(Date() + ' cb write failure!'); //disconnected
    } else {
        print(Date() + ' cb write success!');
        var frameData = getFrameData(0);
        if(allFrameSize <= 0) {
            nqService.endPublish(frameData, cb_done);
        } else {
            nqService.writePublish(frameData, cb_w_done);
        }
    }
};
allFrameSize = mb.searchAllFrame(FRAME_TYPE);
if(allFrameSize > 0) {
    print('allFrameSize:' + allFrameSize);
    nqService.startPublish(allFrameSize);
    nqService.writePublish(getFrameData(1), cb_w_done);
}



Updated: 2025-01-23
← 前次 →
  • nqService Global Object
  • Details
    • nqService.eventNotify(eventType[,content][,callback][,timestamp])
    • eventType : 'info','warn','error','fatal'
    • eventType : 'time'
    • nqService.batteryNotify(eventType,status[,callback][,timestamp])
    • nqService.cancelNotify()
    • nqService.startPublish(dataLen)
    • nqService.writePublish(data[,callback])
    • nqService.endPublish([data][,callback])
    • nqService.cancelPublish()
    • nqService.on(event,callback)
    • event : ’reload’
    • nqService.getServiceId()
    • {ServiceID}
    • nqService.setExpressConf(timeout)
    • nqService.inhibitSafeMode()
  • オブジェクトの使用例
    • Sample 1
    • Sample 2
    • Sample 3
NEQTO とはニュースサービスFAQプライバシーポリシー脆弱性開示ポリシー
NEQTO Console
はじめに基本情報管理者専用の操作デバイス管理NEQTO Apps
NEQTO Bridge
NEQTO Bridge ピン配置NEQTO Bridge Wi-Fi ModuleNEQTO Bridge LTE-1 Moduleデバッグログ取得方法イベントメッセージ
APIのドキュメント
APIの利用グローバル APIリージョン APIAPIサービス利用規約
Jigsaw, Inc.
© 2025 JIG-SAW INC.