# HJ212-2017

HJ212-2017 is an IoT standard outlining data transmission between pollution monitoring systems and environmental agencies. 

For the generic steps, see [Create a Southbound Driver](../south-devices.md) and [Groups and Tags](../../groups-tags/groups-tags.md).

The EMQX Neuron HJ212-2017 driver collects data from devices supporting this standard, with the current version supporting only active data uploads.

## Add Driver

On **Data Collection → South Devices**, click **Add Device**.

- Name: The name of this device node.
- Driver: Select the **HJ212-2017** driver.

## Connection Parameters

Click the driver card to open the **Device Configuration** page and fill in:

| Parameter         | Description                                                  |
| ----------------- | ------------------------------------------------------------ |
| **Physical Link** | Choose Serial or TCP connection mode.                        |
| **Serial Device** | Only for **Serial** mode, use a serial device, e.g. /dev/ttyUSB0 |
| **Stop Bits**     | Only for **Serial** mode, stop bits, default 1               |
| **Parity**        | Only for **Serial** mode, parity bit                         |
| **Baud Rate**     | Only for **Serial** mode, baud rate, default 9600            |
| **Data Bits**     | Only for **Serial** mode, byte size, default 8               |
| **IP Address**    | Only for **TCP** mode. <br />When EMQX Neuron is used as a client, fill in the IP of the remote device. <br />When EMQX Neuron is used as a server, fill in the IP of EMQX Neuron locally, 0.0.0.0 can be filled in by default. |
| **Port**          | Only for **TCP** mode. <br />When EMQX Neuron is used as a client, fill in the TCP port of the remote device. <br />When EMQX Neuron is used as a server, fill in the TCP port of EMQX Neuron. |
| **Password**      | Password                                                     |
| **MN**            | Device ID                                                    |
| **ST**            | System code                                                  |

## Tag Configuration

The data types and address formats supported by this driver are listed below.

### Data Types

* STRING
* DOUBLE
* UINT8
* INT8

### Address Format

#### Pollutant Real-time Data

> RT!xxxx-[Rtd\][Flag\][SampleTime\][EFlag]

| Address              | Type   | Description                    |
| -------------------- | ------ | ------------------------------ |
| RT!w01018-Rtd        | double | w01018 real-time data          |
| RT!w01018-Flag       | string | w01018 realtime data flag      |
| RT!w01018-SampleTime | string | w01018 real-time sampling time |
| RT!w01018-EFlag      | string | w01018 device flag             |
| RT!w01018-ZsRtd      | double | w01018 real-time zs data       |

#### Pollutant Minute Data

> MIN!xxxx-[Cou\][Min\][Avg\][Max\][Flag]

| Address          | Type   | Description             |
| ---------------- | ------ | ----------------------- |
| MIN!w01018-Cou   | double | w01018 cumulative value |
| MIN!w01018-Min   | double | w01018 min value        |
| MIN!w01018-Avg   | double | w01018 average value    |
| MIN!w01018-Max   | double | w01018 max value        |
| MIN!w01018-Flag  | string | w01018 data flag        |
| MIN!w01018-ZsMin | double | w01018 min zs value     |
| MIN!w01018-ZsAvg | double | w01018 average zs value |
| MIN!w01018-ZsMax | double | w01018 max zs value     |

#### Pollutant Hour Data

> HOUR!xxxx-[Cou\][Min\][Avg\][Max\][Flag]

| Address           | Type   | Description             |
| ----------------- | ------ | ----------------------- |
| HOUR!w01018-Cou   | double | w01018 cumulative value |
| HOUR!w01018-Min   | double | w01018 min value        |
| HOUR!w01018-Avg   | double | w01018 average value    |
| HOUR!w01018-Max   | double | w01018 max value        |
| HOUR!w01018-Flag  | string | w01018 data flag        |
| HOUR!w01018-ZsMin | double | w01018 min zs value     |
| HOUR!w01018-ZsAvg | double | w01018 average zs value |
| HOUR!w01018-ZsMax | double | w01018 max zs value     |

#### Pollutant Day Data

> DAY!xxxx-[Cou\][Min\][Avg\][Max\][Flag]

| Address          | Type   | Description             |
| ---------------- | ------ | ----------------------- |
| DAY!w01018-Cou   | double | w01018 cumulative value |
| DAY!w01018-Min   | double | w01018 min value        |
| DAY!w01018-Avg   | double | w01018 average value    |
| DAY!w01018-Max   | double | w01018 max value        |
| DAY!w01018-Flag  | string | w01018 data flag        |
| DAY!w01018-ZsMin | double | w01018 min zs value     |
| DAY!w01018-ZsAvg | double | w01018 average zs value |
| DAY!w01018-ZsMax | double | w01018 max zs value     |
