2022-07-28 08:55:46 +00:00
2022-07-11 03:18:11 +00:00
2022-07-28 16:46:23 +08:00
2022-06-10 04:43:05 +00:00
2022-07-28 08:55:46 +00:00
2022-07-28 08:55:46 +00:00
2022-07-15 14:39:57 +08:00
2022-07-10 15:02:19 +08:00
2022-03-17 07:49:35 +00:00
2022-06-10 04:43:05 +00:00
2021-06-28 11:13:28 +08:00
2022-07-28 16:46:23 +08:00
2022-07-26 02:52:42 +00:00
2022-07-06 01:29:37 +00:00

Neuron

GitHub Release Slack Discord Twitter YouTube

English | 简体中文

Neuron is an Industrial IoT (IIoT) connectivity server for modern big data technology to leverage the power of Industrial 4.0. It supports one-stop access to dozens of industrial protocols and converts them into MQTT protocol to access the IIoT platform.

neuron-overview

The following is some important features of Neuron:

  • Edge native application to leverage the low latency network of edge side.
  • Loosely-coupled modularity design for extending more functional services by pluggable modules.
  • Support numerous protocols for industrial devices, including Modbus, OPCUA, Ethernet/IP, IEC104, BACnet and more.
  • Support simultaneous connection of a large number of industrial devices with different protocols.
  • Combine with the rule engine function provided by eKuiper to quickly implement rule-based device control or AI/ML analytics.
  • Has very low memory footprint, less than 10M, and CPU usage, can run on limited resource hardware like ARM, x86 and RISC-V.
  • Support installation of native executable or deployed in containerized enviornment.
  • Control industrial devices or make changes to the parameters or data tags through API and MQTT services.
  • Highly integrated with other EMQ products, including EMQX, NanoMQ, eKuiper.
  • Support updating module device drivers during Neuron runtime.

For more information, please visit our Homepage.

Prerequisite

Install Required Dependencies

Build

$ git clone https://github.com/emqx/neuron
$ cd neuron
$ git submodule update --init
$ mkdir build && cd build
$ cmake .. && make

Quick Start

$ cd build
$ ./neuron

Test

To run all unit testers

$ cd build
$ ctest --output-on-failure

Functional test

To run all functional testers

mosquitto -v &
pip3 install -r ft/requirements.txt
python3 -m robot -P ft/ --variable neuron_api:http -d ft/http_reports ft

Pressure test

There are datasets for pressure testing in directory ft/data/persistence/.

To run pressure tests

# python dependencies
pip3 install -r ft/requirements.txt

# through http api, on dataset total-10k
python3 -m robot -P ft/ --variable neuron_api:http --variable dataset:total-10k -d ft/http-total-10k ft/pressure.test
# through http api, on dataset total-50k
python3 -m robot -P ft/ --variable neuron_api:http --variable dataset:total-50k -d ft/http-total-50k ft/pressure.test

# A MQTT broker is needed if using the mqtt api, mosquitto in this example
mosquitto -v &

# through mqtt api, on dataset simple-1k
python3 -m robot -P ft/ --variable neuron_api:mqtt --variable dataset:simple-1k -d ft/mqtt-simple-1k ft/pressure.test

Community

You can connect with the Neuron community and developers in the following ways.

S
Description
Open source industrial connectivity server
Readme 15 MiB
Languages
C 83.9%
Python 12.5%
C++ 2.3%
CMake 0.9%
Shell 0.3%