Zone Control API
하나의 관리 지역을 특정 목적에 맞게 여러 구역으로 나눠 출입을 통제할 수 있습니다. 구역을 설정하면 출입 인증 장치, 출입문의 동작을 제어할 수 있습니다.
안티패스백
사용자가 자신의 카드를 제삼자에게 빌려준다든지 자신의 지문을 이용하여 제삼자를 안으로 들이는 상황을 방지하려면, 이중출입 방지 구역을 사용합니다.
시간 지정 안티패스백
사용자가 일정 시간내에 재진입하는 것을 막으려면, 인증 제한 구역을 사용합니다. 이 구역은 안티패스백 구역과 동일하게 두 가지 종류의 옵션(소프트, 하드)을 지원합니다.
화재 경보
출입 통제 구역에서 화재를 감지하고 경보를 제어하려면 화재 경보 구역을 사용합니다. 외부 입력 신호가 BioStar 시스템에 전달되면 BioStar는 자동으로 출입문을 개방하며 미리 정의한 경보를 수행합니다.
스케줄 잠금/개방
시간에 따라 구역을 개방하거나 폐쇄하려면 스케줄 잠금/개방 구역을 사용합니다. 이 구역은 일정 시간동안 모든 출입문을 개방하는 정시간 개방 상태와, 일정 시간동안 모든 출입문을 폐쇄하는 정시간 폐쇄 상태로 배타적으로 동작합니다.
경비 경보
경비 구역에서 침입이나 이상 신호가 발생할 경우 신호를 수신하여 대처하는 시스템으로 사용합니다. 외부 입력 신호가 BioStar 시스템에 전달되면 BioStar는 자동으로 미리 정의한 경보를 수행합니다.
인터락
+ v2.6.0 이중 문으로 구성되어 다른 한 쪽 문을 통과하기 전에 반드시 반대 쪽이 닫혀 있어야 하는 경우 사용됩니다.
Ethernet
Zone Master 역할을 BioStar V2.x 서버가 아닌 특정 장치가 하며 장치 사이(Master ↔ Member)의 통신 방식으로 Ethernet TCP 통신 방식을 사용하는 Zone입니다.
Lift 스케줄 잠금/개방
+ v2.7.0 Elevator 제어 관련, 인증 권한과 무관하게 시간대를 기반으로 특정 층에 접근할 수 있도록 하는 새로운 함수들을 제공합니다.
콜백 함수
OnCheckGlobalAPBViolation
안티패스백 경보가 발생했을 때 글로벌 판정을 위한 콜백 함수입니다.
typedef void (*OnCheckGlobalAPBViolation)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth);
-
deviceId장치 식별자입니다.
-
seq패킷 일련번호입니다.
-
userID_1첫 번째 사용자 ID 입니다.
-
userID_2두 번째 사용자 ID 입니다.
-
isDualAuth이중인증 여부를 의미합니다.
OnCheckGlobalAPBViolationByDoorOpen
출입문 센서 기반의 안티패스백 경보가 발생했을 때, 인증정보를 바탕으로 글로벌 판정을 요청하는 1차 콜백 함수입니다.
typedef void (*OnCheckGlobalAPBViolationByDoorOpen)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth);
-
deviceId장치 식별자입니다.
-
seq패킷 일련번호입니다.
-
userID_1첫 번째 사용자 ID 입니다.
-
userID_2두 번째 사용자 ID 입니다.
-
isDualAuth이중인증 여부를 의미합니다.
OnUpdateGlobalAPBViolationByDoorOpen
출입문 센서 기반의 안티패스백 경보가 발생했을 때, 최종 사용자 출입 상태의 업데이트를 요청하는 2차 콜백 함수입니다.
typedef void (*OnUpdateGlobalAPBViolationByDoorOpen)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth);
-
deviceId장치 식별자입니다.
-
seq패킷 일련번호입니다.
-
userID_1첫 번째 사용자 ID 입니다.
-
userID_2두 번째 사용자 ID 입니다.
-
isDualAuth이중인증 여부를 의미합니다.
구조체
BS2ZoneStatus
typedef struct {
uint32_t id;
uint8_t status;
uint8_t disabled;
uint8_t reserved[6];
} BS2ZoneStatus;
-
id구역 식별자입니다.
-
status구역의 현재 상태 값으로 여러 상태값으로 조합될 수 있습니다.
값 설명 0 정상, 경비해제 1 알람 발생 2 Scheduled locked, Lift locked 4 Scheduled unlocked, Lift unlocked 8 경비 -
disabled비활성화 상태인지를 나타내는 flag 값입니다.
-
reserved예약된 공간입니다.
BS2ApbMember
typedef struct {
uint32_t deviceID;
uint8_t type;
uint8_t reserved[3];
} BS2ApbMember;
-
deviceID장치 식별자입니다.
-
typeAPB reader 유형입니다.
값 설명 -1 정의되지 않음 0 입구 리더 1 출구 리더 -
reserved예약된 공간입니다.
BS2TimedApbMember
typedef struct {
uint32_t deviceID;
uint8_t reserved[4];
} BS2TimedApbMember;
-
deviceID장치 식별자입니다.
-
reserved예약된 공간입니다.
BS2FireSensor
typedef struct {
uint32_t deviceID;
uint8_t port;
uint8_t switchType;
uint8_t duration;
} BS2FireSensor ;
-
deviceID장치 식별자입니다.
-
port장치의 입력 포트입니다.
-
switchType입력 신호 유형입니다.
값 설명 0 대기 상태에서 열림 상태로 유지 1 대기 상태에서 닫힘 상태로 유지 -
duration입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다.
BS2AntiPassbackZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t type;
uint8_t numReaders;
uint8_t numBypassGroups;
uint8_t disabled;
uint8_t alarmed;
uint8_t reserved[3];
uint32_t resetDuration;
BS2Action alarm[BS2_MAX_APB_ALARM_ACTION];
BS2ApbMember readers[BS2_MAX_READERS_PER_APB_ZONE];
uint8_t reserved2[512];
uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_APB_ZONE];
} BS2AntiPassbackZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
주의이중 출입 구역의 식별자와 출입문 식별자가 같을 경우 출입문 기반 이중 출입 구역으로 간주하기 때문에 해당 출입문이 제거될 때 구역 정보도 같이 제거될 수 있습니다.
-
name
BioStar 애플리케이션에서 보이는 구역 이름입니다.
-
type안티패스백 구역의 유형입니다.
값 설명 0 Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨) 1 Soft APB(규칙 위반시 출입은 허용하고 로그에 기록됨) -
numReadersAPB reader의 총 개수입니다.
-
numBypassGroupsAPB 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다 .
-
disabled활성화 여부 flag값입니다 .
-
alarmed현재 구역의 경보 상태입니다.
-
reserved예약된 공간입니다.
-
resetDurationAPB 위반 상황이 초기화(해제) 될 때까지의 시간을 의미하며, 초 단위로 설정 합니다. 이때 초기화에 소요되는 시간은 마지막 인증이 성공한 시간을 기준으로 계산됩니다. 만일 이 값이 0으로 설정되었다면 초기화하지 않는 것을 의미하며,
BS2_ClearAntiPassbackZoneStatus로 초기화 할 수 있습니다. -
alarm사용자가 APB 규칙을 위반했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
readers안티패스백 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다.
-
reserved2예약된 공간입니다.
-
bypassGroupIDsAPB 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다.
BS2TimedAntiPassbackZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t type;
uint8_t numReaders;
uint8_t numBypassGroups;
uint8_t disabled;
uint8_t alarmed;
uint8_t reserved[3];
uint32_t resetDuration;
BS2Action alarm[BS2_MAX_TIMED_APB_ALARM_ACTION];
BS2TimedApbMember readers[BS2_MAX_READERS_PER_TIMED_APB_ZONE];
uint8_t reserved2[320];
uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_TIMED_APB_ZONE];
} BS2TimedAntiPassbackZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
type시간 지정 안티패스백 구역의 유형입니다.
값 설명 0 Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨) 1 Soft APB(규칙 위반시 출입은 허용하고 로그에 기록됨) -
numReaders시간 지정 안티패스백 reader의 총 개수입니다.
-
numBypassGroups시간 지정 안티패스백 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다 .
-
disabled활성화 여부 flag값입니다 .
-
alarmed현재 구역의 경보 상태입니다.
-
reserved예약된 공간입니다.
-
resetDuration사용자가 출입 후 동일 장치에 다시 출입하기 위해 대기해야 하는 시간으로 초 단위로 설정할 수 있습니다. 만약, 이 값이 0으로 설정되었다면 초기화하지 않는것을 의미하며, 오직 BioStar 애플리케이션을 통해서만 초기화될 수 있습니다.
-
alarm사용자가 시간 지정 안티패스백 규칙을 위반했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
readers시간 지정 안티패스백 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다.
-
reserved2예약된 공간입니다.
-
bypassGroupIDs시간 지정 안티패스백 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다.
BS2FireAlarmZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t numSensors;
uint8_t numDoors;
uint8_t disabled;
uint8_t alarmed;
uint8_t reserved[8];
BS2FireSensor sensor[BS2_MAX_FIRE_SENSORS_PER_FIRE_ALARM_ZONE];
BS2Action alarm[BS2_MAX_FIRE_ALARM_ACTION];
uint8_t reserved2[32];
uint32_t doorIDs[BS2_MAX_DOORS_PER_FIRE_ALARM_ZONE];
} BS2FireAlarmZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
numSensors화재 경보 센서의 총 개수입니다.
-
numDoors화재 경보 구역에 속한 총 출입문 개수입니다.
-
alarmed현재 구역의 경보 상태입니다.
-
disabled활성화 여부 flag값입니다 .
-
reserved예약된 공간입니다.
-
sensor화재 경보 구역에 속한 화재 경보 센서들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다.
-
alarm화재를 감지했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
reserved2예약된 공간입니다.
-
doorIDs화재를 감지했을 때 열어야 할 출입문들을 나열한 리스트로 최대 32개까지 지정할 수 있습니다.
BS2ScheduledLockUnlockZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint32_t lockScheduleID;
uint32_t unlockScheduleID;
uint8_t numDoors;
uint8_t numBypassGroups;
uint8_t numUnlockGroups;
uint8_t bidirectionalLock;
uint8_t disabled;
uint8_t alarmed;
uint8_t reserved[6];
BS2Action alarm[BS2_MAX_SCHEDULED_LOCK_UNLOCK_ALARM_ACTION];
uint8_t reserved2[32];
uint32_t doorIDs[BS2_MAX_DOORS_IN_SCHEDULED_LOCK_UNLOCK_ZONE];
uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_IN_SCHEDULED_LOCK_UNLOCK_ZONE];
uint32_t unlockGroupIDs[BS2_MAX_UNLOCK_GROUPS_IN_SCHEDULED_LOCK_UNLOCK_ZONE];
} BS2ScheduledLockUnlockZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
lockScheduleID구역에 속한 출입문이 스케줄 잠금 상태로 동작해야 할 출입 일정 식별자입니다.
-
unlockScheduleID구역에 속한 출입문이 스케줄 개방 상태로 동작해야 할 출입 일정 식별자입니다.
-
numDoors구역에 속한 출입문의 총 개수입니다.
-
numBypassGroups스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹의 총 개수입니다.
-
numUnlockGroups스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹의 총 개수입니다.
-
bidirectionalLock강제 잠금 상태에서 출입문의 입구 장치와 출구 장치에서 모두 출입을 막아야 하는지 여부입니다.
-
disabled활성화 여부 flag값입니다 .
-
alarmed현재 구역의 경보 상태입니다.
-
reserved예약된 공간입니다.
-
alarm구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
reserved2예약된 공간입니다.
-
doorIDs구역에 속한 출입문 식별자를 나열한 리스트로 최대 32개까지 설정할 수 있습니다.
-
bypassGroupIDs스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다.
-
unlockGroupIDs스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다.
BS2IntrusionAlarmZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t armDelay;
uint8_t alarmDelay;
uint8_t disabled;
uint8_t reserved[1];
uint8_t numReaders;
uint8_t numInputs;
uint8_t numOutputs;
uint8_t numCards;
uint8_t numDoors;
uint8_t numGroups;
uint8_t reserved2[10];
} BS2IntrusionAlarmZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
armDelay경비 수행 지연시간입니다.
-
alarmDelay경비 해제 수행 지연시간입니다.
-
disabled활성화 여부 flag값입니다 .
-
reserved[1]예약된 공간입니다.
-
numReaders경비 경보 구역에 속한 장치들의 총 개수입니다.
-
numInputs경비 경보 구역에 속한 침입 감지 센서 입력의 총 개수입니다.
-
numOutputs경비 경보 구역에 속한 출력의 총 개수입니다.
-
numCards경비 경보 구역에 속한 카드의 총 개수입니다.
-
numDoors경비 경보 구역에 속한 출입문의 총 개수입니다.
-
numGroups경비 경보 구역에 속한 출입그룹의 총 개수입니다.
-
reserved예약된 공간입니다.
BS2IntrusionAlarmZoneBlob
typedef struct {
BS2IntrusionAlarmZone IntrusionAlarmZone;
BS2AlarmZoneMember* memberObjs;
BS2AlarmZoneInput* inputObjs;
BS2AlarmZoneOutput* outputObjs;
BS2CSNCard* cardObjs;
BS2_DOOR_ID* doorIDs;
BS2_ACCESS_GROUP_ID* groupIDs;
} BS2IntrusionAlarmZoneBlob;
-
IntrusionAlarmZone경비 경보 구역의 기본 정보를 정의한 구조체입니다.
-
memberObjs경비 경보 구역에 속한 장치들을 나열한 리스트로 반드시
IntrusionAlarmZone.numReaders만큼 존재해야 합니다. -
inputObjs경비 경보 구역에 속한 입력들을 나열한 리스트로 반드시
IntrusionAlarmZone.numInputs만큼 존재해야 합니다. -
outputObjs경비 경보 구역에 속한 출력들을 나열한 리스트로 반드시
IntrusionAlarmZone.numOutputs만큼 존재해야 합니다. 데이터 형식은 -
cardObjs경비 경보 구역에 속한 카드들을 나열한 리스트로 반드시
IntrusionAlarmZone.numCards만큼 존재해야 합니다. 데이터 형식은 Smartcard API를 참고하세요. -
doorIDs경비 경보 구역에 속한 출입문 식별자를 나열한 리스트로 반드시
IntrusionAlarmZone.numDoors만큼 존재해야 합니다. -
groupIDs경비 경보 구역을 위한 출입 그룹 식별자를 나열한 리스트로 반드시
IntrusionAlarmZone.numGroups만큼 존재해야 합니다.
BS2InterlockZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t disabled;
uint8_t numInputs;
uint8_t numOutputs;
uint8_t numDoors;
uint8_t reserved[8];
} BS2InterlockZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
disabled활성화 여부 flag값입니다 .
-
numInputs인터락 구역에 속한 출입문 센서 입력의 총 개수입니다.
-
numOutputs인터락 구역에 속한 출력의 총 개수입니다.
-
numDoors인터락 구역에 속한 출입문의 총 개수입니다.
-
reserved예약된 공간입니다.
BS2InterlockZoneBlob
typedef struct {
BS2InterlockZone InterlockZone;
BS2InterlockZoneInput* inputObjs;
BS2InterlockZoneOutput* outputObjs;
BS2_DOOR_ID* doorIDs;
} BS2InterlockZoneBlob;
-
InterlockZone인터락 구역의 기본 정보를 정의한 구조체입니다.
-
inputObjs인터락 구역에 속한 입력들을 나열한 리스트로 반드시
InterlockZone.numInputs만큼 존재해야 합니다. -
outputObjs인터락 구역에 속한 출력들을 나열한 리스트로 반드시
InterlockZone.numOutputs만큼 존재해야 합니다. -
doorIDs인터락 구역에 속한 출입문 식별자를 나열한 리스트로 반드시
InterlockZone.numDoors만큼 존재해야 합니다.
BS2DeviceZoneEntranceLimitMaster
typedef struct {
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t type;
uint8_t reserved1[3];
uint32_t entryLimitInterval_s;
uint8_t numEntranceLimit;
uint8_t numReaders;
uint8_t numAlarm;
uint8_t numBypassGroups;
uint8_t maxEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
uint32_t periodStart_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
uint32_t periodEnd_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
BS2DeviceZoneEntranceLimitMemberInfo readers[BS2_MAX_READERS_PER_DEVICE_ZONE_ENTRANCE_LIMIT];
BS2Action alarm[BS2_MAX_DEVICE_ZONE_ENTRANCE_LIMIT_ALARM_ACTION];
BS2_ACCESS_GROUP_ID bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_DEVICE_ZONE_ENTRANCE_LIMIT];
uint8_t reserved3[8 * 4];
} BS2DeviceZoneEntranceLimitMaster;
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
type인증 제한 구역의 유형입니다
값 설명 1 Soft EntranceLimit(규칙 위반시 출입이 불가능하고 로그에 기록됨) 2 Hard EntranceLimit(규칙 위반시 출입은 허용하고 로그에 기록됨) -
reserved1[3]예약된 공간입니다.
-
entryLimitInterval_s인증 출입간의 간격입니다.
-
numEntranceLimit인증 제한 총 개수입니다.
-
numReaders인증 제한 구역 reader의 총 개수입니다.
-
numAlarm인증 제한 구역 경보의 총 개수입니다.
-
numBypassGroups인증 제한 구역 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다.
-
maxEntry출입 지정 최대 횟수입니다.
-
periodStart_s출입 가능한 시작 시간입니다. (초단위)
-
periodEnd_s출입 가능한 종료 시간입니다. (초단위)
-
readers인증 제한 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다.
-
alarm구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
bypassGroupIDs인증 제한 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다.
-
reserved3예약된 공간입니다.
BS2DeviceZoneEntranceLimitMember
typedef struct {
uint16_t masterPort;
BS2_DEVICE_ZONE_ENTRANCE_LIMIT_DISCONNECTED_ACTION_TYPE actionInDisconnect;
uint8_t reserved1[1];
BS2_IPV4_ADDR masterIP;
} BS2DeviceZoneEntranceLimitMember;
-
masterPortmaster 장치의 port입니다.
-
actionInDisconnectDisconnect일 때의 액션입니다 .
값 설명 1 Soft EntranceLimit Disconnected action(규칙 위반시 출입이 불가능하고 로그에 기록됨) 2 Hard EntranceLimit Disconnected action(규칙 위반시 출입은 허용하고 로그에 기록됨) -
reserved1[3]예약된 공간입니다.
-
masterIPmaster 장치의 IP입니다.
BS2DeviceZoneFireAlarmMaster
typedef struct {
char name[BS2_MAX_ZONE_NAME_LEN];
uint8_t numReaders;
uint8_t numAlarm;
uint8_t reserved1[2];
BS2DeviceZoneFireAlarmMemberInfo readers[BS2_MAX_READERS_PER_DEVICE_ZONE_FIRE_ALARM];
BS2Action alarm[BS2_MAX_DEVICE_ZONE_FIRE_ALARM_ALARM_ACTION];
uint8_t reserved2[8 * 40];
} BS2DeviceZoneFireAlarmMaster;
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
numReaders화재 경보 구역에 속한 장치의 총 개수입니다.
-
reserved1예약된 공간입니다.
-
readers화재 경보 구역에 속한 장치입니다.
-
alarm화재를 감지했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다
-
reserved2예약된 공간입니다.
BS2DeviceZoneFireAlarmMember
typedef struct {
BS2_PORT masterPort;
uint8_t reserved1[2];
BS2_IPV4_ADDR masterIP;
uint8_t numSensors;
uint8_t numDoors;
uint8_t reserved2[2];
BS2DeviceZoneFireSensor sensor[BS2_MAX_FIRE_SENSORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER];
union {
BS2_DOOR_ID doorIDs[BS2_MAX_DOORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER];
BS2_LIFT_ID liftIDs[BS2_MAX_DOORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER];
};
} BS2DeviceZoneFireAlarmMember;
-
masterPortmaster 장치의 port입니다.
-
reserved1예약된 공간입니다.
-
masterIPmaster 장치의 IP입니다.
-
numSensors화재 경보 센서의 총 개수입니다.
-
numDoors화재 경보 구역에 속한 총 출입문 개수입니다.
-
reserved2예약된 공간입니다.
-
sensor화재 경보 구역에 속한 화재 경보 센서들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다.
-
doorIDs화재를 감지했을 때 열어야 할 출입문들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다.
-
liftIDs화재를 감지했을 때 열어야 할 Lift들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다.
BS2DeviceZoneFireAlarmMemberInfo
typedef struct {
uint32_t readerID;
} BS2DeviceZoneFireAlarmMemberInfo;
-
readerID화재 경보에 속한 장치입니다.
BS2DeviceZoneFireSensor
typedef struct {
uint32_t deviceID;
uint8_t port;
uint8_t switchType;
uint16_t duration;
} BS2DeviceZoneFireSensor;
-
deviceID장치 식별자입니다.
-
port장치의 입력 포트입니다.
-
switchType입력 신호 유형입니다.
값 설명 0 대기 상태에서 열림 상태로 유지 1 대기 상태에서 닫힘 상태로 유지 -
duration입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다.
BS2DeviceZone
typedef struct {
uint32_t zoneID;
uint8_t zoneType;
uint8_t nodeType;
uint8_t enable;
uint8_t reserved[1];
union {
BS2DeviceZoneEntranceLimitMaster entranceLimitMaster;
BS2DeviceZoneEntranceLimitMember entranceLimitMember;
BS2DeviceZoneFireAlarmMaster fireAlarmMaster;
BS2DeviceZoneFireAlarmMember fireAlarmMember;
};
} BS2DeviceZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
zoneType경비 수행 지연시간입니다.
-
nodeType경비 해제 수행 지연시간입니다.
-
enable활성화 여부 flag값입니다 .
-
reserved[1]예약된 공간입니다.
BS2DeviceZoneAGEntranceLimit
typedef struct {
uint32_t zoneID;
uint16_t numAGEntranceLimit;
uint16_t reserved1;
uint32_t periodStart_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
uint32_t periodEnd_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
uint16_t numEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE];
uint16_t maxEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE][BS2_MAX_ACCESS_GROUP_ENTRANCE_LIMIT_PER_ENTRACE_LIMIT];
uint32_t accessGroupID[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE][BS2_MAX_ACCESS_GROUP_ENTRANCE_LIMIT_PER_ENTRACE_LIMIT];
} BS2DeviceZoneAGEntranceLimit;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
numAGEntranceLimit출입그룹 인증 제한 총 개수입니다.
-
reserved1예약된 공간입니다.
-
periodStart_s출입 가능한 시작 시간입니다.
-
periodEnd_s출입 가능한 종료 시간입니다.
-
numEntry출입 총 개수입니다.
-
maxEntry출입 지정 최대 횟수입니다.
-
accessGroupID출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다
BS2DeviceZoneMasterConfig
typedef struct
{
bool enable;
uint8_t reserved1[1];
uint16_t listenPort;
uint8_t reserved[4];
} BS2DeviceZoneMasterConfig;
-
enable활성화 여부 flag값입니다.
-
reserved1예약된 공간입니다.
-
listenPortSlave 장치들로부터 연결될 TCP/IP port 정보입니다.
-
reserved예약된 공간입니다.
BS2LiftFloors
typedef struct {
uint32_t liftID;
uint16_t numFloors;
uint16_t reserved;
uint8_t floorIndices[256];
} BS2LiftFloors;
-
liftIDlift 식별자로 항상 1이상의 값을 가져야 합니다.
-
numFloorsfloorIndices의 개수입니다.
-
reserved예약된 공간입니다.
-
floorIndicesBS2Lift의 BS2LiftFloor 255개 배열에서 원하는 floor 정보의 인덱스 값을 이곳에서 순서대로 나열합니다.
예를들어, 1, 3, 5, 9번째 BS2LiftFloor 정보로 scheduled lock/unlock 구역의 멤버 floor를 구성하고 싶다면,
floorIndices[0]부터 순서대로 1, 3, 5, 9로 지정되어야 합니다.
BS2LiftLockUnlockZone
typedef struct {
uint32_t zoneID;
char name[BS2_MAX_ZONE_NAME_LEN];
uint32_t unlockScheduleID;
uint32_t lockScheduleID;
uint8_t numLifts;
uint8_t numBypassGroups;
uint8_t numUnlockGroups;
uint8_t unused;
uint8_t disabled;
uint8_t alarmed;
uint8_t reserved[6];
BS2Action alarm[BS2_MAX_LIFT_LOCK_UNLOCK_ALARM_ACTION];
uint8_t reserved2[32];
BS2LiftFloors lifts[BS2_MAX_LIFTS_IN_LIFT_LOCK_UNLOCK_ZONE];
uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_IN_LIFT_LOCK_UNLOCK_ZONE];
uint32_t unlockGroupIDs[BS2_MAX_UNLOCK_GROUPS_IN_LIFT_LOCK_UNLOCK_ZONE];
} BS2LiftLockUnlockZone;
-
zoneID구역 식별자로 항상 1이상의 값을 가져야 합니다.
-
nameBioStar 애플리케이션에서 보이는 구역 이름입니다.
-
unlockScheduleID구역으로 지정한 lift floor들이 스케줄 개방 상태로 동작해야 할 스케줄정보 식별자입니다.
-
lockScheduleID구역으로 지정한 lift floor들이 스케줄 잠금 상태로 동작해야 할 스케줄정보 식별자입니다.
-
numLiftslifts로 지정한 정보의 개수입니다.
-
numBypassGroupsLift 스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹의 총 개수입니다.
-
numUnlockGroupsLift 스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹의 총 개수입니다.
-
unused사용하지 않는 필드입니다.
-
disabled활성화 여부 flag값입니다 .
-
alarmed현재 구역의 경보 상태입니다.
-
reserved예약된 공간입니다.
-
alarm구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다.
-
reserved2예약된 공간입니다.
-
liftslift의 floor 정보입니다.
-
bypassGroupIDsLift 스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다.
-
unlockGroupIDsLift 스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다.