Coder Social home page Coder Social logo

lyc666-beep / neuron Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emqx/neuron

0.0 0.0 0.0 4.71 MB

Open source industrial IoT connectivity server

Home Page: https://neugates.io

License: GNU Lesser General Public License v3.0

Shell 0.26% C++ 2.86% Python 1.21% C 90.26% RobotFramework 3.97% Smarty 0.14% CMake 1.30%

neuron's Introduction

Neuron

GitHub Release Docker Pulls Slack Discord Twitter YouTube

English | 简体中文

Neuron is an Industrial IoT (IIoT) connectivity server for modern big data and AI/ML 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 and realize the interconnection between IIoT platforms and various industrial devices.

neuron-overview

The following are some important features of Neuron:

  • Edge native application with real-time capability to leverage the low latency network of edge side.
  • Loosely-coupled modularity architecture design for extending more functional services by pluggable modules.
  • Support hot plugins that can update device and application modules during runtime.
  • 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.
  • Support data access to industrial applications, such as MES or ERP, SCADA, historian and data analytics software via SparkplugB solution.
  • 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, and make changes to the parameters and data tags through API and MQTT services.
  • Highly integrated with other EMQ products, including EMQX, NanoMQ, eKuiper.
  • The code of the core framework and Modbus, MQTT and eKuiper are licensed under open source LGPLv3. Commercial modules require a EMQ License to run.

For more information, please visit Neuron homepage.

Get Started

Run Neuron using Docker

docker run -d --name neuron -p 7000:7000 -p 7001:7001 -p 9081:9081 --privileged=true --restart=always emqx/neuron:latest

Next, please follow the getting started guide to tour the Neuron features.

Limitations

Neuron open source edition only includes Modbus and MQTT drivers.

Apply for a 15-day trial license to load all drivers.

More installation options

If you prefer to install and manage Neuron yourself, you can download the latest version from neugates.io/downloads?os=Linux.

For more installation options, see the Neuron installation documentation.

Documentation

The Neuron documentation is available at neugates.io/docs/en/latest/.

Get Involved

Build From Source

Install required dependencies

github.com/neugates/neuron/blob/main/Install-dependencies.md

Build

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

Install Dashboard

Download the latest neuron-dashboard.zip from the github.com/emqx/neuron-dashboard/releases page, unzip it and put it to the dist directory under the Neuron executable directory.

Run

$ cd build
$ ./neuron

Log level

Change the log level in the rules in the zlog.conf file. Available levels include INFO, DEBUG, NOTICE, WARN, ERROR and FATAL.

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

License

See LICENSE.

neuron's People

Contributors

fengzeroz avatar eeff avatar gc87 avatar flyfish30 avatar yuxi311 avatar alvin1221 avatar rory-z avatar joey8869 avatar alvinwong2018 avatar crazywisdom avatar hobbes1069 avatar yiqunc-emqx avatar wildwindyevan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.