Industrial IoT Wireless Air Quality CO2 Temperature Humidity Particulate Matter Sensor User Manual

Device Overview

Introducing NCD’s Long Range Industrial IoT Wireless CO2, Temperature, Humidity, and Particulate Matter Sensor for air quality monitoring. It features a range of up to 2 miles using wireless mesh networking, transmitting CO2 concentration, particulate size, mass, temperature, and humidity data at customizable intervals.

The sensor uses CMOSens® Technology for precise CO2 measurement, along with NDIR technology for CO2 detection. It includes a best-in-class humidity and temperature sensor, which compensates for external heat sources without additional components. The dual-channel design ensures long-term stability in CO2 measurement.

The particulate matter sensor measures PM1.0, PM2.5, PM4.0, and PM10.0 particles, which can cause serious health issues like asthma and cardiovascular disease. It uses laser scattering technology for precise measurements and includes a fan for automatic sensor cleaning every 10 transmissions.

The temperature sensor operates from -25°C to 85°C (-13°F to 185°F), while the humidity sensor handles 0-100% RH. Powered by 6 AA batteries, the sensor offers up to 3 years of battery life, with external power options available on request.

  • Industrial Grade Sensor Mass Concentration Range 0-1000 μg/m^3
  • Mass Concentration Resolution of 1 μg/m^3
  • Mass Concentration Size Range PM1.0, PM2.5, PM4.0, PM10.0
  • Number Concentration Range 0 to 3000 1/cm^3
  • Number Concentration Size Range  PM0.5, PM1.0, PM2.5, PM4.0, PM10.0
  • Industrial Grade CO2 Measurement Range 0 – 5’000 ppm
  • CO2 Measurement Accuracy ± (60 ppm + + 5% of reading)(25 °C, 400 – 2’000 ppm)
  • Temperature compensation of CO2 sensor signal
  • Fully calibrated and linearized
  • Unique Long-Term Stability of up to 8 Years
  • Laser-Based Scattering Principle and Advanced Algorithms
  • Built-in Auto Cleaning Feature (internal fan) After Every 10 Transmissions
  • Industrial Grade Sensor with 0 to 90% RH / -25°C [-13°F] to 85°C [185°F])
  • Resolution 0.4% RH/0.1°C Accuracy 6% RH/ 0.8°C
  • Encrypted Wireless Communications up to 2 Mile Range in open environments

Hardware Controls

Power Switch

The power switch on this device has three positions:

  • Battery Power
  • Off
  • External Power


The Battery Power position will use the onboard batteries to power the sensor and transmit data.

The Off position will power down all components of the sensor and no data will be transmitted

The External Power position will use the external power supply connected to the onboard barrel connector to power the sensor and transmit data.

Click to expand

RESET Button

The RESET button will power cycle the sensor. When the sensor first powers up it will send a sensor_mode message with the mode of RUN.

Click to expand

CFG Button

The CFG button serves two functions.

The first is change the mode of the sensor when pressed immediately after a power cycle of the sensor. See section Configuration Button Timing Overview for more information on this.

The second is to test for the presence of power on the sensor. If the CFG button is pressed the TEST LED on the board will light up indicating that the board has power. If no LED comes on check that the Power Switch is in the correct position and that the battery/power supply is good.

Click to expand

Hardware Mode Selection

Run Mode

Run Mode is the default state of the sensor when powered up. No hardware interaction is necessary to enter this state other than power. Pressing the Reset button will restart the sensor and put it in the RUN Mode state if no other buttons are pressed.

Configuration Mode

Configuration Mode is the state in which the sensor enters in order to change the sensor’s configurable parameters such as Reporting Interval, Transmission Power, and Network ID. When the sensor is in Configuraiton Mode it will change the settings of the wireless protocol temporarily. The network ID of PGM Mode is 7BCD.

You can enter in this mode by pressing and releasing the RESET button and then immediately pressing and holding the CFG button for ~5 seconds. Refer to the graph below for the precise timing of the CFG button press.

This is a temporary mode that is not intended for long-term operation. You will need to Reset the device after a successful configuration in order to resume normal operations.

See section Sensor Configuration Processes for more information on this configuration process.

Factory Default/Reset

A Factory Reset of the sensor will revert all changes and configurations made to the sensor to their default settings from the Factory. Immediately after a factory reset the sensor will go into Configuration Mode in order to be reconfigured with the desired settings.

You can perform a Factory Reset by pressing and releasing the RESET button and then immediately pressing and holding the CFG button for more than 15 seconds.

Immediately after a factory reset the sensor will go into Configuration Mode in order to be reconfigured with the desired settings. To activate RUN Mode, please press the RST button.

Refer to the graph below for the precise timing of the CFG button press.

Configuration Button Timing Overview

  • Press and Release the RESET button
  • Configuration Button Pressed and held immediately after reset for
    • < 2 second – device starts normally in RUN Mode
    • 2 to 15 seconds – device goes into Configuration Mode
    • > 15 seconds – the device reverts back to the Factory Default Settings, which is followed by a Configuration Mode Frame
Click to enlarge

Default Configuration

ParametersDefault Value
Destination Address00 00 FF FF (HEX)
Network ID7F FF (HEX)
Node ID0
Delay600 (DEC) seconds
Power+24 dBm
Retries10

Software Integration - Node-Red Overview

We built our primary software drivers into a software system called Node-Red. Node-Red is a visual based drag-and-drop low/no code flow builder. It allows you to build simple or complex logic and data dissemination applications quickly and easily. It can integrate with third party software/cloud services using a number of protocols such as MQTT, HTTP(S), TCP, UDP, and OPC UA.

For more information and a general introduction on what Node-Red is and how it works you can view Node-Red’s official web site at https://nodered.org/.

All Enterprise Gateway we offer will come with Node-Red and our library running as a service by default to allow quick and easy access to Node-Red and the sensor data from our sensors. If you are using your own gateway or computer you will need a USB or Ethernet Modem, Node-Red, and our library @ncd-io/node-red-enterprise-sensors.

You can find our library on Node-Red with the name: @ncd-io/node-red-enterprise-sensors

In this section will will go over the nodes introduced by our library, what kind of data they will provide your flow, and how to use them.

Wireless Gateway Nodes

Wireless Gateway Nodes are a virtual representation of the wireless protocol connected to your Gateway. They will output all incoming data from the wireless network and all of the sensors on that network into the connected flows from a single entry point.

This is the recommended method for ingesting data from large numbers of sensors at a single location in order to simplify data handling and reduce the complexity of the resulting flow.

Wireless Gateway Node Statuses

Wireless Gateway nodes have multiple states they can show in Node-Red to indicate their current mode or functionality.

Ready State

When the Wireless Gateway Node’s status indicates “Ready”, as shown in the picture on the right, it means that the wireless network is successfully connected to Node-Red and is ready to receive data from the sensor(s). Sensors that support FLY messages can be automatically configured while in this mode if a corresponding Wireless Device node is configured to do so. See section Sensor Configuration Processes for more information.

Configuring State

When the Wireless Gateway Node’s status indicates “Configuring”, as shown in the picture on the right, it means that the wireless network is successfully connected to Node-red and is ready to configure any sensors entering Configuration Mode.

Any sensor put into configuration mode through the use of the Reset and CFG buttons will be seen by the gateway while in this mode. If Node-Red has a corresponding Wireless Device node for the sensor reporting in then Node-Red will begin configuring that sensor if set to do so. You can enter Config mode or leave Config mode to resume Normal Operations using the button on the left side of the node.

When the Wireless Gateway is in this mode the Wireless Network will change to the Configuration Network. This means that the network ID will change to 7BCD.

Failed to Connect State

When the Wireless Gateway Node’s status indicates “Failed to Connect”, as shown in the picture on the right, it means that Node-Red was unable to connect to the wireless network. This usually indicates that incorrect settings were used while configuring the Gateway.

For more information on configuring your Wireless Gateway Node’s communications see section Wireless Gateway Node Configuration.

For more information on troubleshooting your Wireless Gateway Node’s communications see section Troubleshooting

Connecting State

When the Wireless Gateway Node’s status indicates “Connecting…”, as shown in the picture on the right, it means that Node-Red is waiting to initialize the connection to the Wireless Network. This state will last for 5 seconds before Node-Red attempts to open communication to ensure that all hardware and software is initialized.

No incoming or outgoing data will be handled while in this state. 

No State

When the Wireless Gateway Node has no status indication, as shown in the picture on the right, it means that the node is not configured properly and no communications have been indicated for the node. For more information on configuring the Wireless Gateway Node see section Wireless Gateway Node Configuration.

Wireless Gateway Node Messages

All messages from the Wireless Gateway Node will come through as Javascript Objects and are output by default as JSON representations when viewed or sent over most protocols. In Node-Red the primary object to reference the message will be msg. You can access sub-properties using msg.payload or msg.payload.nodeId etc.

Wireless Gateway Sensor Data Message

Sensor data is the primary message that will come from a Wireless Gateway Node. These messages can be discerned from other message types by the topic which will always be “sensor_data” To the right is an example of a Sensor Data message.
  • nodeID
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
    • For a unique identifier it is recommended to use the “addr” property as it is tied to the individual sensor’s wireless module and will always be unique
  • firmware
    • This identifies the firmware version of the sensor sending the packet
  • battery
    • The current voltage level of the batteries at the time of transmission
    • The batteries that come with the sensors drop off quickly once they reach 2.6 volts
  • battery_percent
    • The current battery percent at the time of transmission
  • counter
    • The number of transmissions since boot or counter rollover
    • The counter will rollover after a counter value of 255
  • sensor_type
    • The machine identifiable type of the sensor
    • It is recommended to use this property to dictate dashboard generation and/or data integrity checks
  • sensor_data
  • sensor_name
    • Human Readable Sensor Type Identifier
  • type
    • An easily passed message type declaration
    • This property will be a duplicate of msg.topic
  • addr
    • The unique identifier of the sensor that transmitted the data
  • received
    • Epoch indicator of when the data was received by Node-Red
  • original
    • Auxiliary information on the packet and underlying protocol
  • modem_mac
    • The unique identifier of the Gateway/Modem that received the data
    • Primarily used to tie locations/projects to sensors/sensor data
				
					{
  "topic": "sensor_data",
  "payload": {
    "nodeId": 0,
    "firmware": 3,
    "battery": "3.28",
    "battery_percent": "98.56",
    "counter": 26,
    "sensor_type": 53,
    "sensor_data": {
         "mass_concentration_1_0": 5
         "mass_concentration_2_5": 9
         "mass_concentration_4_0": 80
         "mass_concentration_10_0": 150
         "number_concentration_0_5": 2
         "number_concentration_1_0": 3
         "number_concentration_2_5": 5
         "number_concentration_4_0": 8
         "number_concentration_10_0": 15
         "typical_size": 10
         "Humidity": 60.53
         "Temperature": 25.78
         "CO2": 421
    },
    "sensor_name": "Air Quality CO2 and Particulate Matter Sensor",
    "type": "sensor_data",
    "addr": "00:13:a2:00:42:37:73:52",
    "received": 1721424191583,
    "original": {...},
    "modem_mac": "00:13:A2:00:41:F5:2C:D3"
  },
  "time": 1721424191584,
  "_msgid": "d7f3341ef39225df"
}
				
			
msg.payload.sensor_data Breakdown
  • mass_concentration_1_0
    •  The total mass of 1.0µm sized particles in µg/m³
  • mass_concentration_2_5
    •  The total mass of 2.5µm sized particles in µg/m³
  • mass_concentration_4_0
    •  The total mass of 4.0µm sized particles in µg/m³
  • mass_concentration_10_0
    • The total mass of 10.0µm sized particles in µg/m³
  • number_concentration_0_5
    • The total number of 0.5µm sized particles in #/cm³
  • number_concentration_1_0
    • The total number of 1.0µm sized particles in #/cm³
  • number_concentration_2_5
    • The total number of 2.5µm sized particles in #/cm³
  • number_concentration_4_0
    • The total number of 4.0µm sized particles in #/cm³
  • number_concentration_10_0
    • The total number of 10.0µm sized particles in #/cm³
  • typical_size
    • The typical particle size in µm
  • Humidity
    • The relative humidity in %
  • Temperature
    • The measured temperature in °C
  • CO2
    • The CO2 value in PPM (parts per million)

Wireless Gateway RUN Message

A RUN message received simply indicates that the sensor indicated in the msg.payload.mac is powered up and communicating with the wireless network. An example RUN message can be found on the right.
  • topic
    • Indicates the type of message this is
  • payload
    • Contains the primary data of the message
  • payload.mac
    • Indicates the unique address of the sensor sending the mode message
  • payload.type
    • Indicates the type of sensor sending the mode message
  • payload.nodeId
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
  • payload.mode
    • indicates the current mode of the sensor
  • payload.lastHeard
    • Timestamp of the message
				
					{
  "topic": "sensor_mode",
  "payload": {
    "mac": "00:13:a2:00:42:37:73:52",
    "type": 53,
    "nodeId": 0,
    "mode": "RUN",
    "lastHeard": 1721424191056
  },
  "time": 1721424191056,
  "_msgid": "f41dad7923ece27c"
}
				
			

Wireless Gateway PGM Message

A PGM message received indicates that the sensor indicated in the msg.payload.mac has been put into configuration mode using the onboard buttons. If Node-Red has a Wireless Device node with Auto Config selected corresponding to the sensor that sent the PGM then Node-Red will begin to configure that sensor. An example PGM message can be found on the right.
  • topic
    • Indicates the type of message this is
  • payload
    • Contains the primary data of the message
  • payload.mac
    • Indicates the unique address of the sensor sending the mode message
  • payload.type
    • Indicates the type of sensor sending the mode message
  • payload.nodeId
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
  • payload.mode
    • indicates the current mode of the sensor
  • payload.lastHeard
    • Timestamp of the message
				
					{
  "topic": "sensor_mode",
  "payload": {
    "mac": "00:13:a2:00:42:37:73:52",
    "type": 53,
    "nodeId": 0,
    "mode": "PGM",
    "lastHeard": 1721424000999
  },
  "time": 1721424000999,
  "_msgid": "36ac745134de68ee"
}
				
			

Wireless Gateway ACK Message

An ACK message indicates that the sensor indicated in the msg.payload.mac successfully received the command from Node-Red and is acknowledging successful completion. In most cases ACK messages will be received in response to configuration commands sent during Auto Config or FLY configuration. An example ACK message can be found on the right.
  • topic
    • Indicates the type of message this is
  • payload
    • Contains the primary data of the message
  • payload.mac
    • Indicates the unique address of the sensor sending the mode message
  • payload.type
    • Indicates the type of sensor sending the mode message
  • payload.nodeId
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
  • payload.mode
    • indicates the current mode of the sensor
  • payload.lastHeard
    • Timestamp of the message
				
					{
  "topic": "sensor_mode",
  "payload": {
    "mac": "00:13:a2:00:42:37:73:52",
    "type": 53,
    "nodeId": 0,
    "mode": "ACK",
    "lastHeard": 1721424002052
  },
  "time": 1721424002052,
  "_msgid": "6eeb3e249c6b583d"
}
				
			

Wireless Gateway PUM Message

A PUM message indicates that the sensor indicated in the msg.payload.mac has been factory reset. A PGM message will come from the sensor immediately after a PUM message is received so you can configure the factory reset sensor. Even if no configuration is triggered by the subsequent PGM message a reset of the sensor is required after factory reset to resume normal operation. An example PUM message can be found on the right.
  • topic
    • Indicates the type of message this is
  • payload
    • Contains the primary data of the message
  • payload.mac
    • Indicates the unique address of the sensor sending the mode message
  • payload.type
    • Indicates the type of sensor sending the mode message
  • payload.nodeId
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
  • payload.mode
    • indicates the current mode of the sensor
  • payload.lastHeard
    • Timestamp of the message
				
					{
  "topic": "sensor_mode",
  "payload": {
    "mac": "00:13:a2:00:42:37:73:52",
    "type": 53,
    "nodeId": 0,
    "mode": "PUM",
    "lastHeard": 1721424000789
  },
  "time": 1721424000789,
  "_msgid": "e361ba7bdfe0bc4b"
}
				
			

Wireless Gateway FLY Message

A FLY message indicates that the sensor is in RUN mode, but is entering a temporary state where it can be configured. The sensor will send the FLY message on boot and once an hour after boot to check in. Once the sensor sends a FLY message Node-Red has 2 seconds to respond with a configuration or extend this temporary configuration mode.

If Node-Red has a Wireless Device node with Auto Config and OTF Config selected corresponding to the sensor that sent the FLY message then Node-Red will begin to configure that sensor.

An example FLY message can be found on the right.

  • topic
    • Indicates the type of message this is
  • payload
    • Contains the primary data of the message
  • payload.mac
    • Indicates the unique address of the sensor sending the mode message
  • payload.type
    • Indicates the type of sensor sending the mode message
  • payload.nodeId
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
  • payload.mode
    • indicates the current mode of the sensor
  • payload.lastHeard
    • Timestamp of the message
				
					{
  "topic": "sensor_mode",
  "payload": {
    "mac": "00:13:a2:00:42:37:73:52",
    "type": 53,
    "nodeId": 0,
    "mode": "FLY",
    "lastHeard": 1721424191766
  },
  "time": 1721424191767,
  "_msgid": "5f6f01b6651b2f82"
}
				
			

Wireless Gateway modem_mac Message

A modem_mac message indicates the unique address of the wireless module connected to the Wireless Gateway Node. This message is sent when Node-Red is deployed and when the Wireless Gateway is put into Configuration Mode or Ready Mode. An example modem_mac message can be found on the right.
  • topic
    • Indicates the type of message this is
  • payload
    • Contains the unique address of the wireless module on the Wireless Gateway Node
  • time
    • Timestamp of the message
				
					{
  "topic": "modem_mac",
  "payload": "00:13:A2:00:41:F5:2C:D3",
  "time": 1721424259706,
  "_msgid": "83ad39df1328dea7"
}
				
			

Wireless Gateway Node Configuration

Wireless Gateway Edit Pane

You can edit a Wireless Gateway node by double clicking on it once placed in a flow. Below is a description of the primary elements of this edit pane corresponding to the elements numbered to the right.
  1. Name
    • An arbitrary name given to this node
  2. Serial Device*
    • A drop down to choose between configured communication interfaces
    • The default Serial Device for our Enterprise Gateways is “/dev/ttymxc2”
    • To add a new configuration option you will want to choose “Add new ncd-gateway-config…” from this dropdown
  3. Serial Device Edit Icon
    • Clicking this icon will take you to a submenu to edit the particulars of the device chosen in the Serial Device dropdown
    • To add a new configuration option you will want to choose “Add new ncd-gateway-config…” from this dropdown
    • For More information on the submenu this icon bring up see section ncd-gateway-config Nodes​
  4. Output data from Unknown Devices
    • Enabling this feature allows other devices using the Digimesh wireless protocol to send their data to Node-Red
    • When selected, data from unknown devices will be output from a secondary output
Number diagram of Wireless Gateway Node edit pane
Click to enlarge

Wireless Device Nodes

Wireless Device nodes are a virtual representation of a single sensor or a type of sensor. These nodes will output all sensor data and configuration messages from the sensor.

Wireless Device nodes are the primary method of configuring individual or groups of sensors. Their message structure is slightly different from the data coming from a Wireless Gateway.

Wireless Device Node Statuses

The Wireless Device node will display a status based on the last message received to easily identify what is going on with the sensor. Below we will cover each status the Wireless Device node can enter and what it means.

Wireless Device Running Mode

When the Wireless Sensor Node’s status indicates “Running”, as shown in the picture on the right, it means that the wireless sensor has successfully sent at least one packet to the configured Wireless Network. The packet must be a sensor_mode message with a mode of RUN or a sensor_data message.

Wireless Device No Mode

When the Wireless Sensor Node has no status, as shown in the picture on the right, it means that the wireless sensor has not sent a packet over the wireless network since Node-Red was run. The packet must be a sensor_mode message with a mode of RUN or a sensor_data message.

Wireless Device FLY Mode

When the Wireless Sensor Node’s status indicates “FLY”, as shown in the picture on the right, it means that the wireless sensor has sent a FLY message to check in for OTF Configuration. These FLY messages will come in shortly after boot of the sensor as well as once per hour after boot.

For more information on using the FLY message to configure the sensor see section OTF/Automatic Configuration.

Wireless Device with Status of FLY in Node-Red

Wireless Device Config Mode

When the Wireless Sensor Node’s status indicates “Config Mode”, as shown in the picture on the right, it means that the wireless sensor has sent a PGM packet to the receiver and is ready for configuration.

If this Wireless Device node has Auto Config enabled then Node-Red will attempt to configure the device with the settings configured in the Wireless Device edit pane.

Wireless Device Configuration Acknowledged Mode

When the Wireless Sensor Node’s status indicates “Configuration Acknowledged”, as shown in the picture on the right, it means that the wireless sensor has sent an ACK message to the wireless network in response to a command.

This generally indicates that a device is currently being configured.

Wireless Device Config Complete Mode

When the Wireless Sensor Node’s status indicates “Config Complete”, as shown in the picture on the right, it means that all configurations have been sent to the sensor and the sensor has either responded or the responses have timed out.

It is recommended to use the Config Results message that is sent when the node reaches this status to confirm all configurations were successful.

Wireless Device Module was Factory Reset

When the Wireless Sensor Node’s status indicates “Module was factory reset”, as shown in the picture on the right, it means that the correlating sensor has been factory reset.

Immediately after sending this message the sensor will also send a PGM message to allow for configurations after the factory reset.

Wireless Device Node Messages

Wireless Device Node Sensor Data Message

Sensor data is the primary message that will come from a Wireless Gateway Node. These messages can be discerned from other message types by the topic which will always be “sensor_data”

To the right is an example of a Sensor Data message.

  • topic
    •  Indicates the type of message this is
  • data
    • Contains the sensor data and all other pertinent details of the sensor
  • data.nodeID
    • A user configurable parameter allowing a user to input a simple id for a particular sensor
    • For a unique identifier it is recommended to use the msg.data.addr property as it is tied to the individual sensor’s wireless module and will always be unique
  • data.firmware
    • This identifies the firmware version of the sensor sending the packet
  • data.battery
    • The current voltage level of the batteries at the time of transmission
    • The batteries that come with the sensors drop off quickly once they reach 2.6 volts
  • data.battery_percentage
    • The current battery percent at the time of transmission
  • data.counter
    • The number of transmissions since boot or counter rollover
    • The counter will rollover after a counter value of 255
  • data.sensor_type
    • The machine identifiable type of the sensor
    • It is recommended to use this property to dictate dashboard generation and/or data integrity checks
  • data.sensor_data
    • Object containing all sensor data related to this sensor
    • This property is a duplicate of the payload property
  • data.sensor_name
    • Human Readable Sensor Type Identifier
  • data.type
    • An easily passed message type declaration
    • This property will be a duplicate of msg.topic
  • data.addr
    • The unique identifier of the sensor that transmitted the data
  • data.received
    • Timestamp of the message
  • data.original
    • Auxiliary information on the packet and underlying protocol
  • data.modem_mac
    • The unique identifier of the Gateway/Modem that received the data
    • Primarily used to tie locations/projects to sensors/sensor data
  • payload
    • Object containing all sensor data related to this sensor
    • See msg.payload Breakdown for more information
  • time
    • Timestamp of the message
				
					{
  "topic": "sensor_data",
  "data": {
    "nodeId": 0,
    "firmware": 3,
    "battery": "3.28",
    "battery_percent": "98.56",
    "counter": 26,
    "sensor_type": 53,
    "sensor_data": {
         "mass_concentration_1_0": 5
         "mass_concentration_2_5": 9
         "mass_concentration_4_0": 80
         "mass_concentration_10_0": 150
         "number_concentration_0_5": 2
         "number_concentration_1_0": 3
         "number_concentration_2_5": 5
         "number_concentration_4_0": 8
         "number_concentration_10_0": 15
         "typical_size": 10
         "Humidity": 60.53
         "Temperature": 25.78
         "CO2": 421
    },
    "sensor_name": "Air Quality CO2 and Particulate Matter Sensor",
    "addr": "00:13:a2:00:42:37:73:52",
    "received": 1721424191583,
    "original": {...},
    "modem_mac": "00:13:A2:00:41:F5:2C:D3"
  },
  "payload": {
         "mass_concentration_1_0": 5
         "mass_concentration_2_5": 9
         "mass_concentration_4_0": 80
         "mass_concentration_10_0": 150
         "number_concentration_0_5": 2
         "number_concentration_1_0": 3
         "number_concentration_2_5": 5
         "number_concentration_4_0": 8
         "number_concentration_10_0": 15
         "typical_size": 10
         "Humidity": 60.53
         "Temperature": 25.78
         "CO2": 421
  },
  "time": 1721424191584,
  "_msgid": "48e99332fc104565"
}
				
			
msg.payload Breakdown
  • mass_concentration_1_0
    •  The total mass of 1.0µm sized particles in µg/m³
  • mass_concentration_2_5
    •  The total mass of 2.5µm sized particles in µg/m³
  • mass_concentration_4_0
    •  The total mass of 4.0µm sized particles in µg/m³
  • mass_concentration_10_0
    • The total mass of 10.0µm sized particles in µg/m³
  • number_concentration_0_5
    • The total number of 0.5µm sized particles in #/cm³
  • number_concentration_1_0
    • The total number of 1.0µm sized particles in #/cm³
  • number_concentration_2_5
    • The total number of 2.5µm sized particles in #/cm³
  • number_concentration_4_0
    • The total number of 4.0µm sized particles in #/cm³
  • number_concentration_10_0
    • The total number of 10.0µm sized particles in #/cm³
  • typical_size
    • The typical particle size in µm
  • Humidity
    • The relative humidity in %
  • Temperature
    • The measured temperature in °C
  • CO2
    • The CO2 value in PPM (parts per million)

Wireless Device Node Config Results Message

This message will come from a Wireless Device node when it is configured. You can use this message to confirm that the configurations where successfully made to the sensor.
  • topic
    •  Indicates the type of message this is
  • payload
    • Contains the responses for each configuration command sent
  • payload.x
    • Each command will be listed as its own sub property of payload keyed by the command with a value of the command status
    • A command with the value of true indicates a successful command and a corresponding response from the sensor
    • Any other value indicates an error in the command or a failure of the sensor to respond
    • Some commands will never return a true such as reboot_sensor or the establish_config_network commands
  • time
    • Timestamp of the message
  • addr
    • Indicates the unique address of the sensor sending the configuration results
				
					{
  "topic": "Config Results",
  "payload": {
    "establish_config_network_1": {
      "res": "Broadcast mode, no target device",
      "sent": [...]
    },
    "establish_config_network_2": {
      "res": "Broadcast mode, no target device",
      "sent": [...]
    },
    "establish_config_network_3": {
      "res": "Broadcast mode, no target device",
      "sent": [...]
    },
    "network_id": true,
    "reboot_sensor": {
      "err": "No config err or ack, timeout",
      "sent": [...]
    }
  },
  "time": 1721424010563,
  "addr": "00:13:a2:00:42:37:73:52",
  "_msgid": "c29c7695c93ae747"
}
				
			

Wireless Device Node OTN Request Results Message

This message indicates that the sensor successfully extended the configuration window indicated by the FLY message. This message will not be received unless a Wireless Device node is configured for the target device with Auto Config and OTF Config enabled.
  • topic
    •  Indicates the type of message this is
  • payload.config_enter_otn_mode
    • A value of true indicates that the sensor successfully extended the temporary configuration mode
  • time
    • Timestamp of the message
				
					{
  "topic": "OTN Request Results",
  "payload": {
    "config_enter_otn_mode": true
  },
  "time": 1721424530709,
  "_msgid": "1014b31e53e5c7ac"
}
				
			

Wireless Device Node Configuration Options

Our Node-Red library lets you configure any of sensor easily, simply by adjusting a few fields in your Node-RED flow and triggering a configuration update either through the CFG button on the sensor or waiting for a FLY message sent every hour during normal operations.

You can edit a Wireless Device node by double clicking the node once it is placed in a flow.

Primary Wireless Device Node Configurations

These configurations are responsible for configuring the Wireless Device node and how node-red should interact with the sensor.
  • Name
    • Arbitrary name of this node
    • Primarily used for easy identification in the flow
  • Serial Device*
    • The primary communication interface used to receive data from the sensor
    • Clicking the edit icon will take you to a submenu to edit the particulars of the device chosen in the Serial Device dropdown
    • To add a new configuration option you will want to choose “Add new ncd-gateway-config…” from this dropdown
    • For More information on the submenu the edit icon brings up see section ncd-gateway-config Nodes
  • Serial Device for Config
    • A secondary communication interface used to configure sensors without losing sensor data
    • If no option is selected the communication interface selected under Serial Device will be used for configuration
    • A second modem will be required to make full use of this option
  • Mac Address
    • Using this field allows you to choose a specific sensor that corresponds to this Wireless Device node
    • Leaving this field blank allows any sensor of the type chosen under the Sensor Type field to correspond with this Wireless Device Node
    • A search icon on the right can be clicked to search for Wireless Devices that the Serial Device has heard from to auto fill information for that device
  • Sensor Type*
    • This field limits the sensors that correspond to this Wireless Device node to a particular type of sensor
  • Auto Config
    • Checking the box next to this field tells Node-Red that the sensor(s) corresponding to this Wireless Device node should be configured when put into Configuration Mode manually
  • OTF Config
    • Checking the box next to this field AND having Auto Config checked tells Node-Red that the sensor(s) corresponding to this Wireless Device node should be configured when a FLY message is detected
*Required

General Sensor Configurations

These configurations are transmitted to the sensor when Node-Red configures the sensor. Node-Red will need to configure the sensor in order for these settings to go into effect.

  • Wait for Network Formation
    • This option sends three commands to all local devices on the wireless network to help form the mesh network
  • Destination Address
    • This option will tell the sensor to ONLY send its data to a single receiver
    • For more information on how to get the Address of the receiver module connected to Node-Red see section Wireless Gateway modem_mac Message
  • Network ID
    • This option allows you to change the Network ID that the sensor will use to report its data while in RUN module
    • You will need to make sure that a Gateway or Modem is configured to use this network ID in order to receive sensor data from it after configuration
  • Node ID and Delay
    • Node ID
      • Node ID allows you to set an easy to understand unique ID for a particular sensor
    • Delay
      • Delay is the time in seconds between sensor data reading transmissions
  • Power
    • This option allows you to set the transmission power level of the sensor
  • Retries
    • Sets the maximum number of retries the sensor will attempt before considering a packet transmission failed
General Configurations for Wireless Device nodes
Click to expand

Sensor Specific Configurations

Set Skip Samples (CO2)

This value determines how many samples for the CO2 reading the sensor skips.

Set Skip Samples (Particulate)

This value determines how many samples for the Particulate matter reading the sensor skips.

Set FLY Rate

You can set the FLY rate (how often the sensor will look for the fly message after transmitting a packet) in hours for the device.

ncd-gateway-config Nodes

ncd-gateway-config nodes handle communications between the Wireless Network hardware and Node-Red. They are not full nodes that will ever display as a node in your flow and instead act as underlying communication handlers and data emitters. These are the objects/entities that are configured in the Wireless Gateway and Wireless Device nodes chosen under “Serial Device”.

These nodes connect directly to the wireless module/modem to send and receive data to and from Node-Red. They act as the bridge between the hardware and software layers of the Gateway or computer running Node-Red.

Their primary function is to open comms to the wireless network and send sensor data to any other Node that selects them as their Serial Device allowing messages to be routed to all pertinent Nodes and use their respective flows.

ncd-gateway-config Node Configuration

Serial Connection

A serial connection is the simplest and most reliable connection to the wireless network. It doesn’t rely on any network layers like a TCP socket connection does. This is the default Modem Type that our Enterprise Gateways use as they have a Wireless Module on board that acts as the modem.
  1. Name
    • This allows you to enter a human readable name for identifying this config node
    • If no name is chosen it will default to the text for the Serial Port field
  2. Modem Type
    • This allows you to choose between USB (Serial) or TCP (Ethernet/Network)
    • If you are using an Enterprise Gateway or a USB Modem you will want to choose USB (Serial)
    • If you are using an Ethernet Modem you will want to use TCP (Ethernet/Network)
  3. Serial Port
    • Select the correct serial port that your USB Modem/Wireless Module is mounted to
    • The default Serial Port for our Enterprise Gateways will be /dev/ttymxc2
  4. Baud Rate
    1. Do not choose anything other than 115200 unless you have changed the baud rate on the Modem/Module manually
  5. Network ID
    • Network IDs allow you to have multiple groups of sensors, repeaters, and Gateway/Modems in a single area without interfering with each other
    • The default value is 7FFF
    • We do not recommend changing this value without specific purpose
    • Make sure to change the Network ID of the sensors you want to be on this network BEFORE changing the Network ID here
  6. Add RSSI to incoming packets
    • Selecting this box will add a signal strength indicator to all incoming comms
    • Selecting this option will have a negative, but generally negligible effect on the Wireless Communication throughput
Click to expand

TCP Socket Connection

A TCP socket connection allows the Gateway/Server running Node-Red to be in an out of the way location while still receiving the sensor data from a Network Modem placed in a more central location. These communications heavily rely on the network that the Modem and Gateway/Server are on. It is recommended to put the Gateway/Server and the Ethernet Modem on the same network or have an IT team to oversee the communications if this option is used.

  1. Name
    • This allows you to enter a human readable name for identifying this config node
    • If no name is chosen it will default to the text for the Serial Port field
  2. Modem Type
    • This allows you to choose between USB (Serial) or TCP (Ethernet/Network)
    • If you are using an Enterprise Gateway or a USB Modem you will want to choose USB (Serial)
    • If you are using an Ethernet Modem you will want to use TCP (Ethernet/Network)
  3. TCP Port
    • Select the TCP Port that the modem is listening on
    • The default TCP Port for our Ethernet Modems is 2101
  4. IP Address
    • The IP address of the Ethernet Modem on the network
    • It is recommended to have the Ethernet Modem use a Static IP address so that this value never needs to change
  5. Network ID
    • Network IDs allow you to have multiple groups of sensors, repeaters, and Gateway/Modems in a single area without interfering with each other
    • The default value is 7FFF
    • We do not recommend changing this value without specific purpose
    • Make sure to change the Network ID of the sensors you want to be on this network BEFORE changing the Network ID here
  6. Add RSSI to incoming packets
    • Selecting this box will add a signal strength indicator to all incoming comms
    • Selecting this option will have a negative, but generally negligible effect on the Wireless Communication throughput
Click to expand

Sensor Configuration Processes

Manual Configuration Process

Sensors can be manually put into configuration mode by pressing and releasing the Reset button on the sensor and then immediately holding the CFG button on the sensor for 5-15 seconds. See section Hardware Controls for more information on this.

If the Wireless Gateway node in Node-Red is set to configuration mode then you will receive a sensor_mode message from the sensor indicating it is now in Configuration Mode and can be configured. If you also have a Wireless Device Node corresponding to the sensor that was put into configuration mode then Node-Red will begin configuring that sensor according to the settings entered on the Wireless Device node.

See section Primary Wireless Device Node Configurations for more information on how to set up a Wireless Device to configure a sensor.

Wireless Gateway Node in Configuration Mode with the Mode Toggle button highlighted.
The Mode Toggle button is highlighted in Red. This button allows you to enter and exit Configuration Mode.

OTF/Automatic Configuration

This sensor supports configuration while in Run Mode. We call this configuration OTF or On the Fly. This configuration is initiated by a sensor_mode message from the Sensor with the mode of FLY. These messages are sent over the standard Run Mode wireless network so there is no need to change the Wireless Gateway nodes mode or manually manipulate the buttons on the sensor.

FLY messages are sent once an hour and on boot and tell Node-Red that the sensor is ready for configuration changes. Node-Red has two seconds to respond with a configuration or extend this temporary configuration mode.

If you have a Wireless Device node with Auto Config and OTF Config corresponding to the sensor that sent the FLY message then Node-Red will begin configuring that sensor according to the settings entered on the Wireless Device node.

See section Primary Wireless Device Node Configurations for more information on how to set up a Wireless Device to configure a sensor.

Troubleshooting

Check Sensor Power

First check that the Power Switch is in the correct position. See section Hardware Controls for more information and a diagram on the correct position.

Second press the CFG button on the sensor. If the TEST LED on the sensor lights up then the sensor has power. If the LED does not light up try swapping out the batteries or changing the external power supply.

If the LED still doesn’t light up after changing the power source please contact us for additional troubleshooting steps.

Factory Reset Sensor

If the power tests above show that power is on and the TEST LED lights up then you can attempt a factory reset. There are certain configurations that can be made to the sensor that will prevent data from being received properly such as Destination Address and Network ID. A factory reset will revert these to default settings.

  1. Factory Reset the Sensor
    • Press and release the RESET button and then immediately hold the CFG button for > 15 seconds
    • See section Hardware Mode Selection for more information
  2. You should receive a sensor_mode message with the mode of PUM and then a second sensor_mode message with the mode of PGM
    • It is recommended to have a Debug node connected directly to the Wireless Gateway node to see these messages

Multiple Gateways

If you have multiple Gateways in the vicinity of a sensor that is having issues you will need to make sure that only one Gateway is set to configure these sensors using OTF Config. Multiple OTF Configuration attempts simultaneously will cause failures during configuration.

Additionally if one Gateway is setting the Destination Address or Network ID of the sensor it will prevent the other Gateways from seeing its sensor data or being able to perform OTF Configurations to that sensor.

The recommended resolution is to make sure that only one gateway is set to configure the device. If communications are down to the intended receiver perform a factory reset of the device.

See section Hardware Mode Selection for more information on performing a factory reset.

Move Devices Closer

Its possible that there was an environmental change at the install location that is causing the Wireless range of the sensor to be reduced. To check for this it is recommended to move the sensor closer to approximately 3 feet or 1 meter from the gateway and press the RESET button to see if the sensor_mode message with the mode of RUN is received.

If it is determined that it is a range issue you can check that the antenna is fully seated. If there appears to be no issue with the antenna this can usually be resolved by adding a Repeater between the Sensor and the Receiver/Gateway running Node-Red.

If the range is limited to a few feet contact us for additional troubleshooting steps.

Check Module Frequency - WIP

Check Antenna Connection - WIP

Examples

Dashboard

We have built an example dashboard to display the sensor data from a single Vibration Sensor. You can find it by importing it directly into Node-Red.

  1. Click the menu in the top right of Node-Red (three horizontal lines)
  2. Import
  3. Choose Examples on the left side of the subsequent modal window
  4. Expand @ncd-io/node-red-enterprise-sensors
  5. Expand Type 53 – Air Quality CO2 and Particulate Matter Sensor
  6. Select Quick Start Dashboard
  7. Select new flow along the bottom
  8. Click on Import

Example Flows

We have many examples of how to manipulate and disseminate data on our Github Repository. To view all of our example flows check out our Full Repository.