차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:log_management_api [2018/02/23 13:30] kkshin [BS2Event] |
ko:log_management_api [2020/02/17 19:48] kkshin |
||
---|---|---|---|
줄 11: | 줄 11: | ||
* [[BS2_GetLogBlob]]: EventMask에 맞게 일정량의 로그를 가져옵니다. | * [[BS2_GetLogBlob]]: EventMask에 맞게 일정량의 로그를 가져옵니다. | ||
* [[BS2_GetFilteredLogSinceEventId]]: 조건에 맞는 로그를 가져옵니다. | * [[BS2_GetFilteredLogSinceEventId]]: 조건에 맞는 로그를 가져옵니다. | ||
+ | * [[BS2_GetImageLog]]: 이미지로그를 가져옵니다. | ||
+ | * [[BS2_GetLogSmallBlob]]: [+ 2.6.4] 효율적으로 메모리를 사용하여, EventMask에 맞게 일정량의 로그를 가져옵니다. | ||
+ | |||
===== 콜백 함수 ===== | ===== 콜백 함수 ===== | ||
<code cpp> | <code cpp> | ||
줄 30: | 줄 33: | ||
union { | union { | ||
char userID[BS2_USER_ID_SIZE]; | char userID[BS2_USER_ID_SIZE]; | ||
- | uint32_t ioDeviceID; | + | uint32_t uid; |
+ | uint32_t doorID; | ||
+ | uint32_t liftID; | ||
+ | uint32_t zoneID; | ||
+ | struct { | ||
+ | uint32_t ioDeviceID; | ||
+ | uint16_t port; | ||
+ | int8_t value; | ||
+ | uint8_t reserved[25]; | ||
+ | }; | ||
+ | struct { | ||
+ | uint32_t zoneID; | ||
+ | uint32_t doorID; | ||
+ | uint32_t ioDeviceID; | ||
+ | uint16_t port; | ||
+ | uint8_t reserved[18]; | ||
+ | } alarm; | ||
+ | struct { | ||
+ | uint32_t zoneID; | ||
+ | uint32_t doorID[4]; | ||
+ | uint8_t reserved[12]; | ||
+ | } interlock; | ||
}; | }; | ||
union { | union { | ||
줄 40: | 줄 64: | ||
}; | }; | ||
uint8_t param; | uint8_t param; | ||
- | uint8_t image; | + | #ifdef LESS_THAN_SDK_2_6_0 |
- | } BS2Event; | + | BS2_BOOL image; // Deprecated in V2.6.0 |
- | + | ||
- | typedef struct { | + | |
- | union { | + | |
- | BS2_USER_ID userID; ///< 32 bytes | + | |
- | uint32_t uid; (사용자ID) | + | |
- | uint32_t doorID; | + | |
- | uint32_t liftID; | + | |
- | uint32_t zoneID; | + | |
- | struct { | + | |
- | uint32_t ioDeviceID; | + | |
- | uint16_t port; | + | |
- | int8_t value; | + | |
- | uint8_t reserved[25]; | + | |
- | }; | + | |
- | struct { | + | |
- | uint32_t zoneID; | + | |
- | uint32_t doorID; | + | |
- | uint32_t ioDeviceID; | + | |
- | uint16_t port; | + | |
- | uint8_t reserved[18]; | + | |
- | } alarm; | + | |
- | struct { | + | |
- | uint32_t zoneID; | + | |
- | uint32_t doorID[4]; | + | |
- | uint8_t reserved[12]; | + | |
- | } interlock; | + | |
- | }; | + | |
- | union { ///< 2 bytes | + | |
- | uint16_t code; | + | |
- | struct { | + | |
- | uint8_t subCode; | + | |
- | uint8_t mainCode; | + | |
- | }; | + | |
- | }; | + | |
- | uint8_t param; ///< 1 byte : tnaKey, floorIndex, alarmFlags | + | |
- | #ifdef DST_SUPPORTED // BSPP-7 | + | |
- | uint8_t image: 1; | + | |
- | uint8_t isDST: 1; | + | |
- | uint8_t half: 1; | + | |
- | uint8_t hour: 4; | + | |
- | uint8_t negative: 1; | + | |
#else | #else | ||
- | BS2_BOOL image; ///< 1 byte | + | uint8_t image: 1; // bit 단위 분할하여 image 및 DST 지원 |
+ | uint8_t isDST: 1; | ||
+ | uint8_t half: 1; | ||
+ | uint8_t hour: 4; | ||
+ | uint8_t negative: 1; | ||
#endif | #endif | ||
} BS2Event; | } BS2Event; | ||
- | |||
</code> | </code> | ||
\\ | \\ | ||
줄 100: | 줄 86: | ||
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
5. //uid// \\ | 5. //uid// \\ | ||
- | 로그와 관련된 사용자 식별자로써 32bit의 정수입니다. \\ \\ | + | 출입문에 대한 로그라면 doorID를, 구역에 대한 로그라면 zoneID를 참조하면 되지만, \\ |
+ | 이를 정확히 알 수 없는 경우 uid를 참조하면 됩니다. \\ | ||
+ | uid, doorID, liftID, zoneID는 union으로 선언되어 있기때문에 기본적으로 같은 정보를 의미합니다. \\ \\ | ||
6. //doorID// \\ | 6. //doorID// \\ | ||
- | 로그와 관련된 사용자 식별자로써 출입문과 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | + | 로그가 발생된 출입문 식별자입니다. \\ \\ |
7. //liftID// \\ | 7. //liftID// \\ | ||
- | 로그와 관련된 사용자 식별자로써 리프트와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | + | 로그가 발생된 리프트 식별자입니다. \\ \\ |
8. //zoneID// \\ | 8. //zoneID// \\ | ||
- | 로그와 관련된 사용자 식별자로써 구역과 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | + | 로그가 발생된 구역 식별자입니다. \\ \\ |
9. //ioDeviceID// \\ | 9. //ioDeviceID// \\ | ||
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ | ||
줄 112: | 줄 100: | ||
ioDeviceID에 대한 port를 의미합니다. \\ \\ | ioDeviceID에 대한 port를 의미합니다. \\ \\ | ||
11. //value// \\ | 11. //value// \\ | ||
- | ioDeviceID에 대한 value를 의미합니다. \\ \\ | + | ioDeviceID에 대한 port value를 나타하며 다음을 의미합니다. \\ |
+ | BS2_PORT_VALUE_UNKNOWN : -1 \\ | ||
+ | BS2_PORT_VALUE_OPEN : 0 \\ | ||
+ | BS2_PORT_VALUE_CLOSED : 1 \\ | ||
+ | BS2_PORT_VALUE_SUPERVISED_SHORT : 2 \\ | ||
+ | BS2_PORT_VALUE_SUPERVISED_OPEN : 3 \\ \\ | ||
12. //alarm.zoneID// \\ | 12. //alarm.zoneID// \\ | ||
- | 경보를 발생시킨 구역에대한 식별자를 의미합니다. \\ \\ | + | 침입탐지 구역 경보 발생 시 구역에대한 식별자를 의미합니다. \\ \\ |
13. //alarm.doorID// \\ | 13. //alarm.doorID// \\ | ||
- | 경보를 발생시킨 출입문에대한 식별자를 의미합니다. \\ \\ | + | 침입탐지 구역 경보를 발생시킨 출입문 식별자를 의미합니다. \\ \\ |
14. //interlock.zoneID// \\ | 14. //interlock.zoneID// \\ | ||
인터락 위반을 발생시킨 구역 식별자를 의미합니다. \\ \\ | 인터락 위반을 발생시킨 구역 식별자를 의미합니다. \\ \\ | ||
줄 129: | 줄 122: | ||
|::: |BS2_SUB_EVENT_VERIFY_ID_FACE |0x04 |주어진 사용자 식별자로 얼굴 인식 성공 | | |::: |BS2_SUB_EVENT_VERIFY_ID_FACE |0x04 |주어진 사용자 식별자로 얼굴 인식 성공 | | ||
|::: |BS2_SUB_EVENT_VERIFY_ID_FACE_PIN |0x05 |주어진 사용자 식별자로 얼굴 인식과 PIN 인증 성공 | | |::: |BS2_SUB_EVENT_VERIFY_ID_FACE_PIN |0x05 |주어진 사용자 식별자로 얼굴 인식과 PIN 인증 성공 | | ||
- | |::: |BS2_SUB_EVENT_VERIFY_CARD |0x06 |스마트 카드 인증 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD |0x06 |카드 인증 성공 | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_PIN |0x07 |스마트 카드와 PIN 인증 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_PIN |0x07 |카드와 PIN 인증 성공 | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER |0x08 |스마트 카드와 지문 인증 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER |0x08 |카드와 지문 인증 성공 | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER_PIN |0x09 |스마트 카드, 지문, PIN 인증 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FINGER_PIN |0x09 |카드, 지문, PIN 인증 성공 | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE |0x0A |스마트 카드 인증과 얼굴 인식 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE |0x0A |카드 인증과 얼굴 인식 성공 | |
- | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE_PIN |0x0B |스마트 카드, 얼굴 인식, PIN 인증 성공 | | + | |::: |BS2_SUB_EVENT_VERIFY_CARD_FACE_PIN |0x0B |카드, 얼굴 인식, PIN 인증 성공 | |
|::: |BS2_SUB_EVENT_VERIFY_AOC |0x0C |AOC 카드 인증 성공 | | |::: |BS2_SUB_EVENT_VERIFY_AOC |0x0C |AOC 카드 인증 성공 | | ||
|::: |BS2_SUB_EVENT_VERIFY_AOC_PIN |0x0D |AOC 카드와 PIN 인증 성공 | | |::: |BS2_SUB_EVENT_VERIFY_AOC_PIN |0x0D |AOC 카드와 PIN 인증 성공 | | ||
줄 146: | 줄 139: | ||
|::: |BS2_SUB_EVENT_DUAL_AUTH_FAIL_ACCESS_GROUP |0x02 |유효하지 않은 사용자로 2인 인증 시도 | | |::: |BS2_SUB_EVENT_DUAL_AUTH_FAIL_ACCESS_GROUP |0x02 |유효하지 않은 사용자로 2인 인증 시도 | | ||
|Credential |BS2_SUB_EVENT_CREDENTIAL_ID |0x01 |등록되지 않은 사용자 식별자 | | |Credential |BS2_SUB_EVENT_CREDENTIAL_ID |0x01 |등록되지 않은 사용자 식별자 | | ||
- | |::: |BS2_SUB_EVENT_CREDENTIAL_CARD |0x02 |유효하지 않은 스마트 카드 | | + | |::: |BS2_SUB_EVENT_CREDENTIAL_CARD |0x02 |유효하지 않은 카드 | |
|::: |BS2_SUB_EVENT_CREDENTIAL_PIN |0x03 |유효하지 않은 PIN | | |::: |BS2_SUB_EVENT_CREDENTIAL_PIN |0x03 |유효하지 않은 PIN | | ||
|::: |BS2_SUB_EVENT_CREDENTIAL_FINGER |0x04 |유효하지 않은 지문 | | |::: |BS2_SUB_EVENT_CREDENTIAL_FINGER |0x04 |유효하지 않은 지문 | | ||
줄 186: | 줄 179: | ||
|::: |BS2_EVENT_USER_DELETE_ALL_SUCCESS |0x2600 |전체 사용자 삭제 성공 | | |::: |BS2_EVENT_USER_DELETE_ALL_SUCCESS |0x2600 |전체 사용자 삭제 성공 | | ||
|::: |BS2_EVENT_USER_ISSUE_AOC_SUCCESS |0x2700 |Access card로 인증 성공 | | |::: |BS2_EVENT_USER_ISSUE_AOC_SUCCESS |0x2700 |Access card로 인증 성공 | | ||
+ | |::: |BS2_EVENT_USER_DUPLICATE_CREDENTIAL |0x2800 |중복 인증(카드/지문/얼굴)정보 검출 | | ||
|Device |BS2_EVENT_DEVICE_SYSTEM_RESET |0x3000 |시스템 다시 시작 | | |Device |BS2_EVENT_DEVICE_SYSTEM_RESET |0x3000 |시스템 다시 시작 | | ||
|::: |BS2_EVENT_DEVICE_SYSTEM_STARTED |0x3100 |시스템이 시작됨 | | |::: |BS2_EVENT_DEVICE_SYSTEM_STARTED |0x3100 |시스템이 시작됨 | | ||
|::: |BS2_EVENT_DEVICE_TIME_SET |0x3200 |시스템 시간 변경 | | |::: |BS2_EVENT_DEVICE_TIME_SET |0x3200 |시스템 시간 변경 | | ||
+ | |::: |BS2_EVENT_DEVICE_TIMEZONE_SET |0x3201 |Time zone 변경 | | ||
+ | |::: |BS2_EVENT_DEVICE_DST_SET |0x3202 |DST 설정 변경 | | ||
|::: |BS2_EVENT_DEVICE_LINK_CONNECTED |0x3300 |LAN 케이블 연결됨 | | |::: |BS2_EVENT_DEVICE_LINK_CONNECTED |0x3300 |LAN 케이블 연결됨 | | ||
|::: |BS2_EVENT_DEVICE_LINK_DISCONNETED |0x3400 |LAN 케이블 빠짐 | | |::: |BS2_EVENT_DEVICE_LINK_DISCONNETED |0x3400 |LAN 케이블 빠짐 | | ||
줄 207: | 줄 203: | ||
|::: |BS2_EVENT_DEVICE_FIRMWARE_UPGRADED |0x4300 |펌웨어가 업데이트됨 | | |::: |BS2_EVENT_DEVICE_FIRMWARE_UPGRADED |0x4300 |펌웨어가 업데이트됨 | | ||
|::: |BS2_EVENT_DEVICE_RESOURCE_UPGRADED |0x4400 |리소스가 업데이트됨 | | |::: |BS2_EVENT_DEVICE_RESOURCE_UPGRADED |0x4400 |리소스가 업데이트됨 | | ||
- | |::: |BS2_EVENT_DEVICE_CONFIG_RESET |0x4500 |시스템 구성 정보가 초기화됨 | | + | |::: |BS2_EVENT_DEVICE_CONFIG_RESET |0x4500 |시스템 구성 정보가 초기화됨 (네트워크 정보 포함) | |
|::: |BS2_EVENT_DEVICE_DATABASE_RESET |0x4501 |데이터베이스가 초기화됨 | | |::: |BS2_EVENT_DEVICE_DATABASE_RESET |0x4501 |데이터베이스가 초기화됨 | | ||
|::: |BS2_EVENT_DEVICE_FACTORY_RESET |0x4502 |공장 초기화됨 | | |::: |BS2_EVENT_DEVICE_FACTORY_RESET |0x4502 |공장 초기화됨 | | ||
- | |::: |BS2_EVENT_DEVICE_CONFIG_RESET_EX |0x4503 |시스템 구성 정보가 초기화됨 | | + | |::: |BS2_EVENT_DEVICE_CONFIG_RESET_EX |0x4503 |시스템 구성 정보가 초기화됨 (네트워크 정보 제외) | |
|Supervised Input |BS2_EVENT_SUPERVISED_INPUT_SHORT |0x4600 |Supervised Input (단락 감지) | | |Supervised Input |BS2_EVENT_SUPERVISED_INPUT_SHORT |0x4600 |Supervised Input (단락 감지) | | ||
|::: |BS2_EVENT_SUPERVISED_INPUT_OPEN |0x4700 |Supervised Input (단선 감지) | | |::: |BS2_EVENT_SUPERVISED_INPUT_OPEN |0x4700 |Supervised Input (단선 감지) | | ||
줄 239: | 줄 235: | ||
|::: |BS2_EVENT_ZONE_FIRE_ALARM |0x6700 |BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 시작 | | |::: |BS2_EVENT_ZONE_FIRE_ALARM |0x6700 |BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 시작 | | ||
|::: |BS2_EVENT_ZONE_FIRE_ALARM_CLEAR |0x6800 |BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 해제 | | |::: |BS2_EVENT_ZONE_FIRE_ALARM_CLEAR |0x6800 |BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 해제 | | ||
- | |::: |BS2_EVENT_ZONE_FORCED_LOCK_VIOLATION |0x6900 |구역내 강제 잠금 위반 감지 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_VIOLATION |0x6900 |스케줄 잠금 구역 위반 감지 | |
- | |::: |BS2_EVENT_ZONE_FORCED_LOCK_START |0x6A00 |구역내 강제 잠금 시작 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_START |0x6A00 |스케줄 잠금 구역 시작 | |
- | |::: |BS2_EVENT_ZONE_FORCED_LOCK_END |0x6B00 |구역내 강제 잠금 끝 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_END |0x6B00 |스케줄 잠금 구역 끝 | |
- | |::: |BS2_EVENT_ZONE_FORCED_UNLOCK_START |0x6C00 |구역내 강제 잠금 해제 시작 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_UNLOCK_START |0x6C00 |스케줄 개방 구역 시작 | |
- | |::: |BS2_EVENT_ZONE_FORCED_UNLOCK_END |0x6D00 |구역내 강제 잠금 해제 끝 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_UNLOCK_END |0x6D00 |스케줄 개방 구역 끝 | |
- | |::: |BS2_EVENT_ZONE_FORCED_LOCK_ALARM |0x6E00 |구역내 강제 잠금 경보 시작 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM |0x6E00 |스케줄 잠금 구역 경보 시작 | |
- | |::: |BS2_EVENT_ZONE_FORCED_LOCK_ALARM_CLEAR |0x6F00 |구역내 강제 잠금 경보 해제 | | + | |::: |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR |0x6F00 |스케줄 잠금 구역 경보 해제 | |
줄 270: | 줄 266: | ||
|:::|BS2_TNA_KEY_15|0|15| | |:::|BS2_TNA_KEY_15|0|15| | ||
|:::|BS2_TNA_KEY_16|Esc|16| | |:::|BS2_TNA_KEY_16|Esc|16| | ||
+ | </WRAP> | ||
+ | \\ | ||
+ | **[+ 2.6.3] param의 추가기능** \\ | ||
+ | event code가 사용자와 관련된 경우에 한합니다. \\ | ||
+ | 장치에서 직접 사용자를 추가 또는 편집, 삭제하였다면 param은 1, BioStar를 통해 이루어졌다면 0입니다.\\ | ||
+ | 예를들어 BS2_EVENT_USER_ENROLL_SUCCESS와 함께 param이 1이었다면, 장치에서 직접 추가된 사용자를 나타냅니다.\\ | ||
+ | 이 기능은 아래의 펌웨어 버전 이후부터 지원합니다. | ||
+ | <WRAP group 60%> | ||
+ | ^장치 종류 ^지원 버전 ^ | ||
+ | |BioStation 2 |V1.7.0 | | ||
+ | |BioStation A2 |V1.6.0 | | ||
+ | |CoreStation 40 |V1.2.0 | | ||
+ | |BioEntry P2 |V1.2.0 | | ||
+ | |BioStation L2 |V1.4.0 | | ||
+ | |BioLite N2 |V1.1.0 | | ||
+ | |BioEntry W2 |V1.3.0 | | ||
+ | |FaceStation 2 |V1.2.0| | ||
</WRAP> | </WRAP> | ||
\\ \\ | \\ \\ | ||
19. //image// \\ | 19. //image// \\ | ||
- | 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다. | + | SDK V2.6.0 이전까지는 1byte 전체를 사용하여 다음을 의미했습니다. \\ |
+ | - 이벤트 발생되었을 때 이미지 정보가 포함되었는지 여부 (true/false). \\ | ||
+ | SDK V2.6.0 부터는 1byte를 bit 단위로 나누어 다음의 정보를 제공할 수 있도록 변경되었습니다. \\ | ||
+ | - 이미지 정보가 포함되었는지 여부 \\ | ||
+ | - DST 적용 여부 \\ | ||
+ | ^범주 ^비트 수 ^변수 ^설명 ^ | ||
+ | |SDK 2.6.0 이전 |8 |image |이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다. | | ||
+ | |SDK 2.6.0 부터 |1 |image |이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다. | | ||
+ | |::: |1 |isDST |현재 로그가 DST의 적용을 받았는지 여부를 표시 | | ||
+ | |::: |1 |half |DST가 30분 단위의 적용을 받는지여부. 0은 0분, 1은 30분 | | ||
+ | |::: |4 |hour |시간을 표시. 1~12시 | | ||
+ | |::: |1 |negative |0은 +시간, 1은 -시간 | | ||
==== BS2EventBlob==== | ==== BS2EventBlob==== |