JavaScript Other
Permalink
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE.md Jan 8, 2018
CTT fix method handling for ctt conformity Jan 12, 2018
certificates add readme.txt in certificate folder to make sure it exists Feb 18, 2015
code_gen udpdate nodeset files to latest version Jun 14, 2018
documentation rename getPrivateNamespace => getOwnNamespace Jun 19, 2018
modeling add Namepsace support in AddressSpace Jun 14, 2018
packages #501 fixes typo in readHistoryServerCapabalities helper function Jul 10, 2018
packets Major source code layout overhaul: Sep 14, 2017
test/secure_connection Major source code layout overhaul: Sep 14, 2017
test_compliance use const/let instead of var May 19, 2018
.codeclimate.yml update codeclimate Jan 29, 2018
.eslintignore add .eslintignore file Feb 20, 2016
.eslintrc.js refactor code - replace var to const/let - cleanup Apr 14, 2018
.gitignore adjust endpoint Verification during create session Feb 13, 2018
.jshintrc fix issue in factory_code_generator and utils with browserify Aug 12, 2016
.npmignore improve module definition Sep 14, 2017
.release.json v0.0.64 Apr 8, 2017
.travis.yml change test strategy on MacOS, Jul 2, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 8, 2018
LICENSE Update LICENSE Jan 1, 2017
Makefile * fix istanbul in makefile Sep 14, 2017
README.md update packages May 31, 2018
RELEASE_NOTES.md Update RELEASE_NOTES.md Aug 25, 2016
appveyor.yml CI now checks also on nodejs 10 Apr 28, 2018
brfy.bat bump node-opcua-pki version Jun 18, 2017
circle.yml fix circleci config to use latest LTS node version (6.11) Sep 15, 2017
generate_yuidoc_json.js refactor code - replace var to const/let - cleanup Apr 14, 2018
index.js fix bin scripts Sep 14, 2017
lerna.json v0.4.1 Jun 1, 2018
notes.txt experiment doc engine May 4, 2014
package.json adjust --max-old-space-size Jul 5, 2018
runCTT.bat improve Subscription and MonitoredItem conformance ( CTT ) Jun 19, 2016
test_thenify.js #422 adding ability to set/unset historizing attribute to resume/sus… Jan 30, 2018
tsconfig.json update package.json Apr 28, 2018
tslint.json add MacOs build & test Jul 1, 2018
webpack.config.js fix code generation Sep 14, 2017
webpackDLL.config.js refactor code - replace var to const/let - cleanup Apr 14, 2018
yuidoc.json update document Jan 27, 2018

README.md

node-opcua

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

NPM download NPM version Build Status Build status HitCount NSP Status

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 🌑
client facets
Base Client Behaviour
AddressSpace Lookup
Attribute Read
DataChange Subscription
DataAccess
Discovery
Event Subscription
Method call
Historical Access 🌓
Advanced Type
Programming 🌑
Auditing 🌓
Redundancy 🌑
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 🌑
Redundancy Visible Server 🌑
Node Management Server 🌑
Auditing Server 🌓
Complex Type Server 🌓
Session Diagnostics
Subscription Diagnostics
Alarms & Conditions

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