JavaScript Other
Permalink
Failed to load latest commit information.
.github add CONTRIBUTING and ISSUE_TEMPLATE Apr 16, 2017
CTT finetuning CTT config file Mar 29, 2017
bin #337 fix issue with Matrix Variant Apr 13, 2017
certificates add readme.txt in certificate folder to make sure it exists Feb 18, 2015
code_gen fetch 1.03 material Oct 20, 2015
documentation add example of historizing node Jan 3, 2017
lib fix #343 : automatically assign string nodeId in same namespace as pa… Apr 23, 2017
modeling access DataType encoding definition Dec 13, 2015
nodesets Only clone mandatory components/properties when instanciating a Objec… Nov 8, 2015
packets use requirish to avoid ../../ hell in require's Dec 30, 2014
schemas #337 fix issue with Matrix Variant Apr 13, 2017
test fix #343 : automatically assign string nodeId in same namespace as pa… Apr 23, 2017
test_compliance add a "acknowledged" and "confirmed" event on acknowledgeable conditions Dec 15, 2016
tmp add xml schema Jan 26, 2014
.codeclimate.yml update .codeclimate.yml Apr 28, 2016
.eslintignore add .eslintignore file Feb 20, 2016
.eslintrc refactor code and setup ECLINT rules Jul 22, 2015
.gitignore update packages Oct 18, 2016
.jshintrc fix issue in factory_code_generator and utils with browserify Aug 12, 2016
.npmignore alarms & conditions: implements AcknowledgeableConditionType methods Dec 29, 2016
.release.json v0.0.64 Apr 8, 2017
.travis.yml fix issue with usage of should in nodejs 7.2 Dec 6, 2016
LICENSE Update LICENSE Jan 1, 2017
Makefile update yuidoc generation Feb 19, 2016
README.md Update README.md Jan 29, 2017
RELEASE_NOTES.md Update RELEASE_NOTES.md Aug 25, 2016
appveyor.yml drop support for nodejs 0.10 Jun 11, 2016
brfy.bat #55 fix brfy.bat file Oct 2, 2015
circle.yml add circleci yml file Mar 7, 2015
index.js #171 implement user permission Apr 6, 2017
node-opcua.d.ts improve node-opcua.dt.ts file for typescript support ( work in progress) Mar 29, 2017
notes.txt experiment doc engine May 4, 2014
package.json v0.0.64 Apr 8, 2017
postinstall.js fix issue with antivirus making openssl not accessible for a short wh… Oct 28, 2016
root.js experiment with browserify Apr 5, 2015
runCTT.bat improve Subscription and MonitoredItem conformance ( CTT ) Jun 19, 2016
yuidoc.json fix issue in factory_code_generator and utils with browserify Aug 12, 2016

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

Dependency 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

$ npm install node-opcua

running the demo server

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

running the demo client

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

Tutorials

API Documentation

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

Supported Features

Service
Discovery Service Set
FindServers()
GetEndpoints()
RegisterServer()
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

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)
  • HA Support : supporting the historizing service
  • 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