Skip to content

Quick Start ​

This tutorial walks through one complete pipeline in five steps: start EMQX Neuron, generate data with the built-in simulator, collect it through a southbound driver, check the values in data monitoring, and forward them to an MQTT broker through a northbound application.

Quick start pipeline: the Modbus simulator feeds a southbound driver, data monitoring shows the values, a northbound MQTT application forwards them to the broker, and MQTTX subscribes to verify

Before you start ​

What you needNotes
DockerTo run EMQX Neuron. For other install methods, see Installation
A browserTo reach the EMQX Neuron console
An MQTT clientTo verify data in the last step — MQTTX is a good choice

Step 1 · Start EMQX Neuron ​

Pull the image and start the container:

bash
docker pull emqx/neuronex:latest
docker run -d --name neuronex -p 8085:8085 --log-opt max-size=100m --privileged=true emqx/neuronex:latest

Open http://127.0.0.1:8085 in a browser and sign in with the default account admin / 0000.

login

Step 2 · Start the built-in simulator ​

EMQX Neuron ships with a Modbus TCP simulator that produces live data, so you do not need a real PLC to get started.

  1. Go to Administration → Modbus TCP Simulator.
  2. Click Start Simulator. The simulator is off by default and consumes no resources until you start it.
  3. Add tags — up to 10, with simulation types sine, ramp, square, or random. Addresses are assigned automatically.
  4. Click Save Tag Configuration. The simulator starts producing data.

The simulator listens on port 502 inside the same container as EMQX Neuron, so there is no cross-machine networking involved. For full details, see Modbus TCP Slave Simulator.

Shortcut

On the simulator page, click Download Southbound Driver Configuration. The file already contains every tag. Import it on the Data Collection → South Devices page and you can skip straight to Step 4. Work through Step 3 manually to see how drivers, groups, and tags fit together.

Step 3 · Add a southbound driver and configure tags ​

A southbound driver talks to the device. Here the Modbus TCP driver reads from the simulator.

Create the driver node ​

On Data Collection → South Devices, click Add Device:

south-add

FieldValue
Namemodbus-tcp
DriverSelect Modbus TCP
Connection modeClient
IP address127.0.0.1 (the simulator runs in the same container)
Port502
Connection timeout3000

south-setting

A new driver shows as Disconnected at first. That is expected — EMQX Neuron only starts issuing read requests once tags are configured.

south-status

TIP

Every protocol takes a different set of parameters. For the full parameter reference per driver, see Southbound Drivers.

Create a group ​

Click the modbus-tcp node to open its group list, then click Create Group:

group-add

FieldValue
Group namegroup-1
Interval1000 (milliseconds — one poll per second)

The group is the unit of collection and reporting; every tag in a group is polled at the same interval.

Add a tag ​

Open Tag List on group-1, then click Add Tag:

tags-add

FieldValue
Namepressure
AttributeRead
Typeint16
AddressThe tag's address in the simulator, written as slave!register — for example 1!40001

TIP

In 1!40001, 1 is the slave address and 40001 is the holding-register address. Address formats differ per driver; see the relevant driver page.

Once the tag is created the node should move to Running / Connected. If it still shows Disconnected after a few seconds, check that the port is reachable from inside the container:

bash
docker exec -it neuronex telnet 127.0.0.1 502

Step 4 · View the collected data ​

Go to Data Collection → Data Monitoring and select the modbus-tcp device and the group-1 group. Tag values update live as the simulator runs.

data-monitoring

If values refresh here, the collection path works.

Step 5 · Forward to MQTT ​

Create a northbound application ​

On Data Collection → North Apps, click Add Application:

north-add

FieldValue
Namemqtt
ApplicationSelect MQTT

The application configuration page opens automatically:

north-setting

FieldValue
Broker addressbroker.emqx.io (the public EMQX broker)
Broker port1883

After you submit, the application card moves to Running.

Subscribe to southbound data ​

Data is reported per group, so you choose which groups to publish. On the MQTT application, click View Subscriptions → Add Subscription:

subscription

FieldValue
TopicThe default is fine — note it down
Southbound dataSelect group-1 under modbus-tcp

Verify with an MQTT client ​

Open MQTTX, create a connection (Host broker.emqx.io, Port 1883), and subscribe to the topic you noted:

mqttx

A steady stream of messages from EMQX Neuron means the whole pipeline is working.

Next steps ​

  • Connect a real device — find your protocol or CNC model in Southbound Drivers; parameters and address formats are documented per driver.
  • Send data elsewhere — beyond MQTT there is AWS IoT, Azure IoT, Sparkplug B, and Kafka, plus an OPC UA Server for on-site systems. See Northbound Applications.
  • Process data at the edge — filter, convert, and aggregate before publishing. See Your First Rule.
  • Deploy to production — see Installation.