Releases: emqx/neuron
Releases · emqx/neuron
2.2.0 Release
Features
- Add Beckhoff ADS driver
- Add OPC DA driver
- Add NON A11 driver
- Add S7COMM for 300 driver
- MQTT plugin supports caching data when offline.
- QnA 3E plugin supports batch reading of tags.
- RESTful plugin supports proxy http request.
- MQTT plugin adds heartbeat msg and reports the status of all nodes.
- MODBUS plugin supports int64/uint64/double.
- Plugin stops, disconnect from the device.
- Tag supports subscription, and data is uploaded only when the data changes.
- Tag of type float/double supports configuration precision.
HTTP API
- GET /api/v2/group get groups of all drivers.
- GET /api/v2/node/state get status of all nodes.
Improve
- UI: Improve the error message.
- UI: Default topics for the mqtt plugin will be generated based on the node name.
- UI: Use regular expressions to verify tag address.
- The configured node will start automatically.
- MQTT plugin configuration removes the client-id.
2.1.5 Release
Fixes
- FIx the issue that the async plugin connection was abnormal, reading tag failed.
2.1.4 Release
Fixes
- MQTT crash when the network is abnormal.
- When the plugin stops, the connection to the device is not disconnected.
2.1.3 Release
Fixes
- MQTT plugin connection crash
- RESTful plugin timeout crash
2.1.2 Release
Fixes
- MQTT plugin crash
- UI cannot upload license
- SparkPlugB plugin data exception
2.1.1 Release
Fixes
- Fix mqtt plugin cpu 100%.
- Fix the connection status of SparkPlugB plugin.
- Fix that the data will be reported after the mqtt plugin is stopped.
- Fix crash when Neuron starts.
- Fix compilation warning when using gcc11.
Chores
- UI: Remove log page.
- UI: Improve plugin error codes.
- Node will be disconnected from the device after it is stopped.
2.1.0 Release
Features
- Add BACnet/IP driver
- Add KNXnet/IP driver
- Add DLT645-2007 driver
- Add SparkPlugB APP
- Connection supports serial ports
- Integrated data processing engine
- Tag adds a description field
- Introduce zlog, a different log file for each node log output, and limit the log file size
- Delete the stdatomic.h dependency to support Linux use in lower version of the kernel
- Supports tag acquisition value failure, which defaults to 30 times group interval
- Tag names detect duplicates in group and no longer in nodes.
- IEC60870-5-104 supports reading the types of data that the device actively reports.
- Node is not running, and the read/write request returns an error.
HTTP API
Remove all ids used in the API and replace the id with name.
-
Simplify the node type as APP and DRIVER
-
DataType map:
-
INT8 = 1
-
UINT8 = 2
-
INT16 = 3
-
UINT16 = 4
-
INT32 = 5
-
UINT32 = 6
-
INT64 = 7
-
UINT64 = 8
-
FLOAT = 9
-
DOUBLE = 10
-
BIT = 11
-
BOOL = 12
-
STRING = 13
-
BYTES = 14
-
-
Add GET /api/v2/version, get the neuron version
-
Replace /api/v2/gconfig with /api/v2/group
-
Modify API
- /api/v2/node
- /api/v2/group
- /api/v2/tag
- /api/v2/plugin
- /api/v2/subscribe
- /api/v2/read
- /api/v2/write
- /api/v2/node/setting
- /api/v2/node/ctl
Refactor
- The adapter distinguishes between app and driver types and handles different msg.
- The core/manager does not manager group and tag, but is managed by adapter(driver) for group and tag.
- The core/manager and adapter use the Actor model to process transactions.
- Removed the locks used in core/manager and adapter.
- The subscription relationship is managed by core/manager and drivers are no longer notified to have subscriptions or unsubscribes.
- After configuring the group and tag in the driver, the driver will start reading tag from this group and no longer wait for an app to subscribe to this group.
Fixes
- When an incomplete message packet is received from tcp, the packet is not processed, causing the reading tag fail. (IEC60870-5-104, S7COMM, FINS)
- QnA 3E read assert.
- OPC UA connection PLC failed.
- When delete a group, the group is not completely deleted.
- FINS: Some of the messages that the PLC returned out-of-order data were not processed by neuron.
- Memory corruption causes group names to appear garbled.
- Memory leak in core/manager, adapter, driver
Build and Compile
- Define projects using the C99 standard
- Remove vector and libcsptr.
- When compiling the debug version, only the -fsanitize=address parameter of libasan is used.
- Remove the use of stdatomic.h
2.0.1
2.0.0
2.0.0-rc.1
Changes
- replace the tag id in the read/write api with tag name
- replace the node id in the read/write api with node name
- replace the tag id in the mqtt upload msg with tag name
Fixs
- mqtt read/write crash
- api read/write crash