Перейти к содержанию

Получение данных по протоколу WebSocket#

Для получения информации о событиях и инцидентах по протоколу веб-сокет можно воспользоваться встроенным в LUNA CARS Analytics инструментом — Swagger REST-API CARS.Analytics

Для входа в веб-интерфейс Swagger необходимо открыть в браузере следующий адрес (Рисунок 5).

http://IP_ADDRESS:ANALYTICS_FRONTEND_PORT/api/v1-cars/doc#/
  • IP_ADDRESS — IP адрес целевого сервера, где установлен продукт LUNA CARS;
  • ANALYTICS_FRONTEND_PORT — порт для подключения к frontend компоненту CARS Analytics (значение по умолчанию — 8080, подробнее см. в документации LUNA CARS Installation Manual, Приложение 2. Описание переменных «.env»).

Вид страницы Swagger

В разделе WebSocket доступно две секции для получения данных с помощью GET запросов (Рисунок 6)

1․ "/ws/cars/1/0/events" - получение данных о сценариях с типом События; 2․ "/ws/cars/1/0/incidents" - получение данных о сценариях с типом Инцидент.

Вид раздела WebSocket

Получение данных о сценариях с типом События (Рисунок 7):

1․ Разверните пункт "/ws/cars/1/0/events" и перейдите к блоку Parameters; 2․ Нажмите на кнопку Try it out; 3․ Введите в поля необходимые значения camId и scenarioId; 4․ Нажмите кнопку Execute.

Получение данных о сценариях с типом События

В блоке Responses вы получите Curl запрос для получения данных о выбранных сценариях.

В пункте Server response вы получите ответ по данному запросу в формате json. Пример ответа сервера:

{
  "data": [
    {
      "id": "2a245cad-29ad-403e-b84d-c372880be4bf",
      "cam": {
        "id": "9ccf654b-55fc-4862-9f69-cc58e2998733",
        "name": "Варшавка",
        "watchUri": "http://carstream:port/api/1/streams/preview/a1fef9db-6efc-4af2-9eb8-453bd4829bfb",
        "status": 1
      },
      "scenarioId": "74d3218d-a5c5-4a4d-a083-76371ada25c2",
      "indicatorTypeId": "22d3218d-a5c5-4a4d-a083-76371ada25c2",
      "registeredAt": "2017-07-21T17:32:28Z",
      "vehicleTypeId": "74d3218d-a5c5-4a4d-a083-76371ada65c2",
      "vehicleBrandId": "e0abe8da-e354-4f6a-9645-5f581aeacc3f",
      "vehicleModelId": "2a245cad-29ad-403e-b84d-c372880be4bf",
      "vehicleColorId": "e30df9a6-3505-4787-8e64-93af73708f43",
      "countryId": "9db92e75-52d3-4ed6-ab32-7cfb28671ac0",
      "vehicleEmergencyTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "vehicleLicensePlate": "е777кх77",
      "vehicleTypeAccuracy": 0.75,
      "vehicleBrandAccuracy": 0.75,
      "vehicleModelAccuracy": 0.75,
      "vehicleColorAccuracy": 0.75,
      "countryAccuracy": 0.75,
      "vehicleEmergencyTypeAccuracy": 0.75,
      "vehicleLicensePlateAccuracy": 0.75,
      "licensePlateSymbolsAccuracy": [
        0.9,
        0.75,
        1,
        0.01
      ],
      "licensePlateFeatures": [
        {
          "type": "rus_spec_type",
          "title": "police",
          "score": 0.5
        }
      ],
      "vehicleBestshot": "/images/bestshotId",
      "vehicleLicensePlateBestshot": "/images/bestshotId",
      "vehicleTrackId": "156",
      "frameId": "5002",
      "fragmentGroups": [
        {
          "id": "track_frames",
          "label": "Фреймы трека",
          "fragments": [
            {
              "image": "/images/bestshotId",
              "frameId": "4001",
              "ts": "2017-07-21T17:30:00Z",
              "label": "Фрейм начала трека",
              "type": "track_begin_frame",
              "detections": [
                {
                  "x": 20,
                  "y": 10,
                  "width": 500,
                  "height": 400
                }
              ]
            }
          ]
        }
      ],
      "specialTransportTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "publicTransportTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "specialTransportTypeAccuracy": 0.75,
      "publicTransportTypeAccuracy": 0.75,
      "vehicleAxlesAmount": 2,
      "vehicleAxlesAccuracy": 0.75,
      "trackEnd": false,
      "detections": [
        {
          "x": 20,
          "y": 10,
          "width": 500,
          "height": 400
        }
      ],
      "numberOfObjects": 1,
      "speeds": [
        {
          "created": "2023-09-28T11:58:14.307487+03:00",
          "speed": 19,
          "title": "traffic lane 1"
        }
      ],
      "userNotes": "Ещё одна заметка пользователя"
    }
  ],
  "meta": [
    {
      "operation": "create"
    }
  ]
}

Получение данных о сценариях с типом Инцидент (Рисунок 8):

1․ Разверните пункт "/ws/cars/1/0/incidents" и перейдите к блоку Parameters; 2․ Нажмите на кнопку Try it out; 3․ Введите в поля необходимые значения camId и scenarioId; 4․ Нажмите кнопку Execute.

Получение данных о сценариях с типом Инцидент

В блоке Responses вы получите Curl запрос для получения данных о выбранных сценариях.

В пункте Server response вы получите ответ по данному запросу в формате json. Пример ответа сервера:

{
  "data": [
    {
      "id": "2a245cad-29ad-403e-b84d-c372880be4bf",
      "cam": {
        "id": "9ccf654b-55fc-4862-9f69-cc58e2998733",
        "name": "Варшавка",
        "watchUri": "http://carstream:port/api/1/streams/preview/a1fef9db-6efc-4af2-9eb8-453bd4829bfb",
        "status": 1
      },
      "scenarioId": "74d3218d-a5c5-4a4d-a083-76371ada25c2",
      "indicatorTypeId": "22d3218d-a5c5-4a4d-a083-76371ada25c2",
      "registeredAt": "2017-07-21T17:32:28Z",
      "vehicleTypeId": "74d3218d-a5c5-4a4d-a083-76371ada65c2",
      "vehicleBrandId": "e0abe8da-e354-4f6a-9645-5f581aeacc3f",
      "vehicleModelId": "2a245cad-29ad-403e-b84d-c372880be4bf",
      "vehicleColorId": "e30df9a6-3505-4787-8e64-93af73708f43",
      "countryId": "9db92e75-52d3-4ed6-ab32-7cfb28671ac0",
      "vehicleEmergencyTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "vehicleLicensePlate": "е777кх77",
      "vehicleTypeAccuracy": 0.75,
      "vehicleBrandAccuracy": 0.75,
      "vehicleModelAccuracy": 0.75,
      "vehicleColorAccuracy": 0.75,
      "countryAccuracy": 0.75,
      "vehicleEmergencyTypeAccuracy": 0.75,
      "vehicleLicensePlateAccuracy": 0.75,
      "licensePlateSymbolsAccuracy": [
        0.9,
        0.75,
        1,
        0.01
      ],
      "licensePlateFeatures": [
        {
          "type": "rus_spec_type",
          "title": "police",
          "score": 0.5
        }
      ],
      "vehicleBestshot": "/images/bestshotId",
      "vehicleLicensePlateBestshot": "/images/bestshotId",
      "vehicleTrackId": "156",
      "frameId": "5002",
      "fragmentGroups": [
        {
          "id": "track_frames",
          "label": "Фреймы трека",
          "fragments": [
            {
              "image": "/images/bestshotId",
              "frameId": "4001",
              "ts": "2017-07-21T17:30:00Z",
              "label": "Фрейм начала трека",
              "type": "track_begin_frame",
              "detections": [
                {
                  "x": 20,
                  "y": 10,
                  "width": 500,
                  "height": 400
                }
              ]
            }
          ]
        }
      ],
      "specialTransportTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "publicTransportTypeId": "e30df9a6-3505-4787-8e64-93af71238f43",
      "specialTransportTypeAccuracy": 0.75,
      "publicTransportTypeAccuracy": 0.75,
      "vehicleAxlesAmount": 2,
      "vehicleAxlesAccuracy": 0.75,
      "trackEnd": false,
      "detections": [
        {
          "x": 20,
          "y": 10,
          "width": 500,
          "height": 400
        }
      ],
      "numberOfObjects": 1,
      "speeds": [
        {
          "created": "2023-09-28T11:58:14.307487+03:00",
          "speed": 19,
          "title": "traffic lane 1"
        }
      ],
      "userNotes": "Ещё одна заметка пользователя",
      "isUnread": true
    }
  ],
  "meta": [
    {
      "operation": "create",
      "unreadCount": 5
    }
  ]
}