gopcua provides easy and painless encoding/decoding of OPC UA protocol in pure Golang.
THIS IS STILL EXPERIMENTAL PROJECT, ANY IMPLEMENTATION INCLUDING EXPORTED APIs MAY CHANGE DRASTICALLY IN THE FUTURE
See example directory for sample codes.
git clone https://github.com/wmnsk/gopcua.git
cd examples/sender
go run sender.go --ip <dst IP> --port <dst Port> --url "opc.tcp://endpoint.example/gopcua/server"
(To be written more precisely...)
- Protocol definitions
- OPC UA Connection Protocol
- Interface to handle all messages
- Header
- Hello
- Acknowledge
- Error
- Reverse Hello
- OPC UA Secure Conversation
- Message header
- Asymmetric algorithm Security header
- Symmetric algorithm Security header
- Sequence header
- Message footer
- Service Implementation
- Interface to handle all services
- Open Secure Channel Request / Response
- Close Secure Channel Request / Response
- Get Endpoints Request / Response
- Create Session Request / Response
- Activate Session Request / Response
- XXX...
- OPC UA Connection Protocol
- State Machine
- Implement
net.Conn
- XXX...
- Implement
- Others
- Documentation (improve GoDoc, README)
- Integrated way to handle common errors
- XXX...