def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self._application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.no:python:server" self.name = "FreeOpcUa Python Server" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 3600000 if iserver is not None: self.iserver = iserver else: self.iserver = InternalServer(shelffile) self.bserver = None self._discovery_clients = {} self._discovery_period = 60 self.certificate = None self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) # setup some expected values self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self._application_uri]) # enable all endpoints by default self._security_policy = [#"None", "Basic128Rsa15_Sign", # "Basic128Rsa15_SignAndEncrypt", "Basic256_Sign", "Basic256_SignAndEncrypt"] self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"]
def __init__(self, url, timeout=4): """ :param url: url of the server. if you are unsure of url, write at least hostname and port and call get_endpoints :param timeout: Each request sent to the server expects an answer within this time. The timeout is specified in seconds. """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password self.name = "Pure Python Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.io:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.secure_channel_timeout = 3600000 # 1 hour self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None self.user_private_key = None self._server_nonce = None self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) self.max_messagesize = 0 # No limits self.max_chunkcount = 0 # No limits
def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self._application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.io:python:server" self.name = "FreeOpcUa Python Server" self.manufacturer_name = "FreeOpcUa" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 3600000 if iserver is not None: self.iserver = iserver else: self.iserver = InternalServer(shelffile = shelffile) self.bserver = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) # setup some expected values self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self._application_uri]) self.set_build_info(self.product_uri, self.manufacturer_name, self.name, "1.0pre", "0", datetime.now()) # enable all endpoints by default self.certificate = None self.private_key = None self.user_manager = UserManager(parent = self) self._security_policy = [ ua.SecurityPolicyType.NoSecurity, ua.SecurityPolicyType.Basic256Sha256_SignAndEncrypt, ua.SecurityPolicyType.Basic256Sha256_Sign ] self._policyIDs = ["Anonymous", "Basic256Sha256", "Username"]
def __init__(self, url, timeout=4): """ used url argument to connect to server. if you are unsure of url, write at least hostname and port and call get_endpoints timeout is the timeout to get an answer for requests to server public member of this call are available to be set by API users """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) self.name = "Pure Python Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.default_timeout = 3600000 self.secure_channel_timeout = self.default_timeout self.session_timeout = self.default_timeout self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None self.user_private_key = None self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient)
def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self._application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.io:python:server" self.name = "FreeOpcUa Python Server" self.manufacturer_name = "FreeOpcUa" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 3600000 if iserver is not None: self.iserver = iserver else: self.iserver = InternalServer(shelffile) self.bserver = None self._discovery_clients = {} self._discovery_period = 60 self.certificate = None self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) # setup some expected values self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self._application_uri]) status_node = self.get_node(ua.NodeId( ua.ObjectIds.Server_ServerStatus)) build_node = self.get_node( ua.NodeId(ua.ObjectIds.Server_ServerStatus_BuildInfo)) status = ua.ServerStatusDataType() status.BuildInfo.ProductUri = self.product_uri status.BuildInfo.ManufacturerName = self.manufacturer_name status.BuildInfo.ProductName = self.name status.BuildInfo.SoftwareVersion = "1.0pre" status.BuildInfo.BuildNumber = "0" status.BuildInfo.BuildDate = datetime.now() status.SecondsTillShutdown = 0 status_node.set_value(status) build_node.set_value(status.BuildInfo) # enable all endpoints by default self._security_policy = [ ua.SecurityPolicyType.NoSecurity, ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt, ua.SecurityPolicyType.Basic128Rsa15_Sign, ua.SecurityPolicyType.Basic256_SignAndEncrypt, ua.SecurityPolicyType.Basic256_Sign ] self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"]
def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self.application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.no:python:server" self.name = "FreeOpcUa Python Server" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 3600000 if iserver is not None: self.iserver = iserver else: self.iserver = InternalServer(shelffile) self.bserver = None self._discovery_clients = {} self._discovery_period = 60 self.certificate = None self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) # setup some expected values sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self.application_uri])