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 リリース

19. nqFOTA

nqFOTAオブジェクトは、NEQTO Machine Driverを使用してユーザーデバイスのファームウェアを更新する機能を提供する組み込みオブジェクトです。

機能概要:

  • ユーザーデバイスのファームウェアイメージファイルのダウンロードとダウンロードデータの読み出し機能を提供します。
  • ユーザーデバイスのファームウェア更新結果をNEQTO Consoleへ通知する機能を提供します。

制限事項:

  • 本オブジェクトは、Machine Driver専用スクリプト上でのみ使用可能です。



Abstracts

Methods()/PropertiesSummaryVersionNote
new nqFOTA()nqFOTAインスタンスを生成します。

{nqFOTA} Instance

Methods()/PropertiesSummaryVersionNote
.fileDownload()指定されたファイルをダウンロードします。
.binRead()ダウンロードしたデータを読み出します。
.reportResult()NEQTO Consoleへファームウェア更新結果を通知します。
.setFailsafeTimer()スクリプトの実行時間監視タイマ値を変更します。



Details

new nqFOTA(fileName[,readChunk[,dlTimeout[,dlMaxTry]]])

nqFOTAインスタンスを生成します。

NameTypeM/OSummary                                        Note
fileNamestringmandatoryダウンロードするファイル名を指定します。
readChunknumberoptionalダウンロードデータの読み出し単位[byte]を指定します。
設定範囲: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
デフォルト値は1024となります。
規定外の設定値が指定された場合、デフォルト値となります。
dlTimeoutnumberoptionalダウンロード通信のタイムアウト値[ms]を指定します。
デフォルト値は30000となります。
dlMaxTrynumberoptionalダウンロード通信の最大試行回数を指定します。
設定範囲: 1~
デフォルト値は2となります。
return{nqFOTA}-{nqFOTA} : 生成された{nqFOTA}

.fileDownload([[dst,]callback])

指定されたファイルをダウンロードします。
このメソッドはブロッキングで処理されます。

一つのnqFOTAインスタンスでダウンロードできるファイルは一つです。
複数のファイルをダウンロードする場合は、新しくnqFOTAインスタンスを作成して、再度ダウンロードを実行してください。

NameTypeM/OSummaryNote
dstnumberoptionalダウンロード先を指定します。
0: 暗号化された状態でデーモン管理下の内部ストレージに保存します。
1: /tmp/neqto/userディレクトリに直接保存します。
2: /var/lib/neqto/userディレクトリに直接保存します。
デフォルト値は0となります。
0を指定した場合、前回ダウンロードしたデータは破棄されます。又、データ読み出しには.binRead()メソッドを使用する必要があります。

1,2を指定した場合、ダウンロード元ファイルそのものが直接格納されます。.binRead()メソッドを使用してデータを読み出すことも可能です。
callback(len,total)functionoptionalダウンロードの途中経過を通知します。内部ダウンロード処理タイミングに同期して定期的にコールバック処理を実行します。
len: {number}
ダウンロード済みサイズ[Byte]
total: {number}
ダウンロードサイズ[Byte]
Version 00.01.00+
returnnumber, undefined-ダウンロードしたファイルサイズ[byte]ダウンロードが失敗した場合、undefinedとなります。(Version 00.03.00+)
(旧バージョンの場合は0となります)

.binRead()

ダウンロードしたデータを読み出します。
一度に読み出すデータサイズは、nqFOTAインスタンス作成時にreadChunkで指定します。

NameTypeM/OSummaryNote
returnArrayBuffer, null-ArrayBuffer : 読み出されたデータ
null : 読み出すデータなし

.reportResult(message,version[,eventType])

NEQTO Consoleへファームウェア更新結果を通知します。
このメソッドはブロッキングで処理されます。

NameTypeM/OSummary                                        Note
messagestringmandatory結果を示す任意メッセージを指定します。例: 'Success','failure', ...
versionstringmandatoryバージョンを示す任意メッセージを指定します。例: 'v1.0.0','001','APP-1.0','APP_1_0_0', ...
eventTypestringoptionalイベントメッセージタイプを指定します。
'info','warn','error','fatal'
デフォルト値は'info'となります。
returnnumber-HTTPレスポンスのステータスコード
200
: 成功
以外: 失敗
異常が発生したときは、例外となります。

.setFailsafeTimer(timeout)

スクリプトの実行時間監視タイマ値を変更します。
NEQTO Machine Driverには、スクリプトが想定通り終了しない場合に備えて実行時間を監視するタイマが存在します。
このタイマは常にスクリプトの開始時に起動され、タイムアウトすると例外を発生させスクリプトを強制終了します。

NameTypeM/OSummary                                        Note
timeoutnumbermandatoryタイムアウト値[s]を指定します。
設定範囲: 0~86400
デフォルト値は10800となります。
規定外の設定値が指定された場合、デフォルト値となります。0が設定された場合はタイマーが無効となります。
returnnumber-設定された値異常が発生したときは、例外となります。



オブジェクトの使用例

以下のサンプルはMachine Driver専用の動作スクリプトです。

Sample 1

ユーザーデバイスのファームウェアを更新するサンプルです。
ファームウェア更新部分はダミーです。
実行時間監視タイマ値を5分に変更しています。

FW_FILEには、Machine Driverのパッケージにアップロードした任意ファイルを指定してください。

var FW_FILE = 'sample.bin'; //Specify the file to be downloaded
var TARGET_VER = '0.0.1';

//Download parameter
var READ_CHUNK = 1024; //same as default
var DL_TIMEOUT = 30000; //same as default
var DL_RETRY = 2; //same as default

var fota = new nqFOTA(FW_FILE, READ_CHUNK, DL_TIMEOUT, DL_RETRY);

var fsTimer = fota.setFailsafeTimer(300); //5minutes
print('failsafeTimer: ' + fsTimer + 's');

var dlProg = 0;
print('Download start (' + FW_FILE + ')');
var dlFileSize = fota.fileDownload(function(len, total) {
    var percent = Math.round(len/total*100);
    if(dlProg != percent) {
        print('Downloading...' + percent + '%');
        dlProg = percent;
    }
});
print('Download completed!', dlFileSize);

var fwUpdate = function(fwSize) {
    var offset = 0;
    print('Update start');
    while(1) {
        var buf = fota.binRead(); //ArrayBuffer
        if(!buf) break;

        //FW write processing
        print('Updating...' + offset + '/' + fwSize);

        offset += buf.byteLength;
    }
    print('Update completed!', offset + '/' + fwSize);
    return true;
}

var getFwVersion = function() {
    return TARGET_VER; //dummy
}

var sendFotaResult = function(result, message, version) {
    var ret = fota.reportResult(message, version, result ? 'info' : 'error');
    print('reportResult:', result, '[' + version + '][' + message + ']', ret == 200 ? 'sendOK' : 'sendError');
}

if(dlFileSize) {
    if(fwUpdate(dlFileSize)) sendFotaResult(true, 'OK', getFwVersion());
    else sendFotaResult(false, 'Update failed', getFwVersion());
} else sendFotaResult(false, 'Download failed', getFwVersion());



Updated: 2025-03-19
← 前次 →
  • Abstracts
    • {nqFOTA} Instance
  • Details
    • new nqFOTA(fileName[,readChunk[,dlTimeout[,dlMaxTry]]])
    • .fileDownload([[dst,]callback])
    • .binRead()
    • .reportResult(message,version[,eventType])
    • .setFailsafeTimer(timeout)
  • オブジェクトの使用例
    • Sample 1
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.