NEQTO Docs
  • Languages iconEnglish
    • 日本語
  • Docs
  • API
  • FAQ

›Software Specifications

Getting Started

  • NEQTO Hello World!
  • Tutorial Step 1. NEQTO Console Setting
  • Tutorial Step 2. Device Settings & Launching Service (NEQTO Bridge)
  • Tutorial Step 2. Device Settings & Launching Service (STM32 Discovery)
  • Tutorial Step 2. Device Settings & Launching Service (SPRESENSE)
  • Tutorial Step 3. Application development using scripts

NEQTO

  • NEQTO Account Registration
  • Sub-accounts
  • API Usage
  • NEQTO CloudSync for GCP
  • NEQTO Engine Firmware List
  • Support Guidelines

NEQTO Console

  • Introduction
  • Fundamentals
  • Administrative Actions
  • Device Management
  • Linux-based Device Management
  • Batch Registration
  • Scripts
  • Actions and Contacts
  • View Data from the Console
  • NEQTO Apps

    • About NEQTO Apps
    • NEQTO Infinitypool
    • NEQTO Insights
    • NEQTO Custodia
    • NEQTO Flow
  • 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
    • 04. Spresense LTE-M 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
    • 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

    Hardware Specifications

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

    Software Specifications

    • 01. Operational Flow
    • 02. Initial Installation
    • 03. STM32 Discovery Wi-Fi 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
    • 18. Utils
    • 19. nqDiscovery
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi

NEQTO Bridge

    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 Digital IO Board
    • 07. NEQTO Bridge Connector Board

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

Linux-based device

    Software Specifications

    • 01. System Requirements
    • 02. Installation
    • 03. Software Configurations
    • 04. Operational Flow
    • 05. Debug Log Acquisition
    • 06. Event Messages
    • 07. Updating Software

    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. Utils
    • 14. nqLinux
    • 15. nqService
    • 16. nqMqtt
    • 17. nqFOTA
    • 18. 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
    • 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
  • SAP Cloud Platform Internet of Things
  • Splunk
  • Niagara

Release Notes

  • NEQTO Console Updates
  • NEQTO Firmware (Bridge Wi-Fi/LTE Module) Releases
  • NEQTO Firmware (STM32 Discovery Wi-Fi) Releases
  • NEQTO Firmware (Spresense Wi-Fi/LTE-M) Releases
  • NEQTO Engine for Linux Releases

01. Operational Flow

This article provides an overview of the operation flow of the NEQTO Bridge.
Hereinafter, "NEQTO Bridge device" is called "device".

*The bold frame in the figure indicates the starting point of the operation mode description.


The device has the following major modes.

  • Script Execution Mode
    In this mode, the operation script is executed in the basic operation of the device.

  • Safe Mode
    In this mode, if an exception such as a throw or a syntax error occurs while executing the script, wait for the script to be modified.

  • Firmware Update Mode
    This mode updates the device firmware.
    It also updates the firmware of the user device with the NEQTO Machine Driver.

The operation flow of each mode is described below.



Script Execution Mode

Normal Booting Operation

Script execution mode is the basic operation of the device.
The device will initialize after booting.
After initialization, connect to the network.
After connecting to the network, access NEQTO Console and authenticate.
When the authentication is completed, download and execute the script.



Booting Operation when unable to connect to a Network

If the device cannot connect to the network when the device starts, retry the network connection.
Note that the script will not be executed in this state.
Check the network settings and signal environment, and restart the device.



Booting Operation when device is not registered to a Node

If the device is started without registering to a node on NEQTO Console, authentication will fail.
Note that the script will not be executed in this state.
Check the node registration and restart the device.



Script Reload Operation

"Script Reload" is the operation to terminate the script once and download and execute the updated script.

Basically, when all the main routines have completed and all resources waiting for callbacks such as timers and nqMQTT objects have been released, the script reload will be performed.

On the other hand, there are two ways to perform a script reload without waiting for resources to be released.

  1. Use trigger command (push notification) from NEQTO Console

    Perform "Reload Script" using the trigger command from NEQTO Console.
    When the device receives the "Reload Script" instruction from NEQTO Console, it forcibly terminates the script and downloads and executes the updated script.
    It can be used to update the script or to intentionally restart the script remotely.

  2. Use a throw statement that contains a specific hashtag

    By executing the throw statement below, you can start reloading spontaneously from within the script.
    It can be used to check if the script is updated regularly or to intentionally restart the script.

    throw '#nqEXIT';
    throw new Error('#nqEXIT');
     



Booting Operation when Express mode is enabled

In normal booting operation, network connection, certification, and script downloading are required until the scripts are launched. The Express mode is a feature that bypasses these prerequisites and allows scripts to be launched.

After the device is booted, it will first attempt to connect to the network, but it is expected that it may take some time for the network to connect due to factors such as the wireless environment. However, there are times when scripts need to run as quickly as possible, and Express mode can be utilized for this purpose.

When Express mode is enabled, network connection wait timeout processing is enabled.
If the network is connected before the timeout, the normal booting operation continues: certification, script download, and script launch.
If a timeout occurs, certification, script download is bypassed and the previously downloaded script stored in the device is launched. Even after the network connection wait timeout, the network connection process continues, and functions that require communication functions can be used from the time the network connection is established.

Express mode configuration

Express mode is enabled/disabled from the NEQTO Console. Refer to here.

Network connection wait timeout value

The timeout value can be changed using the .setExpressConf() method. The default value is 30 seconds. If 0 is specified, in effect, there is no waiting for a network connection, and the previously downloaded script can be launched immediately.

About System Time

The device's system time is normally synchronized during the certification sequence after network connection, but if bypassed by Express mode, the script will basically launch with no current time set. Until time synchronization is performed, the system time will be the time starting from the default value 2000/1/1 00:00:00. For more information on time synchronization, refer to here. In addition, the rtc.getInitTimeCorrVal() method can be utilized to convert the timestamp obtained before time synchronization to the present time after time synchronization.



Standby Mode Operation

From the script, the following methods can be used to transition the device to the standby mode.
Standby mode reduces standby power the most because the device is in standby mode, near power off.
When a resume condition occurs, the device will start again from Normal Booting Operation. ("Normal Resume")

1. sleep.setStandby() <Recommended>

Waits for normal disconnection of network communication before shutting down the communication module and transitioning to standby mode.

2. sleep.setStandbySync()

Forcibly disconnects network communication, shuts down the communication module, and immediately transitions to standby mode. If there are no constraints on the standby mode transition time, using the sleep.setStandby() method is recommended. (Version 02.00.00+)

Immediately transitions to standby mode with network communication maintained. Due to the maintained network communication, the power consumption during standby will increase compared to when the sleep.setStandby() method is used. Since there is no other functional difference, we recommend using the sleep.setStandby() method. (Previous version)


Offline Resume Operation for Standby Mode

The standby mode methods above have an "Offline Resume" option.
When a resume condition occurs, the device will start again, skip the network connection, and immediately execute the stored script.
In "Offline Resume", functions that require a network connection cannot be used.

In addition, only in the condition when user switch is pressed (*1), normal booting operation is forcibly performed.

Since Version 02.00.00: If the script terminates voluntarily with throw '#nqEXIT', etc., the script restarts with the offline resume maintained. If an exception occurs in the script, the device is automatically reset and restarted in normal resume.

Resume Conditions for Standby Mode

  • When an edge change is detected on the port for which the wakeup trigger setting is enabled
  • When the user switch is pressed (*1)
  • When the RTC alarm occurs



Stop Mode Operation

From the script, the following methods can be used to transition the device to the stop mode.
Stop mode puts the device to sleep with the script execution paused.
When a resume condition occurs, the script will resume execution.
If necessary, network reconnection will be started automatically.

1. sleep.setStop()

Shuts down the network communication and then transitions to stop mode.
This can reduce standby power.
However, since network reconnection will be started during resume, it will take some time before communication functions are available.

Since Version 02.00.00: If the network shutdown setting of the sleep.setStop() method is disabled, the device transitions to stop mode while network communication is maintained, as in sleep.setStopSync() below.

2. sleep.setStopSync() (*2)

Immediately transitions to stop mode with network communication maintained.
Due to the maintained network communication, the power consumption during standby will increase, but communication functions are available immediately after resume.

Resume Conditions for Stop Mode

  • When an edge change is detected on the port for which IO port input interrupt is set
  • When an edge change is detected on the user switch port
  • When the RTC alarm occurs
  • When an LTE communication disconnection occurs (Only when using NEQTO Bridge LTE Module with the sleep.setStopSync()/sleep.setStop(rtcAlarm,false) method.) (*2)



Safe Mode

Safe Mode Operation

If an exception such as a throw or a syntax error occurs while executing the script, wait for the script to be modified. This state is called safe mode.
Check and correct the script, and perform "Reload Script" using the trigger command from NEQTO Console.
When the device receives the "Reload Script" instruction from NEQTO Console, it will download and execute the updated script.
In addition, the device automatically checks if the script has been updated during safe mode. The check interval increases in the order of 1 minute, 2 minutes, 4 minutes, 8 minutes, 16 minutes, and 30 minutes. And finally it will be every 30 minutes.



Firmware Update Mode

User device firmware update operation using Machine Driver

When the device receives the Machine Driver update instruction from NEQTO Console, it downloads and executes the Machine Driver script.
The Machine Driver script downloads the firmware image file and updates the user device firmware.
When the Machine Driver script processing is completed, the operation script execution returns.



Device firmware update operation

When the device receives the firmware update instruction from NEQTO Console, it downloads the firmware and updates the firmware.
When the firmware update is complete, it will automatically reboot and return to normal operation.
If the device firmware has already been updated, the firmware update process will be skipped.

Caution: Please do not turn off the power while updating the firmware.



About system time synchronization

The device gets the time information from NEQTO Console and automatically synchronizes the time.
The timing of time synchronization is as follows.

PhaseTime update timing
When NEQTO Console authentication is doneWhen the authentication sequence is executed, such as at device startup
During operation script executionRegularly once a day
When the time correction method of the nqService object is executedAny timing



Updated: 2022-06-03
← 07. NEQTO Bridge Connector Board02. NEQTO Bridge Wi-Fi Module Initial Setup →
  • Script Execution Mode
    • Normal Booting Operation
    • Booting Operation when unable to connect to a Network
    • Booting Operation when device is not registered to a Node
    • Script Reload Operation
    • Booting Operation when Express mode is enabled
    • Standby Mode Operation
    • Stop Mode Operation
  • Safe Mode
    • Safe Mode Operation
  • Firmware Update Mode
    • User device firmware update operation using Machine Driver
    • Device firmware update operation
  • About system time synchronization
AboutNewsProductsFAQPrivacy Policy}
NEQTO Console
IntroductionFundamentalsAdministrative ActionsDevice Management NEQTO Apps
NEQTO Bridge
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.
© 2023 JIG-SAW INC.