AllJoynManagement CSP
AllJoynManagement CSP(구성 서비스 공급자)를 사용하면 IT 관리자가 AllJoyn 버스에 연결된 AllJoyn 디바이스를 열거할 수 있습니다. 디바이스는 Microsoft AllJoyn 구성 인터페이스(com.microsoft.alljoynmanagement.config
)를 지원해야 합니다. 구성 파일을 동일한 디바이스에 푸시할 수도 있습니다. 새 구성을 설정할 때 다양한 노드를 채웁니다. 연결된 모든 디바이스의 모든 노드에 대한 실제 값을 얻으려면 먼저 쿼리를 수행하는 것이 좋습니다. 그런 다음 쿼리의 정보를 사용하여 새 구성을 푸시할 때 노드 값을 설정할 수 있습니다.
참고
AllJoynManagement CSP(구성 서비스 공급자)는 Windows 10 IoT Core(IoT Core)에서만 지원됩니다.
이 CSP는 Windows 10 버전 1511에 추가되었습니다.
방화벽 설정의 경우 PublicProfile 및 PrivateProfile은 상호 배타적입니다. 프라이빗 프로필은 디바이스 자체에서 직접 설정해야 하며, 유일하게 지원되는 작업은 Get입니다. PublicProfile의 경우 추가 및 가져오기가 모두 지원됩니다. 이 CSP는 AllJoyn 디바이스 시스템 브리지와 함께 사용하기 위한 것이며, 브리지에 대한 이해는 이 CSP를 사용하는 시기와 방법을 결정할 때 도움이 됩니다. 자세한 내용은 DSB(디바이스 시스템 브리지)를 참조하세요. 자세한 내용은 AllJoyn - Wikipedia를 참조하세요.
다음 예제에서는 AllJoynManagement 구성 서비스 공급자를 트리 형식으로 보여줍니다.
./Vendor/MSFT
AllJoynManagement
----Configurations
--------ServiceID
------------Port
----------------PortNum
--------------------ConfigurableObjects
------------------------CfgObjectPath
----Credentials
--------ServiceID
------------Key
----Firewall
--------PublicProfile
--------PrivateProfile
----Services
--------ServiceID
------------AppId
------------DeviceId
------------AppName
------------Manufacturer
------------ModelNumber
------------Description
------------SoftwareVersion
------------AJSoftwareVersion
------------HardwareVersion
----Options
--------QueryIdleTime
다음 목록에서는 특성 및 매개 변수를 설명합니다.
./Vendor/MSFT/AllJoynManagement AllJoynManagement 구성 서비스 공급자의 루트 노드입니다.
서비스 AllJoyn 버스에서 검색된 모든 AllJoyn 개체의 목록입니다. "com.microsoft.alljoynmanagement.config
"를 노출하는 모든 AllJoyn 개체가 포함됩니다.
서비스/노드 이름 하나 이상의 구성 가능한 개체를 호스트하는 고유한 AllJoyn 디바이스 ID(GUID)입니다.
서비스/노드 이름/포트 AllJoyn 개체가 구성 설정을 전달하는 데 사용하는 포트 집합입니다. 일반적으로 통신에는 하나의 포트만 사용되지만 더 많은 포트를 지정할 수 있습니다.
통신에 사용되는 서비스/노드 이름/포트/노드 이름 포트 번호입니다. 이 값은 구성 가능한 AllJoyn 개체에 의해 지정되고 여기에 반영됩니다.
서비스/노드 이름/포트/노드 이름/CfgObject AllJoyn 개체의 포트에서 사용할 수 있는 구성 가능한 인터페이스 집합입니다.
서비스/노드 이름/포트/노드 이름/CfgObject/노드 이름 이 URI의 나머지 는 부모 ServiceID에서 호스트하고 부모 PortNum에서 액세스할 수 있는 구성 가능한 AllJoyn 개체에 대한 이스케이프된 경로입니다.
예를 들어 Microsoft 특정 AllJoyn 구성 인터페이스 "\\FabrikamService\\BridgeConfig
"가 있는 AllJoyn Bridge는 URI에 로 %2FFabrikamService%2FBridgeConfig
지정됩니다.
자격 증명 자격 증명 저장소입니다. 관리자는 이 노드에서 인증이 필요한 각 AllJoyn 디바이스에 대한 자격 증명을 설정할 수 있습니다.
인증이 필요한 AllJoyn 개체의 구성 항목을 대체하거나 쿼리하기 위해 SyncML 요청이 CSP에 도착하면 CSP는 인증 단계 중에 여기에 저장된 자격 증명을 사용합니다.
자격 증명/노드 이름 \AllJoynManagement\Services\ServiceID URI에 지정된 것과 동일한 서비스 ID입니다. 일반적으로 GUID로 구현됩니다.
자격 증명/노드 이름/키 AllJoyn SRP KEYX 인증 표준을 준수하는 영숫자 키 값입니다.
방화벽 AllJoyn 서비스에 대한 방화벽 설정입니다.
방화벽/PublicProfile 공용 네트워크 프로필에 대해 AllJoyn 라우터 서비스(AJRouter.dll)를 사용하거나 사용하지 않도록 설정하는 부울 값입니다.
방화벽/PrivateProfile 프라이빗 네트워크 프로필에 AllJoyn 라우터 서비스(AJRouter.dll)를 사용할 수 있는지 여부를 나타내는 부울 값입니다.
예
어댑터 구성 설정
<?xml version="1.0" encoding="utf-8"?>
SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Replace>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/AllJoynManagement/Services/_ALLJOYN_DEVICE_ID_/Port/27/Configuration/%2FDSBService%2FAdapterConfig</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">b64</Format>
</Meta> <Data>PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgA/AD4ADQAKADwAQgBhAGMATgBlAHQAQwBmAGcAPgANAAoACQA8AEIAQgBNAEQAUwBlAHIAdgBlAHIAPgANAAoACQAJADwASQBQAEEAZABkAHIAZQBzAHMAPgAxADIANwAuADAALgAwAC4AMQA8AC8ASQBQAEEAZABkAHIAZQBzAHMAPgANAAoACQAJADwAUABvAHIAdAA+ADQANwA4ADAAOAA8AC8AUABvAHIAdAA+AA0ACgAJADwALwBCAEIATQBEAFMAZQByAHYAZQByAD4ADQAKADwALwBCAGEAYwBOAGUAdABDAGYAZwA+AA0ACgAAAA==</Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>
_ALLJOYN_DEVICE_ID_ 실제 디바이스 ID로 바꾸어야 합니다. 데이터는 설정 중인 구성 파일의 기본 64로 인코딩된 표현입니다.
PIN 데이터 가져오기
<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Get>
<CmdID>2</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/AllJoynManagement/Credentials?list=StructData</LocURI>
</Target>
</Item>
</Get>
<Final/>
</SyncBody>
</SyncML>
방화벽 PrivateProfile 가져오기
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncBody>
<Get>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/AllJoynManagement/Firewall/PrivateProfile</LocURI>
</Target>
</Item>
</Get>
<Final/>
</SyncBody>
</SyncML>