原創|行業資訊|編輯:董玉霞|2025-10-11 11:12:46.420|閱讀 36 次
概述:Prosys OPC UA SDK for Java支持在Android上開發OPC UA應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Prosys OPC UA SDK for Java支持在Android上開發OPC UA應用程序。本文將介紹在Android上使用Prosys OPC UA SDK for Java的基本步驟,并提供使用Android SDK API 35的簡化客戶端示例實現。需要注意的是,由于Prosys OPC UA SDK for Java在Android上的測試有限,因此無法完全保證互操作性。
點擊了解Prosys OPC UA SDK for Java>>
注意:在SDK5.4.0版本中,SpongyCastle已不再作為必需依賴項。
要求
添加依賴項和權限
安裝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從編譯中排除。請確保添加的依賴項與現有的版本號匹配。另請注意,要使示例按原樣運行,需要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中允許訪問互聯網
<?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>
	
客戶端實現
示例代碼創建一個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");
	
還使用應用程序文件路徑創建證書存儲和驗證器
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提供的設備模擬器運行此示例。創建一個具有匹配API級別的設備,運行Gradle Sync,然后在模擬設備上運行應用程序。在示例應用程序中,點擊“連接”將嘗試連接到指定的服務器并讀取服務器時間戳值。讀取成功后,時間戳值將顯示在“連接”按鈕下方。
	
 
客戶端提供的證書需要在服務器端獲得信任。如果使用Prosys OPC UA模擬服務器,可以前往“證書”選項卡,右鍵單擊“SimpleAndroidClient”行來執行此操作。
	
 
結論
在本文中,詳細介紹了將Prosys OPC UA SDK for Java合并到Android項目以創建簡單的OPC UA客戶端的基礎知識。
慧都科技(EVGET)成?于2003年,是?家?業數字化解決?案公司,?期專注于軟件、油?與制造?業。公司基于深?的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與?期競爭優勢。
慧都科技作為 Prosys OPC在中國的官方合作伙伴,提供 Prosys OPC產品免費試用,咨詢,正版銷售等于一體的專業化服務。
如果你希望進一步了解 Prosys OPC 產品、報價,掃描下方二維碼或者直接撥打023-68661681聯系我們,我們將在第一時間為您提供專業解答!
	 
	
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn