i3 REST Bridge API 

i3 REST Bridge API — це RESTful API, який працює через HTTP-запити та дозволяє читати стан і керувати пристроями, підключеними до системи i3Engineering.


Підключення до I3 REST-Bridge

В систему i3 Engineering REST Bridge підключається по CANЩоб надсилати HTTP-запити до i3 REST Bridge, він має бути підключений до мережі з IP-адресою (динамічною або статичною). Для звернення можна використовувати:
IP-адресу напряму: http://<bridge_ip>
mDNS-адресу: http://Atom_<серійний_номер>.local

Адресація пристроїв

Усі пристрої i3Engineering мають унікальні ідентифікатори — unit ID, які мають формат 4-символьного HEX-рядка (наприклад: 1234, BEEF, C0FE).
Кожен пристрій містить стейти (states) — логічні елементи, що можуть бути кнопками, датчиками, світлодіодами тощо. Кожен стейт має:● state_type — тип стейту (наприклад: out — вихід, temp — температура)state_id — ID стейту (наприклад, порт або абстрактна ідентифікація)
Щоб звернутися до стейту, потрібно вказати:php-templateКопіюватиРедагувати<unit_id>/<state_type>/<state_id>/<subvalue>

Всі стейти мають основний канал з даними та допоміжні (Subvalues)

Кожен стейт має набір допоміжних значень — це окремі значення або властивості. Наприклад:● main — основне значення (обов'язкове)● CURRENT, VOLTAGE, POWER — додаткові дані для енергометра● HSV, RGB — кольорові значення для LED
Деякі значення доступні лише за специфічної конфігурації.

Формат URL запитів

https://<bridge_ip>/api/v1/<unit_id>/<state_type>/<state_id>/<subvalue>/

Авторизація

У кожен запит потрібно включити API ключ у тілі запиту.


Методи HTTP-запитів

    • Метод

    • Призначення

    • Приклад тіла запиту

    • Метод

    • Метод

    • Призначення

    • Призначення

    • Приклад тіла запиту

    • Приклад тіла запиту

    • GET

    • Прочитати значення

    • { "api_key": "<api_key>" }

    • Метод

    • GET

    • Призначення

    • Прочитати значення

    • Приклад тіла запиту

    • { "api_key": "<api_key>" }

    • POST

    • Записати значення

    • { "api_key": "<api_key>", "value": 1 }

    • Метод

    • POST

    • Призначення

    • Записати значення

    • Приклад тіла запиту

    • { "api_key": "<api_key>", "value": 1 }

Коди відповідей

    • Код

    • Призначення

    • Код

    • Код

    • Призначення

    • Призначення

    • 200

    • Успішна операція

    • Код

    • 200

    • Призначення

    • Успішна операція

    • 400

    • Некоректний запит або URL

    • Код

    • 400

    • Призначення

    • Некоректний запит або URL

    • 401

    • Невірний API ключ

    • Код

    • 401

    • Призначення

    • Невірний API ключ

    • 404

    • Стейт або сабвалют не знайдено

    • Код

    • 404

    • Призначення

    • Стейт або сабвалют не знайдено

    • 405

    • Метод не дозволений

    • Код

    • 405

    • Призначення

    • Метод не дозволений

    • 422

    • Неправильний формат значення

    • Код

    • 422

    • Призначення

    • Неправильний формат значення

    • 500

    • Внутрішня помилка на bridge

    • Код

    • 500

    • Призначення

    • Внутрішня помилка на bridge

Приклади запитів

Отримання значення (GET):
URL:
https://192.168.1.21/api/v1/000A/out/9/main/

Тіло:
json
{
"api_key": "your_api_key_here"
}


Відповідь:
json

{
"value": 0
}

Увімкнення виходу (POST):

URL:
https://192.168.1.21/api/v1/B0B0/out/2/main/

Тіло:
{
"api_key": "your_api_key_here",
"value": 1
}

Відповідь:
● Порожнє тіло● Код: 200 OK

Встановлення кольору RGB:

URL:
https://192.168.1.21/api/v1/B0B0/rgb/2/main/

Тіло:
{
"api_key": "your_api_key_here",
"value": "#FFAA00"
}

Відповідь:
● Порожнє тіло

Запуск сценарію:

URL:https://192.168.1.21/api/v1/B0B0/scenario_ctrl/1/main
Тіло:{ "api_key": "1453fc9406736afdeceb35470a1809a790d025f222f11a985fc705d627db7a7f", "value": 77}
Відповідь:● Порожнє тіло

Зупинити виконання сценарію:

URL:
https://192.168.1.21/api/v1/B0B0/scenario_ctrl/1/main

Тіло:
{
"api_key": "1453fc9406736afdeceb35470a1809a790d025f222f11a985fc705d627db7a7f",
"value": -77
}

Відповідь:
● Порожнє тіло

Примітки

● Параметри значень і типів можна знайти за посиланням https://i3engineering.com/knowledge-base-blockly-ua/blockly-states● Для вашого проекту дані про стейти можна знайти в додатку натиснувши головне меню - менеджер пристроїв - вибрати потрібний юніти - таблиця налаштувань портів

Не знайшли відповідь на своє запитання?

Ви можете звернутись у чат-бот технічної підтримки.Знайшли помилку на сайті? Допоможіть нам її виправити!