原創(chuàng)|行業(yè)資訊|編輯:董玉霞|2025-10-11 11:12:46.420|閱讀 36 次
概述:Prosys OPC UA SDK for Java支持在Android上開發(fā)OPC UA應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Prosys OPC UA SDK for Java支持在Android上開發(fā)OPC UA應用程序。本文將介紹在Android上使用Prosys OPC UA SDK for Java的基本步驟,并提供使用Android SDK API 35的簡化客戶端示例實現(xiàn)。需要注意的是,由于Prosys OPC UA SDK for Java在Android上的測試有限,因此無法完全保證互操作性。
點擊了解Prosys OPC UA SDK for Java>>
注意:在SDK5.4.0版本中,SpongyCastle已不再作為必需依賴項。
要求
添加依賴項和權(quán)限
安裝Android Studio、下載Prosys OPC UA SDK for Java和示例項目后,需要將SDK作為依賴項添加到項目中。可以直接在項目中添加并引用jar文件,也可以使用本地Maven倉庫。本示例使用了本地Maven倉庫的方法。
要將SDK添加到本地maven存儲庫/緩存,請運行
cd {ua_java_sdk_root}\maven-integration\maven-install-helper mvn install
在示例中,SDK作為依賴項與 slf4j-android 包一起添加到 build.gradle 中,該依賴項為SDK 的日志記錄提供Android綁定。此外,還需要將META_INF/DEPENDENCIES從編譯中排除。請確保添加的依賴項與現(xiàn)有的版本號匹配。另請注意,要使示例按原樣運行,需要5.4.0或更高版本的SDK。
... android { ... packagingOptions { exclude 'META-INF/DEPENDENCIES' } } dependencies { ... implementation('org.slf4j:slf4j-android:1.7.36') implementation('com.prosysopc.ua:prosys-opc-ua-sdk-client-server:5.4.0-201') ... }
還需要確保mavenLocal作為存儲庫包含在settings.gradle中
... dependencyResolutionManagement { ... repositories { ... mavenLocal() ... } } ...
最后,需要在AndroidManifest.xml中允許訪問互聯(lián)網(wǎng)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET"/> <application> ... </application> </manifest>
客戶端實現(xiàn)
示例代碼創(chuàng)建一個UA客戶端,連接到在本地主機上運行的Prosys OPC UA模擬服務器
//10.0.2.2 points to loopback of host machine client = new UaClient("opc.tcp://10.0.2.2:53530/OPCUA/SimulationServer");
還使用應用程序文件路徑創(chuàng)建證書存儲和驗證器
final PkiDirectoryCertificateStore applicationCertificateStore = new PkiDirectoryCertificateStore(getFilesDir().getPath() + "/PKI/CA"); final PkiDirectoryCertificateStore applicationIssuerCertificateStore = new PkiDirectoryCertificateStore("PKI/CA/issuers"); // CertificateValidator defines the details about how to trust previously untrusted Applications final DefaultCertificateValidator certValidator = new DefaultCertificateValidator(applicationCertificateStore, applicationIssuerCertificateStore); // Set validator to accept CA certificates without CRLs certValidator.getIgnoredChecks().add(DefaultCertificateValidator.IgnoredChecks.IGNORE_CA_MISSING_CRL); client.setCertificateValidator(certValidator);
然后將應用程序標識分配給客戶端,然后客戶端連接并從服務器讀取值
ApplicationIdentity identity = ApplicationIdentity.loadOrCreateCertificate( appDescription, "Sample Organisation", null, new File(applicationCertificateStore.getBaseDir(), "private"), true); identity.setApplicationDescription(appDescription); client.setApplicationIdentity(identity); client.setTimeout(60000); client.setSecurityMode(SecurityMode.BASIC128RSA15_SIGN_ENCRYPT); client.setUserIdentity(new UserIdentity()); client.connect(); DataValue dv = client.readValue(Identifiers.Server_ServerStatus_CurrentTime);
運行應用程序
可以使用Android Studio提供的設(shè)備模擬器運行此示例。創(chuàng)建一個具有匹配API級別的設(shè)備,運行Gradle Sync,然后在模擬設(shè)備上運行應用程序。在示例應用程序中,點擊“連接”將嘗試連接到指定的服務器并讀取服務器時間戳值。讀取成功后,時間戳值將顯示在“連接”按鈕下方。
客戶端提供的證書需要在服務器端獲得信任。如果使用Prosys OPC UA模擬服務器,可以前往“證書”選項卡,右鍵單擊“SimpleAndroidClient”行來執(zhí)行此操作。
結(jié)論
在本文中,詳細介紹了將Prosys OPC UA SDK for Java合并到Android項目以創(chuàng)建簡單的OPC UA客戶端的基礎(chǔ)知識。
慧都科技(EVGET)成?于2003年,是?家?業(yè)數(shù)字化解決?案公司,?期專注于軟件、油?與制造?業(yè)。公司基于深?的業(yè)務理解與管理洞察,以系統(tǒng)化的業(yè)務建模驅(qū)動技術(shù)落地,幫助企業(yè)實現(xiàn)智能化運營與?期競爭優(yōu)勢。
慧都科技作為 Prosys OPC在中國的官方合作伙伴,提供 Prosys OPC產(chǎn)品免費試用,咨詢,正版銷售等于一體的專業(yè)化服務。
如果你希望進一步了解 Prosys OPC 產(chǎn)品、報價,掃描下方二維碼或者直接撥打023-68661681聯(lián)系我們,我們將在第一時間為您提供專業(yè)解答!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn