UMDK-WIEGAND

Данный модуль работает с электронными идентификаторами - устройствами Wiegand — и предназначен для организации системы контроля и управления доступом (СКУД) на их основе.

Модуль позволяет удалённо добавлять и удалять из локальной базы данных конечного устройства (контроллера доступа) список разрешённых ключей, а также устанавливать время действия каждого ключа для его автоматического удаления.

Конечное устройство передаёт на базовую станцию сообщения о проходе по разрешённым ключам, а также о попытках прохода по ключам, отсутствующим в списке разрешённых.

Поддерживаются следующие протоколы: Wiegand-26, Wiegand-32, Wiegand-34, Wiegand-40, Wiegand-42.

NB: Ключ-карта имеет формат: "CARD FELICITY.ID_CARD". Пример: "3615086224 121,54928".

Команды

Очистка всей базы данных ключей:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/wiegand" -m "reset"

NB: Вводится именно "CARD"! Ключ и время доступа необходимо вводить в десятичной системе счисления.

Добавляет ID и время доступа «time» устройства в базу данных:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/wiegand" -m "add ID time"

NB: 1 единица времени = 10 минут, 65535 - безлимитный доступ.

Добавление ключа 3615086224(121,54928), срок действия один час:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/wiegand" -m "add 3615086224 06"

Добавление ключа 3615086224, срок действия не ограничен:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/wiegand" -m "add 3615086224 65535"

При добавлении ID ключа, который уже есть в базе данных, будет обновлён срок его действия.

Удаляет ID 3615086224 устройства из базы данных:

mosquitto_pub -t "devices/lora/NNNNNNNNNNNNNNN/wiegand" -m "remove 3615086224"

Сообщения

При успешном выполнении команды будет получено сообщением «ok»:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": {
        "msg": "ok"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При некорректных параметрах запроса будет получено сообщение «error»:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": {
        "msg": "error"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При вводе некорректной(несуществующей) команды будет получено сообщение «invalid command»:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": {
        "msg": "invalid command"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2018-04-24T13:29:22.843900Z"
    }
}

При попытке считать не поддерживующийся формат ключа-карты сообщение будет следующее:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": {
        "msg": "not support format"
    },
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2018-04-24T13:29:22.843900Z"
    }
}

При корректном считывании ключа и при разрешенном доступе сообщение следующее:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": { 
        "cars": "CARD"
        "ID": "FELICITY.ID_CARD", 
        "action": "granted"
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При корректном считывании ключа и при запрете на доступ сообщение следующее:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": { 
        "cars": "CARD"
        "ID": "FELICITY.ID_CARD", 
        "action": "denied"
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При успешном добавлении ключа-карты в базу данных:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": { 
        "cars": "CARD"
        "ID": "FELICITY.ID_CARD", 
        "action": "added"
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При успешном удалении ключа-карты из базы данных:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": { 
        "cars": "CARD"
        "ID": "FELICITY.ID_CARD", 
        "action": "removed"
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

При автоматическом удалении(истек срок действия) ключа-карты из базы данных:

devices/lora/NNNNNNNNNNNNNNN/wiegand
{
    "data": { 
        "cars": "CARD"
        "ID": "FELICITY.ID_CARD", 
        "action": "removed by timer"
    }, 
    "status": {
        "devEUI" : "NNNNNNNNNNNNNNN",
        "rssi" : -16, 
        "temperature" : 30, 
        "battery" : 3300, 
        "date" : "2017-02-21T13:29:22.843900Z"
    }
}

Подключение

Считыватель Wiegand по умолчанию подключается к DIO29(шина DATA0) и к DIO30(шина DATA1).

Распространение

Модуль входит в прошивку commercial и не распространяется в исходных кодах.