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

›Integration

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

AWS IoT Core v2

このライブラリは、AWS IoT Coreと通信する機能を提供する組み込みクラスです。

Library usage requirements
Type Integrations
Name AWS_IoT_Core_V2
Version 2.1.0
Code size used 3.2KB
Resources used HTTPS x 1, MQTT x 1, Timers x 1

関連資料

  • AWS IoT Coreに関する詳細仕様については、「AWS IoT Core Documentation」を参照してください。
  • HTTPSオブジェクト仕様 (NEQTO Bridge/STM32 Discovery/SPRESENSE/Linux)
  • MQTTオブジェクト仕様 (NEQTO Bridge/STM32 Discovery/SPRESENSE/Linux)



Abstracts

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

{AWS_IOT_CORE} Instance

Methods()/PropertiesSummaryNote
.httpPost()HTTPS経由でAWS IoT Coreにデータを送信します。
.abortHttpRequest()現在進行中のHTTPリクエストを中止します。
.mqttConnect()AWS IoT CoreにMQTT接続します。
.errors無効なキー名(文字列)を含む配列
コンストラクタまたは.setConfig()で無効なパラメータが検出された場合に生成されます。
.CONST.VERSIONバージョン(文字列)v2.1.0+



Details

new AWS_IOT_CORE([config])

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

NameTypeM/ODescriptionNote
configObjectoptionalコンフィグレーション
詳細はconfigを参照してください。
return{AWS_IOT_CORE}-{AWS_IOT_CORE} : 生成された{AWS_IOT_CORE}無効なパラメータが検出された場合、.errorsが生成されます。

config

NameTypeM/ODescriptionNote
hoststringmandatoryAWS IoT Coreエンドポイント
deviceCertstringmandatoryこのデバイスに関連付けられているX.509証明書
PEM形式の文字列を指定します。改行コードには\nを使用します。
devicePrivKeystringmandatoryこのデバイスに関連付けられている秘密鍵
PEM形式の文字列を指定します。改行コードには\nを使用します。
castringmandatoryAWS IoT CoreのルートCA証明書
PEM形式の文字列を指定します。改行コードには\nを使用します。
httpTimeoutnumberoptionalHTTPリクエストのタイムアウト値[秒]
0の場合、タイムアウト機能無効となります。
デフォルト値は0となります。
v2.1.0+
timeoutnumber-本パラメータは無視されます。未使用

AWS_IOT_COREインスタンス生成時に、コンフィグレーション(config)を設定します。
無効なパラメータが検出された場合、無効なキーの名前を含む配列が.errorsプロパティとして生成されます。パラメータが正常であった場合、.errorsプロパティは削除されます。

var iot = new AWS_IOT_CORE({
    host: <value>,
    deviceCert: <value>,
    devicePrivKey: <value>,
    ca: <value>
});
if('errors' in iot) {
    //TODO: Handle errors
}

.setConfig(config)

AWS_IOT_COREインスタンス生成後に、コンフィグレーション(config)を設定します。
無効なパラメータが検出された場合、無効なキーの名前を含む配列が.errorsプロパティとして生成されます。パラメータが正常であった場合、.errorsプロパティは削除されます。

var iot = new AWS_IOT_CORE();
iot.setConfig({
    host: <value>,
    deviceCert: <value>,
    devicePrivKey: <value>,
    ca: <value>
});
if('errors' in iot) {
    //TODO: Handle errors
}

Setter Methods

AWS_IOT_COREインスタンス生成後に、下記セッターメソッドを使用して個別にコンフィグレーション(config)を設定可能です。
成功した場合、自身のインスタンスが返却されます。無効なパラメータが検出された場合は、falseが返却されます。

Setter MethodDescriptionNote
.setHost(value)hostを設定します。
.setDeviceCert(value)deviceCertを設定します。
.setDevicePrivKey(value)devicePrivKeyを設定します。
.setRootCA(value)caを設定します。
.setHttpTimeout(value)httpTimeoutを設定します。v2.1.0+
.setTimeout(value)timeoutを設定します。未使用

.httpPost(topic,headers,getBody,callback[[,qos],sockTo])

HTTPS経由でAWS IoT Coreにデータを送信します。
送信先はtopicで指定されたAWS IoT Coreエンドポイントになります。

NameTypeM/ODescriptionNote
topicstringmandatoryMQTTトピックを指定します。
本設定値は/topics/${topic}に変換されます。
headersobjectmandatoryHTTPリクエストヘッダを指定します。
「Content-Length」を含める必要があります。
getBodyfunctionmandatory送信データ(body)引き取り時にコールバック処理を実行します。
データがなくなるまで、4KB以下のstringもしくはArrayBufferチャンクでデータを渡し、最後にnullを渡します。
callback(err, resp)functionmandatory処理完了時にコールバック処理を実行します。
コールバック関数の引数で処理結果を通知します。
err: {HttpReqError}, null
resp: {HttpResponse}, null
HTTPリクエストでエラーが発生した場合はerr、HTTPレスポンスが受信できた場合はrespが設定されます。
qosnumberoptionalMQTTサービス品質レベルを指定します。
本設定値は?qos=${qos}に変換されます。
デフォルト値は0となります。
sockTonumberoptionalHTTPセッションのタイムアウト値[ms]を指定します。
本パラメータはhttps.request()メソッドのsockTo設定値となります。詳しくはHTTPSオブジェクト仕様を参照してください。
v2.1.0+
returnundefined-

{HttpReqError}

NameTypeDescriptionNote
.errCodenumberHTTPSリクエストのエラーコード
詳しくはHTTPSオブジェクトのエラーコード表を参照してください。

{HttpResponse}

NameTypeDescriptionNote
.statusCodenumberHTTPレスポンスのステータスコード
.statusMessagestringHTTPレスポンスのステータスメッセージ
.bodystring, nullHTTPレスポンスデータ (Response-Body)

.abortHttpRequest()

現在進行中のHTTPリクエストを中止します。

NameTypeM/ODescriptionNote
returnundefined-

.mqttConnect([options])

AWS IoT CoreにMQTT接続します。

本メソッドはmqtt.connect()メソッドのラッパー関数です。
AWS IoT CoreにMQTT接続するためのMQTTクライアントインスタンス{Client}を生成します。
生成された{Client}インスタンスの使用方法については、MQTTオブジェクト仕様を参照してください。

NameTypeM/ODescriptionNote
optionsobjectoptional本パラメータはmqtt.connect()メソッドのoptions設定値となります。詳しくはMQTTオブジェクト仕様を参照してください。
return{Client}, undefined-AWS IoT Core用MQTTクライアントインスタンス

本メソッドによって上書きされるmqtt.connect()関連の設定値

  • mqtt.set(’ssl.ca’, certificate)
    • certificate: config.ca
  • mqtt.set(’ssl.cert’, certificate)
    • certificate: config.deviceCert
  • mqtt.set(’ssl.key’, clientkey)
    • clientkey: config.devicePrivKey
  • mqtt.connect(url[, options])
    • url: mqtts://${config.host}:8883



Usage Examples

すべてのサンプルコードにおいて、以下の共通コードを使用します。

ルートCA証明書がAWS IoT Coreエンドポイントに対して適切であることを事前に確認してください。
CA証明書の取得方法については、こちらを参考にしてください。

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

var rootCa = '-----BEGIN CERTIFICATE-----\n...<CA>...\n-----END CERTIFICATE-----';
var deviceCert = '-----BEGIN CERTIFICATE-----\n...<CERT>...\n-----END CERTIFICATE-----';
var deviceKey = '-----BEGIN RSA PRIVATE KEY-----\n...<KEY>...\n-----END RSA PRIVATE KEY-----';

//TODO: Configuration
var iot = new AWS_IOT_CORE({
    host: <value>,
    deviceCert: deviceCert,
    devicePrivKey: deviceKey,
    ca: rootCa
});
if('errors' in iot) {
    //TODO: Handle errors
    throw new Error("Invalid configuration");
}

Sample 1

HTTPS経由でAWS IoT Coreにデータを送信します。

var topic = "testtopic/shadowtopic/dummy";
var body = JSON.stringify({
    "message": "HTTP post"
});
var headers = {
    "Content-Length": body.length.toString()
};

var busy;
var getBody = function() {
    var temp = body;
    body = null;
    return temp;
};
var callback = function(err, resp) {
    if(err) {
        print("Error!", err.errCode);
    } else {
        print("Response:", resp.body);
        print("Status:", resp.statusCode, resp.statusMessage);
    }
    busy = false;
};

busy = true;
iot.httpPost(topic, headers, getBody, callback);
while(busy);
print("Done");

Sample 2

HTTPS経由でAWS IoT Coreにデータを分割送信します。

var topic = "testtopic/shadowtopic/dummy";
var body = JSON.stringify({
    "message": "This is a really long string[...]"
});
var headers = {
    "Content-Length": body.length.toString()
};

var busy;
var chunkSize = 8; //4KB or less
var index = 0;
var getBody = function() {
    var chunk = body.substring(index, index + chunkSize);
    if(chunk) {
        index = index + chunkSize;
        return chunk;
    }
    return null;
};
var callback = function(err, resp) {
    if(err) {
        print("Error!", err.errCode);
    } else {
        print("Response:", resp.body);
        print("Status:", resp.statusCode, resp.statusMessage);
    }
    busy = false;
};

busy = true;
iot.httpPost(topic, headers, getBody, callback);
while(busy);
print("Done");

Sample 3

AWS IoT CoreにMQTT接続します。
MQTTオブジェクトの自動再接続機能を使用します。

var mqttConnect = function(onConnected, onDisconnected) {
    var cli = iot.mqttConnect({ reconnectCount: 1855 }); //Enable automatic reconnection
    if(!cli) return undefined;
    cli.on('error', function(err) {
        //TODO: Handle errors
        print("Error!", err.code, `(${cli.get('errnoConnect')})`);
    });
    cli.on('message', function(topic, message) {
        //TODO: Handle messages
        print("Message:", `[${topic}]`, message);
    });
    cli.on('close', function() {
        print("DISCONNECTED");
        if(onDisconnected) {
            onDisconnected();
        }
    });
    cli.on('connect', function() {
        print("CONNECTED");
        if(onConnected) {
            onConnected();
        }
    });
    return cli;
};

var onMqttConnect = function() {
    client.subscribe("testtopic/subtopic/#", { qos: 1 }, function(err) {
        if(err.code != 0) {
            //TODO: Handle errors
            print("Subscribe failed:", err.code);
        }
    });
};

var client = mqttConnect(onMqttConnect);
if(!client) {
    throw new Error("Failed to create mqtt instance");
}

var publishInterval = 5 * 1000;
var publishEvent = false;
var publishCnt = 0;
setInterval(function() {
    publishEvent = true;
}, publishInterval);

while(1) {
    if(client && client.canPublish() && publishEvent) {
        publishEvent = false;
        publishCnt++;
        var message = JSON.stringify({ "message": "publish" + publishCnt });
        client.publish("testtopic/subtopic/dummy", message, { qos: 1 }, function(err) {
            if(err.code == 0) {
                print("Publish OK");
            } else {
                //TODO: Handle errors
                print("Publish failed:", err.code);
            }
        });
    }
}

Sample 4

AWS IoT CoreにMQTT接続します。
MQTTオブジェクトの自動再接続機能を使用せず、手動再接続を行います。

var mqttConnect = function(onConnected, onDisconnected) {
    var cli = iot.mqttConnect();
    if(!cli) return undefined;
    cli.on('error', function(err) {
        //TODO: Handle errors
        print("Error!", err.code, `(${cli.get('errnoConnect')})`);
        if(err.code == 1 && onDisconnected) { //Connection failed
            onDisconnected();
            return;
        }
    });
    cli.on('message', function(topic, message) {
        //TODO: Handle messages
        print("Message:", `[${topic}]`, message);
    });
    cli.on('close', function() {
        print("DISCONNECTED");
        if(onDisconnected) {
            onDisconnected();
        }
    });
    cli.on('connect', function() {
        print("CONNECTED");
        if(onConnected) {
            onConnected();
        }
    });
    return cli;
};

var onMqttConnect = function() {
    client.subscribe("testtopic/subtopic/#", { qos: 1 }, function(err) {
        if(err.code != 0) {
            //TODO: Handle errors
            print("Subscribe failed:", err.code);
        }
    });
};
var onMqttDisconnect = function() {
    setTimeout(function() {
        print("Reconnecting...");
        client.reconnect();
    }, 10000);
};

var client = mqttConnect(onMqttConnect, onMqttDisconnect);
if(!client) {
    throw new Error("Failed to create mqtt instance");
}

var publishInterval = 5 * 1000;
var publishEvent = false;
var publishCnt = 0;
setInterval(function() {
    publishEvent = true;
}, publishInterval);

while(1) {
    if(client && client.canPublish() && publishEvent) {
        publishEvent = false;
        publishCnt++;
        var message = JSON.stringify({ "message": "publish" + publishCnt });
        client.publish("testtopic/subtopic/dummy", message, { qos: 1 }, function(err) {
            if(err.code == 0) {
                print("Publish OK");
            } else {
                //TODO: Handle errors
                print("Publish failed:", err.code);
            }
        });
    }
}


上記に記載されている会社名、製品名は、各社の登録商標または商標です。

Updated: 2024-03-26
← 前次 →
  • Abstracts
    • {AWS_IOT_CORE} Instance
  • Details
    • new AWS_IOT_CORE([config])
    • .httpPost(topic,headers,getBody,callback[[,qos],sockTo])
    • {HttpReqError}
    • {HttpResponse}
    • .abortHttpRequest()
    • .mqttConnect([options])
  • Usage Examples
    • Sample 1
    • Sample 2
    • Sample 3
    • Sample 4
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.