Я новичок в JAVA, Android и OPCUA.
Мне нужно разработать приложение для Android, которое автоматизирует несколько операций на сервере.
Для начала, после нескольких исследований, я смог получить доступ к значениям узлов через код. Задавая значение пространства имен и идентификатор узла.
Теперь я с нетерпением жду возможности внести изменения в значения через само приложение. Для этого у меня должен быть список узлов, доступных на сервере.
Я не могу найти способ их отображения.
Любые предложения, пожалуйста
Краткое описание кода
ApplicationDescription applicationDescription = new ApplicationDescription();
applicationDescription.setApplicationName(new LocalizedText(“AndroidClient”, Locale.ENGLISH));
applicationDescription.setApplicationUri(“urn:localhost:AndroidClient”);
applicationDescription.setProductUri(“urn:localhost:AndroidClient”);
applicationDescription.setApplicationType(ApplicationType.Client);
KeyPair myClientApplicationInstanceCertificate = ExampleKeys.getCert(getApplicationContext(), applicationDescription);
// Create Client
Client myClient = Client.createClientApplication(myClientApplicationInstanceCertificate);
EndpointDescription[] endpoints = myClient.discoverEndpoints(“opc.tcp://192.168.4.1:4840”) //connect to my server
// Filter out all but opc.tcp protocol endpoints
endpoints = EndpointUtil.selectByProtocol(endpoints, “opc.tcp”);
// Filter out all but Signed & Encrypted endpoints
endpoints = EndpointUtil.selectByMessageSecurityMode(endpoints, MessageSecurityMode.None);
// Filter out all but Basic256Sha256 cryption endpoints
endpoints = EndpointUtil.selectBySecurityPolicy(endpoints, SecurityPolicy.NONE);
// Sort endpoints by security level. The lowest level at the beginning, the highest at the end of the array
endpoints = EndpointUtil.sortBySecurityLevel(endpoints);
// Choose one endpoint.
EndpointDescription endpoint = endpoints[endpoints.length – 1];
SessionChannel mySession = myClient.createSessionChannel(endpoint);
mySession.activate();