erossignon / node-opcua

an implementation of a OPC UA stack fully written in javascript and nodejs - http://node-opcua.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Why NodeJS ?

Because nodeJs is a great framework to design asynchronous application.

Getting started

installing node-opcua as a node package

$ mkdir mytest
$ cd mytest
$ npm init 
$ npm install node-opcua --unsafe-perms
$ # create your first app.js file !

installing node-opcua samples as a node package

    $ mkdir myserver
    $ cd myserver
    $ npm init
    $ npm install node-opcua-samples --unsafe-perms
    $ ./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 8.16 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 consider sponsoring the author 🍺 πŸŽ‰ ,

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

About

an implementation of a OPC UA stack fully written in javascript and nodejs - http://node-opcua.github.io/

License:MIT License


Languages

Language:TypeScript 70.2%Language:JavaScript 29.6%Language:Shell 0.1%Language:XSLT 0.1%Language:Makefile 0.0%Language:Batchfile 0.0%