node-opcua
an implementation of a OPC UA stack fully written in javascript and nodejs
Node-opcua is an full OPC-UA stack written in NodeJS.
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
- check out the 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 . This will give us full of motivation to carry on and keep working on the roadmap.
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