차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

ko:device_api [2019/05/15 11:00]
kkshin
ko:device_api [2024/02/27 14:46]
줄 1: 줄 1:
-====== Device API ====== 
- 
-장치 정보를 제어하거나 펌웨어를 업그레이드할 수 있습니다.\\ 
- 
-  * [[BS2_GetDeviceInfo]]:​ 장치 정보를 가져옵니다. 
-  * [[BS2_GetDeviceInfoEx]]:​ [+ 2.6.0] 장치 추가정보를 가져옵니다. 
-  * [[BS2_GetDeviceTime]]:​ 현재 시간을 가져옵니다. 
-  * [[BS2_SetDeviceTime]]:​ 현재 시간을 설정합니다. 
-  * [[BS2_ClearDatabase]]:​ 사용자 정보와 Blacklist를 초기화합니다. ​ 
-  * [[BS2_FactoryReset]]:​ 모든 설정 정보와 데이터 베이스를 초기화합니다. 
-  * [[BS2_RebootDevice]]:​ 장치를 다시 시작합니다. 
-  * [[BS2_LockDevice]]:​ 장치 잠금을 설정하여 사용자 인증을 거부합니다. ​ 
-  * [[BS2_UnlockDevice]]:​ 장치 잠금을 해제하여 사용자 인증을 허용합니다. ​ 
-  * [[BS2_SetKeepAliveTimeout]]:​ 장치의 keep-alive 시간을 설정합니다. 
-  * [[BS2_UpgradeFirmware]]:​ 펌웨어를 업그레이드합니다. 
-  * [[BS2_UpdateResource]]:​ 리소스를 업데이트합니다. 
-  * [[BS2_GetSpecifiedDeviceInfo]]:​ [+ 2.6.3] 장치 정보를 선택적으로 가져옵니다. 
-  * [[BS2_GetAuthOperatorLevelEx]]:​ [+ 2.6.3] 주어진 장치 관라지를 가져옵니다. (1000명 관리자 지원) 
-  * [[BS2_GetAllAuthOperatorLevelEx]]:​ [+ 2.6.3] 모든 장치 관리자를 가져옵니다. (1000명 관리자 지원) 
-  * [[BS2_SetAuthOperatorLevelEx]]:​ [+ 2.6.3] 장치 관리자를 추가합니다. (1000명 관리자 지원) 
-  * [[BS2_RemoveAuthOperatorLevelEx]]:​ [+ 2.6.3] 주어진 장치 관리자를 삭제합니다. (1000명 관리자 지원) 
-  * [[BS2_RemoveAllAuthOperatorLevelEx]]:​ [+ 2.6.3] 모든 장치 관리자를 삭제합니다. (1000명 관리자 지원) 
- 
-===== 구조체 ===== 
-==== BS2SimpleDeviceInfo ==== 
-<code cpp> 
-typedef struct 
-{ 
-    uint32_t id; 
-    uint16_t type; 
-    uint8_t connectionMode;​ 
-    uint32_t ipv4Address;​ 
-    uint16_t port; 
-    uint32_t maxNumOfUser;​ 
-    uint8_t userNameSupported;​ 
-    uint8_t userPhotoSupported;​ 
-    uint8_t pinSupported;​ 
-    uint8_t cardSupported;​ 
-    uint8_t fingerSupported;​ 
-    uint8_t faceSupported;​ 
-    uint8_t wlanSupported;​ 
-    uint8_t tnaSupported;​ 
-    uint8_t triggerActionSupported;​ 
-    uint8_t wiegandSupported;​ 
-    uint8_t imageLogSupported;​ 
-    uint8_t dnsSupported;​ 
-    uint8_t jobCodeSupported; ​   ​ 
-    uint8_t wiegandMultiSupported;​ 
-    uint8_t rs485Mode; 
-    uint8_t sslSupported;​ 
-    uint8_t rootCertExist;​ 
-    uint8_t dualIDSupported;​ 
-    uint8_t useAlphanumericID;​ 
-    uint32_t connectedIP;​ 
-    uint8_t phraseCodeSupported;​ 
-    uint8_t card1xSupported;​ 
-    uint8_t systemExtSupported;​ 
-    uint8_t voipSupported;​ 
-}BS2SimpleDeviceInfo;​ 
-</​code>​ 
- 
-1. //id// \\ 
-장치 식별자이며 항상 1 이상입니다. \\ 
- 
-2. //type// \\  
-장치 유형의 코드 값입니다. ​ 
-<WRAP group 50%> 
-^값  ^설명 ​ ^ 
-|0x01  |BioEntry Plus  | 
-|0x02  |BioEntry W  | 
-|0x03  |BioLite Net  | 
-|0x04  |Xpass ​ | 
-|0x05  |Xpass S2  | 
-|0x06  |Secure IO 2  | 
-|0x07  |DM-20 ​ | 
-|0x08  |BioStation 2  | 
-|0x09  |BioStation A2  | 
-|0x0A  |FaceStation 2  | 
-|0x0B  |IO Device ​ | 
-|0x0C  |BioStation L2  | 
-|0x0D  |BioEntry W2  | 
-|0x0E  |CoreStation 40  | 
-|0x0F  |Output Module ​ | 
-|0x10  |Input Module ​ | 
-|0x11  |BioEntry P2  | 
-|0x12  |BioLite N2  | 
-|0x13  |XPass2 ​ | 
-|0x14  |XPass S3  | 
-|0x15  |BioEntry R2  | 
-|0x16  |XPass D2  | 
-|0x17  |Door Module 21  | 
-|0xFF  |Unknown Type  | 
-</​WRAP>​ 
- 
-3. //​connectionMode//​ \\  
-BioStar 애플리케이션과 장치간의 접속 모드를 뜻하며, 접속 주체에 따라 direct mode(0x0)와 server mode(0x1)로 구분됩니다. direct mode는 BioStar 애플리케이션이 장치로 접속하며 server mode는 장치가 BioStar 애플리케이션으로 접속합니다. 장치에 설정된 기본 접속 모드는 direct mode이며 접속 모드를 수정하려면 [[configuration_api#​IP Config]]를 참고하십시오. \\  
- 
-4. //​ipv4Address//​ \\  
-현재 설정된 장치의 IP 주소입니다. \\  
- 
-5. //port// \\  
-현재 설정된 장치의 TCP 포트 번호입니다. \\  
- 
-6. //​maxNumOfUser//​ \\  
-장치에서 저장할 수 있는 최대 사용자 개수입니다. \\  
- 
-7. //​userNameSupported//​ \\  
-장치에서 사용자 이름 사용을 지원하는지 알 수 있는 flag입니다. \\  
- 
-8. //​userPhotoSupported//​ \\  
-장치에서 사용자 프로필 사진 사용을 지원하는지 알 수 있는 flag입니다. \\  
- 
-9. //​pinSupported//​ \\  
-장치에서 PIN 사용을 지원하는지 알 수 있는 flag입니다. \\  ​ 
- 
-10. //​cardSupported//​ \\  
-장치에서 스마트 카드 인증을 지원하는지 알 수 있는 flag입니다. \\  
- 
-11. //​fingerSupported//​ \\  
-장치에서 지문 인증을 지원하는지 알 수 있는 flag입니다. \\  ​ 
- 
-12. //​faceSupported//​ \\  
-장치에서 얼굴 인식을 지원하는지 알 수 있는 flag입니다. \\  
- 
-13. //​wlanSupported//​ \\  
-장치에서 무선랜을 지원하는지 알 수 있는 flag입니다. \\  ​ 
- 
-14. //​tnaSupported//​ \\  
-장치에서 근태관리를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-15. //​triggerActionSupported//​ \\  
-장치에서 trigger action을 지원하는지 알 수 있는 flag입니다. \\ 
- 
-16. //​wiegandSupported//​ \\  
-장치에서 Wiegand를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-17. //​imageLogSupported//​ \\  
-장치에서 이미지 로그를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-18. //​dnsSupported//​ \\  
-장치에서 DNS를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-19. //​jobCodeSupported//​ \\  
-장치에서 Job Code를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-20. //​wiegandMultiSupported//​ \\  
-장치에서 wiegandMulti를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-21. //​rs485Mode//​ \\  
-장치에서 RS485 모드입니다. \\ 
- 
-22. //​sslSupported//​ \\  
-장치에서 ssl를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-23. //​rootCertExist//​ \\  
-장치에서 root인증서가 존재하는지를 알 수 있는 flag입니다. \\ 
- 
-24. //​dualIDSupported//​ \\  
-장치에서 dualID(숫자,​문자)를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-25. //​useAlphanumericID//​ \\  
-장치에서 AlphanumericID를 사용중인지 여부를 말하는 flag입니다. \\ 
- 
-26. //​connectedIP//​ \\  
-장치가 접속하고 있는 ip주소입니다. (0xFFFFFFFF if disconnected)\\ 
- 
-27. //​phraseCodeSupported//​ \\  
-장치에서 사용자별 개인 메세지를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-28. //​card1xSupported//​ \\  
-장치에서 1.x ToC 카드 읽기를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-29. //​systemExtSupported//​ \\  
-장치에서 RS-485 키 설정을 지원하는지 알 수 있는 flag입니다. \\ 
- 
-30. //​voipSupported//​ \\  
-장치에서 VoIP를 지원하는지 알 수 있는 flag입니다. \\ 
- 
-==== BS2SimpleDeviceInfoEx ==== 
-BS2SimpleDeviceInfo 외 지원정보를 가져옵니다.\\ 
-<code cpp> 
-typedef struct 
-{ 
-    enum 
-    { 
-        BS2_SUPPORT_RS485EX = 0x00000001, 
-        BS2_SUPPORT_CARDEX ​ = 0x00000002, 
-        BS2_SUPPORT_DST ​    = 0x00000004, 
-        BS2_SUPPORT_ALL ​    = BS2_SUPPORT_RS485EX | BS2_SUPPORT_CARDEX | BS2_SUPPORT_DST,​ 
-    }; 
- 
-    uint32_t supported; 
-    uint8_t ​ reserved[4];​ 
-}BS2SimpleDeviceInfoEx;​ 
-</​code>​ 
- 
-1. //​supported//​ \\  
-현재 장치가 BS2SimpleDeviceInfo 에서 제공하는 기능 외의 정보를 추가적으로 가져옵니다.\\ 
-아래 정의된 값으로 bit masking을 하여 지원 여부를 확인할 수 있습니다. 
-<WRAP group 50%> 
-^정의 ​ ^값  ^설명 ​ ^ 
-|BS2_SUPPORT_RS485EX ​ |0x00000001 ​ |RS485 확장 지원 여부 (CoreStation 40에 해당) ​ | 
-|BS2_SUPPORT_CARDEX ​ |0x00000002 ​ |iClass SEOS 카드 사용 여부 ​ | 
-|BS2_SUPPORT_DST ​ |0x00000004 ​ |일광절약 시간 사용 여부 ​ | 
-|BS2_SUPPORT_ALL ​ |0x00000007 ​ |추가 정보 전체 제공 여부 ​ | 
-</​WRAP>​ 
- 
-2. //​reserved//​ \\  
-예약된 공간입니다. \\  
- 
-==== BS2ResourceElement ==== 
-<code cpp> 
-typedef struct 
-{ 
-    uint8_t type; 
-    uint32_t numResData; 
-    struct { 
-        uint8_t index; 
-        uint32_t dataLen; 
-        uint8_t* data; 
-    }resData[128];​ 
-}BS2ResourceElement;​ 
-</​code>​ 
-1. //type// \\ 
-리소스 데이터 타입입니다. \\ 
-<WRAP group 50%> 
-^값  ^설명 ​ ^지원하는 데이터 형식 ​ ^ 
-|0  |UI(Langauge pack)  |슈프리마 언어팩 | 
-|1  |Notice message ​ | UTF-8 문자열 | 
-|2  |Image(Background) ​ | PNG | 
-|3  |Slide image  | PNG | 
-|4  |Sound ​ | WAVE | 
-</​WRAP>​ 
-2. //​numResData//​ \\ 
-리소스 데이터 개수입니다. \\ \\ 
-3. //index// \\ 
-리소스 인덱스 번호입니다. \\ \\ 
-4. //dataLen// \\ 
-리소스 데이터 크기입니다. \\ \\ 
-5. //data// \\ 
-바이너리 리소스 데이터입니다. \\ \\ 
- 
-==== BS2IPv6DeviceInfo ==== 
-<code cpp> 
-enum { 
-    BS2_MAX_IPV6_ALLOCATED_ADDR = 8, 
-}; 
- 
-typedef struct 
-{ 
-    BS2_DEVICE_ID id; 
-    uint8_t reserved[1];​ 
-    uint8_t bIPv6Mode; 
-    char ipv6Address[BS2_IPV6_ADDR_SIZE];​ 
-    uint16_t portV6; 
-    char connectedIPV6[BS2_IPV6_ADDR_SIZE];​ 
-    uint8_t numOfAllocatedAddressV6;​ 
-    char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];​ 
-}BS2IPv6DeviceInfo;​ 
-</​code>​ 
-1. //id// \\  
-장치 식별자입니다. \\ \\  
-2. //​reserved//​ \\  
-예약된 공간입니다. \\ \\  
-3. //​bIPv6Mode//​ \\  
-현 장치가 IP V6로 동작하는지 여부를 나타내는 flag입니다. \\ \\  
-4. //​ipv6Address//​ \\  
-현재 장치의 IP V6 주소입니다. \\ \\  
-5. //portV6// \\  
-현재 장치의 IP V6 포트 번호입니다. \\ \\  
-6. //​connectedIPV6//​ \\  
-장치가 연결된 서버의 IP V6 주소입니다. \\ \\  
-7. //​numOfAllocatedAddressV6//​ \\  
-현재 장치에 할당되어진 IP V6 주소의 갯수를 나타냅니다. \\ \\  
-8. //​allocatedIpAddressV6//​ \\  
-현재 장치에 할당되어진 IP V6 주소입니다. numOfAllocatedAddressV6는 할당되어진 주소의 갯수를 나타냅니다. \\ \\ 
- 
-==== BS2AuthOperatorLevel ==== 
-<code cpp> 
-typedef struct { 
-    char userID[BS2_USER_ID_SIZE];​ 
-    uint8_t level; 
-    uint8_t reserved[3];​ 
-} BS2Operator;​ 
- 
-typedef BS2Operator BS2AuthOperatorLevel;​ 
-</​code>​ 
-1. //userID// \\  
-사용자 식별자입니다. \\ \\  
-2. //level// \\  
-사용자가 인증되었을 때 식별자에 해당하는 권한을 지정합니다. \\  
-<WRAP group 50%> 
-^값  ^설명 ​ ^ 
-|0  |권한 없음 ​ | 
-|1  |관리자 권한 ​ | 
-|2  |시스템 구성을 변경할 수 있는 권한 ​ | 
-|3  |사용자 정보를 변경할 수 있는 권한 ​ | 
-</​WRAP>​ 
-3. //​reserved//​ \\  
-예약된 공간입니다. \\