Git Product home page Git Product logo

node-opcua's Introduction

node-opcua

an implementation of a OPC UA stack fully written in javascript and nodejs

NPM download NPM version Build Status Build status HitCount lerna

Coverage Status Code Climate

OPC UA Gitter chat

Node-opcua is an full OPC-UA stack written in NodeJS.

Flattr us.

Why NodeJS ?

Because nodeJs is a great framework to design asynchronous application.

Getting started

installing node-opcua as a node package

$ npm install node-opcua

installing node-opcua samples as a node package

    $ npm install node-opcua-samples
    $ ./node_modules/.bin/simple_server

or

    $ ./node_modules/.bin/simple_client  -e "opc.tcp://opcserver.mAutomation.net:4841" -n="ns=1;s=EVR2.system.RTC_SEC"

installing node-opcua from source

running the demo server from source

 $ git clone https://github.com/node-opcua/node-opcua.git
 $ cd node-opcua
 $ npm install
 $ node packages/node-opcua-samples/bin/simple_server

running the demo client from source

 $ git clone https://github.com/node-opcua/node-opcua.git
 $ cd node-opcua
 $ npm install
 $ node packages/node-opcua-samples/bin/simple_client.js -e "opc.tcp://opcserver.mAutomation.net:4841" -n="ns=1;s=EVR2.system.RTC_SEC"

Tutorials

API Documentation

Minimum nodejs requirement

  • nodejs version 6.10 or above

Contributing

$ git clone git://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm install
$ npm test

Supporting the project

If you like the project, please Flattr us. This will give us full of motivation to carry on and keep working on the roadmap.

NPM

Project Stats

Getting commercial support

To get commercial support, please contact sterfive

Supported Features

Service
Discovery Service Set
FindServers()
GetEndpoints()
RegisterServer()
RegisterServer2()
FindServersOnNetwork()
Secure Channel Service Set
OpenSecureChannel()
CloseSecureChannel()
Session Service Set
CreateSession()
CloseSession()
ActivateSession()
Cancel()
View Service Set
Browse()
BrowseNext()
TranslateBrowsePathsToNodeIds()
RegisterNodes()
UnregisterNodes()
Attribute Service Set
Read()
Write()
HistoryRead() 🌒
HistoryUpdate() 🌒
MonitoredItems Service Set
CreateMonitoredItems()
ModifyMonitoredItems()
SetMonitoringMode()
SetTriggering() 🌑
DeleteMonitoredItems()
Subscription Service Set
CreateSubscription()
ModifySubscription()
DeleteSubscriptions()
Publish()
Republish()
TransferSubscriptions()
Node Management Service Set
AddNodes() 🌑
AddReferences() 🌑
DeleteNodes() 🌑
DeleteReferences() 🌑
Query Service Set
QueryFirst() 🌑
QueryNext() 🌑
Transport Protocol
Transport Status Comment
UA-TCP UA-SC UA Binary OPC.TCP - Binary
SOAP-HTTP WS-SC UA Binary 🌑 HTTP/HTTPS - Binary
SOAP-HTTP WS-SC UA XML 🌑
SOAP-HTTP WS-SC UA XML-UA Binary 🌑
Security Policies
Policy Status Comment
None
Basic128Rsa15
Basic256
Basic256Sha256
Authentication Status Comment
Anonymous
User Name Password
X509 Certificate in version 2.0.x (sponsored)
client facets
Base Client Behaviour
AddressSpace Lookup
Attribute Read
DataChange Subscription
DataAccess
Discovery
Event Subscription
Method call
Historical Access 🌓
Advanced Type
Programming 🌑
Auditing 🌓
Redundancy 🌑 Sponsors wanted
server profiles
Core Server
Data Access Server
Embedded Server
Nano Embedded Device Server
Micro Embedded Device Server
Standard DataChange Subscription Server
Standard Event Subscription Server
Standard UA Server
Redundancy Transparent Server 🌑 Sponsors wanted
Redundancy Visible Server 🌑 Sponsors wanted
Node Management Server 🌑 Sponsors wanted
Auditing Server 🌓
Complex Type Server 🌓 Sponsors wanted
Session Diagnostics (sponsored)
Subscription Diagnostics (sponsored)
Alarms & Conditions (sponsored)
Pub & Sub 🌑 Sponsors wanted

Road-map

This are the item we would like to achieve in the next version of the API.

  • improved documentation
  • Compliance testing and certification (CTT)
  • more tutorials

Feedback

  • if you're using node-opcua in one of your project, please feel free to leave a comment and a quick description in the wiki

  • if you have a particular wish or found a issue, let us known and create an issue

node-opcua's People

Contributors

agarciagan avatar aguegu avatar allatrue avatar beppemarazzi avatar enobufs avatar erossignon avatar everhardt avatar gilesbradshaw avatar glumb avatar hanskhe avatar huazh avatar janschatz avatar jdecuyper avatar jugglingcats avatar kubat avatar marcelwinh avatar mathias-luedtke avatar mdameda avatar michikuehne avatar pabraigm avatar patricia-dm avatar perok avatar rashandan avatar razzeee avatar roccomuso avatar sphire avatar stevewillard avatar tomsoftware avatar vincentgijsen avatar zombinary 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.