Интеграция возможностей¶
В этой главе описывается, как интегрировать удалённый рабочий стол FIRERAP и связанные с ним возможности. Вы можете самостоятельно встроить его в свою фронтенд-страницу для выполнения различных операций, отображения и других функций. Мы не будем подробно описывать это здесь; вы можете перейти к нашей документации на APIFOX для просмотра и тестирования. Однако нам необходимо ознакомить вас с некоторыми предварительными настройками и другой базовой информацией.
Подсказка
Предварительная настройка¶
Для удобства тестирования API сначала убедитесь, что устройство подключено к вашему компьютеру через USB и что на устройстве отключена проверка сертификата входа (https). После выполнения этих двух шагов вам также потребуется выполнить соответствующие настройки на платформе apifox. Поскольку это связано с ws-интерфейсами, вам необходимо установить десктопный клиент apifox (не веб-версию) и импортировать соответствующий проект в ваш клиент. Мы не будем объяснять, как устанавливать и импортировать; пожалуйста, разберитесь с этим самостоятельно.
Видео в реальном времени¶
Видео в реальном времени передаётся с использованием Websocket и поддерживает два формата передачи: MJPEG (MOTION JPEG) и H.264 NALU. Из них MJPEG наиболее прост в использовании. Фактически, MJPEG передаёт скриншоты текущего экрана устройства. При достаточно быстрой передаче это создаёт динамическое изображение экрана в реальном времени. Единственное, что вам нужно сделать, — это отрисовывать каждый полученный по Ws кадр на экране как изображение в формате JPEG. Другой формат, H.264, требует от вас более глубоких базовых знаний, так как перед рендерингом на холст (canvas) необходимо выполнить операцию декодирования. Вы можете самостоятельно найти или интегрировать существующий декодер h264 для декодирования и отрисовки.
Разница между H.264 и MJPEG заключается в том, что H.264 может сократить трафик как минимум вдвое и работает быстрее. Однако он подходит не для всех устройств; у некоторых устройств производительность кодирования H.264 может быть невысокой. В таких случаях следует использовать MJPEG. Конечно, у MJPEG тоже есть свои недостатки: поскольку каждый кадр является полноценным изображением, он требует высокой пропускной способности.
Сенсорное управление в реальном времени¶
Сенсорное управление в реальном времени также передаётся через Websocket. В этом нет ничего особенного; вам просто нужно отправлять три типа операций в определённом формате: нажатие, перемещение и отпускание. Вы можете делать это с помощью событий веб-страницы, таких как mousedown, up и т.д. Основные передаваемые данные — это событие и координаты. Единственное, на что здесь нужно обратить внимание, — это необходимость преобразования координат. Вам нужно рассчитать координаты на реальном экране устройства, соответствующие координатам действий пользователя на canvas, исходя из размеров canvas и реального экрана.
Операции с клавишами¶
Операции с клавишами — это, пожалуй, самая простая часть. Вам нужно всего лишь отправлять POST-запросы к соответствующим API в определённом формате. Операции с клавишами позволяют управлять навигационными клавишами устройства, а также осуществлять обычный ввод на английском языке.
Командный терминал¶
Командный терминал работает через Websocket. Для интеграции вам потребуется использовать такие технологии, как xterm.js. Вам просто нужно форматировать ввод и вывод в соответствии с документацией API и отправлять их или запрашивать вывод у xterm.