neqto: Docs
  • Languages iconEnglish
    • 日本語
  • Docs
  • Region API
  • Global API
  • FAQ

›neqto.js Snippets

Getting Started

  • neqto: Hello World!
  • Step 1. Cloud Setting
  • Step 2. Device Setting & Start Service

    • When using neqto: Bridge
    • When using Spresense
  • Step 3. Using Sensors

neqto:

  • neqto: Account Registration
  • API Usage
  • Batch Registration
  • Support Guidelines

neqto: Console

  • Introduction
  • Fundamentals
  • Administrative Actions
  • Device Management
  • Scripts
  • Actions and Contacts
  • neqto: Apps
  • Machine Driver
  • Recommended Browsers
  • Billing Information

SPRESENSE

    Hardware Specifications

    • 01. About Spresense

    Software Specifications

    • 01. Operational Flow
    • 02. Initial Installation
    • 03. Spresense Wi-Fi Initial Setup
    • 05. Debug Log Acquisition
    • 06. System LED Indications
    • 07. Event Messages
    • 08. Updating Firmware

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 10. RTC
    • 12. GPIO
    • 13. UART
    • 15. I2C
    • 17. Camera
    • 18. nqSpresense
    • 19. nqService
    • 20. nqMqtt
    • 21. nqFOTA
    • 22. nqWiFi

neqto: Bridge Series

    Hardware Specifications

    • 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 IO Board Short Plug
    • 07. neqto: Bridge Digital IO Board
    • 08. neqto: Bridge Digital IO Board Short Plug

    Software Specifications

    • 01. Operational Flow
    • 02. neqto: Bridge Wi-Fi Module Initial Setup
    • 03. neqto: Bridge LTE Module Initial Setup
    • 04. Debug Log Acquisition
    • 05. System LED Indications
    • 06. Event Messages
    • 07. Updating Firmware

    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. nqBridge
    • 19. nqService
    • 20. nqMqtt
    • 21. nqFOTA
    • 22. nqWiFi
    • 23. nqLte
    • 24. nqLAN
    • 25. nqEx

neqto.js Libraries

    I2C

    • LIS2DW12 v2 Accelerometer
    • HTS221 v2 Temperature and Humidity Sensor
    • [Archive] LIS2DW12 Accelerometer
    • [Archive] HTS221 Temperature and Humidity Sensor

    Integration

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

neqto.js Snippets

  • DataDog Snippet
  • Dropbox Snippet
  • Google Sheets Snippet
  • InfluxDB Snippet
  • Oracle Cloud Object Storage Snippet
  • Salesforce Snippet
  • SAP Cloud Platform Internet of Things Snippet
  • Splunk Snippet
  • Niagara Snippet

Release Notes

  • neqto: Cloud Updates
  • neqto: Firmware (Bridge Wi-Fi/LTE Module) Releases
  • neqto: Firmware (Spresense Wi-Fi) Releases

Dropbox Snippet

This snippet can be used by copy-pasting to the neqto.js script.

neqto: BridgeSPRESENSE
v00.00.30+v01.00.00+

This snippet provides a function to send IoT data to Dropbox.

Details

The send_dropbox function can be used to POST the passed string 'payload' to Dropbox according to the specified 'fileOptions' using an app access token, over HTTPS. The result (error/response) is then passed to the callback function.

To start using this snippet, ACCESS_TOKEN (Access Token from the Dropbox app), and CA are required to be configured by the user.

NOTE: The provided function only allows payloads up to size of 4KB. For bigger sized payloads, please refer to the sample for divided writing in neqto.js docs for neqto: Bridge and Sony Spresense.

The following CA can be used (as of 2020-07-30),

/* DigiCert High Assurance EV Root CA - 02ac5c266a0b409b8f0b79f2ae462577 */
var CA = "-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm\n+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW\nPNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\nxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\nIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3\nhzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg\nEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA\nFLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\nnzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z\neM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF\nhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\nYzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe\nvEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\n+OkuE6N36B9K\n-----END CERTIFICATE-----";
//=================================================================
// DROPBOX SNIPPET
//=================================================================

//=================================================================
// The following configuration are MANDATORY. Set by user.
//=================================================================
// The Access Token for authorization from the Dropbox app.
// eg. 'xxxxxxxxxxxxxxxx'
var ACCESS_TOKEN = '<YOUR_ACCESS-TOKEN>';

// Public certificate of the certificate authority that signed the Dropbox server certificate for SSL/TLS handshake.  
// eg. '-----BEGIN CERTIFICATE-----\n...<CA>...\n-----END CERTIFICATE-----'
var CA = '<YOUR_CA>';
//=================================================================

/**
 * Upload data to Dropbox file using Access Token.
 * https://www.dropbox.com/developers/documentation/http/documentation
 * @function send_dropbox
 * @param {string} fileOptions - Details of the write operation, as an Object.
 * @param {string} payload - Data to be sent to Dropbox, as a String.
 * @param {function} callback - User callback to return the result (error/response).
 * @returns {undefined}
 */
var send_dropbox = function (fileOptions, payload, callback) {
    var body = payload.toString();
    var options = {
        "method": 'POST',
        "host": 'content.dropboxapi.com',
        "path": '/2/files/upload',
        "headers": {
            "Content-Type": 'application/octet-stream',
            "Dropbox-API-Arg": JSON.stringify(fileOptions),
            "Authorization": `Bearer ${ACCESS_TOKEN}`,
            "Content-Length": body.length.toString()
        },
        "ca": CA
    };
    var request = https.request(options, function (response) {
        response.on('end', function () {
            callback(null, { "statusCode": response.statusCode, "statusMessage": response.statusMessage, "body": response.read() });
        });
    });
    request.on('error', function () {
        callback({ "errCode": request.errCode }, null);
    });
    request.end(body.toString(), function () {
        print("[request] SUCCESS");
    });
}

Function Usage Example

/*
<INSERT ABOVE SNIPPET HERE WITH SET CONFIGURATIONS>
*/

//=================================================================
log.setLevel(-1);       //-1:NONE 0:ERROR 1:WARNING 2:DEBUG 3:TRACE
log.printLevel(2);      //0:DISABLE 1:LOG 2:CONSOLE 3:BOTH
//=================================================================
// MAIN SCENARIO
//=================================================================

/**
 * Callback to fetch error/response from the request.
 * @function callback
 * @param {object} err - Error returned in case of a failed request. Has one property - `errCode`.
 * @param {object} data - Response returned by a successfully completed request. Has three properties - `statusCode`, `statusMessage`, and `body`.
 */
var callback = function (err, data) {
    if (err) {
        print("[error]", err.errCode);
    } else {
        print("[status]", data.statusCode, data.statusMessage);
        print("[response]", data.body);
    }
}

var fileOptions = {
    // "property_group": '', // OPTIONAL
    // "client_modified": '', // OPTIONAL
    "path": '/folder/file.txt',
    "mode": 'add', /* 'add', 'overwrite', 'update' */
    "autorename": true, /* true, false */
    "mute": false, /* false, true */
    "strict_conflict": false /* false, true */
};
var payload = "Hello from neqto: Device";
send_dropbox(fileOptions, payload, callback);
The company names and product names mentioned above are registered trademarks or trademarks of their respective companies.

Updated: 2020-09-09
← DataDog SnippetGoogle Sheets Snippet →
  • Details
  • Function Usage Example
AboutNewsProductsFAQPrivacy Policy}
neqto: Cloud
IntroductionFundamentalsAdministrative ActionsDevice Management neqto: Apps
neqto: Bridge Series
neqto: Bridge Moduleneqto: Bridge Wi-Fi Moduleneqto: Bridge LTE-1 ModuleError Logging Event Messages
API Documentation
API UsageGlobal APIRegional APIAPI Terms of Service
Jigsaw, Inc.
© 2021 JIG-SAW INC.