Настройка и открытие двери с помощью динамического QR-кода (TOTP)

Данное руководство поможет вам настроить панель доступа и сгенерировать QR-код для бесконтактного открытия двери.

Версия прошивки должна быть не ниже 2.5.0.14.7

Время на вашем мобильном телефоне и на панели доступа должно быть абсолютно точным и актуальным. Даже небольшая рассинхронизация приведет к тому, что QR-код не сработает.

Этап 1. Предварительная настройка панели (через API)

Для работы функции необходимо создать виртуальный ключ и активировать сканер на панели с помощью API-запросов.

1. Создание виртуального ключа с флагом virtual

Отправьте запрос POST /key/store со следующим телом:

json

{
  "uuid": "AABBCCDDEEFF", 
  "virtual": true
}

  • uuid — уникальный идентификатор вашего виртуального ключа.
  • virtual — флаг (значение true), подтверждающий, что создаваемый ключ является виртуальным.

2. Включение QR-сканера

Отправьте запрос PUT /v1/qr/settings для активации модуля камеры:

json

{ 
  "enable": true 
}

3. Настройка параметров TOTP-кода

Задайте правила безопасности для генерации одноразовых паролей, отправив запрос PUT /v1/qr/options/1:

json

{ 
  "salt": "12345",
  "step": 30,
  "length": 6,
  "window": 5 
}

  • salt — секретная строка (соль), используемая для шифрования.
  • step — период обновления TOTP-кода (в секундах). В данном примере код меняется каждые 30 секунд.
  • length — количество цифр в генерируемом TOTP-коде (6 знаков).
  • window — допустимый интервал проверки (количество кодов назад от текущего времени). Значение 5 означает, что панель примет код, даже если он немного устарел.

Этап 2. Генерация секретного ключа (Secret)

Чтобы мобильное приложение могло создавать правильные коды, необходимо сгенерировать секретный ключ на основе ваших данных.
  1. Создание MD5-хэша:
    • Откройте сайт MD5 Hash Generator.
    • В поле ввода объедините вашу «соль» и UUID ключа через вертикальную черту в формате: salt|uuid
      Пример ввода: 12345|AABBCCDDEEFF
    • Нажмите «Generate» и скопируйте полученный результат.
      Пример хэша: c984b6908a2bd65ca107056c050324a5
  2. Кодирование в Base32:
    • Откройте сайт DenCode Base32.
    • Вставьте полученный на предыдущем шаге MD5-хэш в поле ввода.
    • Скопируйте результат в формате Base32.
      Пример: MM4TQNDCGY4TAODBGJRGINRVMNQTCMBXGA2TMYZQGUYDGMRUME2Q====

Этап 3. Получение одноразового кода и создание QR-кода

  1. Генерация текущего TOTP-кода:
    • Откройте генератор кодов Online TOTP generator.
    • Заполните настройки генерации строго в соответствии с параметрами панели:
      • Secret: Вставьте вашу строку Base32 (из Этапа 2).
      • Digits: 6
      • Period: 30
      • Algorithm: SHA-1
    • Система отобразит текущий 6-значный цифровой код (он обновляется каждые 30 секунд).
  2. Формирование данных для QR-кода:
    • Откройте любое удобное приложение или сервис для генерации QR-кодов.
    • Скопируйте следующий шаблон данных в формате JSON:

      json

      {
        "op": 1,
        "k": "AABBCCDDEEFF",
        "p": 123456,
        "t": 123456789,
        "f": 123
      }
      

    • Обязательно замените значения на свои:
      • op — номер операции (всегда 1 — открытие двери по QR).
      • k — ваш уникальный идентификатор ключа (uuid).
      • p — свежий TOTP-код, полученный на предыдущем шаге.
      • t — текущее время в формате UNIX-timestamp.
      • f — номер вашей квартиры.
    • Создайте (сгенерируйте) QR-код на основе этого измененного JSON-текста.

Этап 4. Проход через точку доступа
  1. Подойдите к панели доступа.
  2. Откройте сгенерированный QR-код на экране мобильного телефона.
  3. Поднесите экран телефона к камере (сканеру) панели.
  4. Если виртуальный ключ активен, а TOTP-код находится в пределах допустимого временного окна (5 последних сгенерированных кодов), замок откроется автоматически.


Версия #3
Мальцева Анастасия создал 2026-10-16 10:13:34 UTC
Мальцева Анастасия обновил 2026-10-16 10:33:42 UTC