Удаленный контроль KioskBrowser
Браузер имеет встроенный веб-сервер для удаленного (или локального) управления.
Вы можете устанавливать активный URL или менять текст в форме ввода с помощью HTTP-запросов с различного оборудования, такого как RFID-считыватели.
По умолчанию удаленный контроль включен на localhost без пароля на порту 8080. При настройке KioskBrowser вы можете отключить или указать на каких IP-адресах веб-сервер будет ожидать команды.
Пример конфигурации для .KioskBrowser.json для включения веб-сервера на всех IP-адресах:
{ "homeUrl": "https://example.com", "httpServerIsEnabled": true, "httpServerSecret": "*****", "httpServerHostname": "0.0.0.0", "httpServerPort": 8080 }
Здесь параметр "httpServerSecret" отвечает за пароль, который должен отправляться с каждым запросом параметром "key". Если пароль не нужен, установите параметр в null.
Обратите внимание, что в Linux порты меньше 1024 являются привелигерованными, поэтому не могут быть открыты приложением KoiskBrowser с ограниченными правами.
Пример открываемого URL в KioskBrowser для запроса на открытие страницы https://example.com/page.html:
http://127.0.0.1:8080/setUrl?key=*****&url=https%3A%2F%2Fexample.com%2Fpage.html
Приложение для удаленного управления
Доступно приложение для управления KioskBrowser в браузере.
По запросу приложение для управления может быть продано отдельно.
API
Для управления брузером вам надо обратиться по IP:port с некоторым URL, приведенным ниже.
В большинстве случаев в ответ вы получите JSON в котором в параметре {"success":true, ...}
будет указн статус выполнения операции.
setUrl
Открытие в браузере определенной страницы по заданному URL:
http://127.0.0.1:8080/setUrl?key=*****&url=https%3A%2F%2Fexample.com%2Fpage.html
status
Отображает статус работы браузера, может использоваться для мониторинга работоспособности
http://127.0.0.1:8080/status?key=*****
screenshot
Получение скриншота окна браузера. Можно получить как HTML-код с автообновлением каждые 10 секунд для встраивания в iframe, так и JPEG-изображение.
Пример для веб-страницы:
http://127.0.0.1:8080/screenshot?key=*****
Пример для изображения:
http://127.0.0.1:8080/screenshot.jpg?key=*****
setText
Ввод текстовой строки в форму ввода. Внимание! Текст введется только в форму, находящуюся в фокусе ввода (на ней кликнули или вызвали из JavaScript focus()
.
http://127.0.0.1:8080/setText?key=*****&text=same%20text
getInfo
Получает информацию об оборудовании и браузере.
http://127.0.0.1:8080/getInfo?key=*****
getConfig
Получает конфигурацию браузера.
http://127.0.0.1:8080/getConfig?key=*****
Вернет в формате JSON три объекта:
- config - текущая (активная) конфигурация как слияние конфигурации defaultConfig с userConfig.
- defaultConfig - конфигурация браузера по умолчанию.
- userConfig - конфигурация, которую ввел пользователь.
updateConfigProperty
Обновляет параметр конфигурации в браузера, указанный в .KioskBrowser.json. После изменений лучше перезапустить KioskBrowser.
Параметры конфигурации в .KioskBrowser.json имеют формат JSON в виде:
{ "key1": "value1", "key2": "value2", ... "keyN": "valueN" }
Здесь под key1, key2, keyN понимаются конкретные ключи, например "homeUrl", а под value1, value2, valueN значения этих параметров, которые могут быть строками, числами, массивами и т.д.
Для обновления параметра key1 с value1 надо сделать запрос:
http://127.0.0.1:8080/updateConfigProperty?propertyJson={"key":"key1","value":"value1"}
Например для установки homeUrl на https://ya.ru надо сделать запрос:
http://127.0.0.1:8080/updateConfigProperty?propertyJson={"key":"homeUrl","value":"https://ya.ru"}
reloadApp
Перезапустит браузер. Но обратите внимание, что KioskBrowser в AppImage сам себя перезапустить не может, поэтому произойдет его закрытие. При использовании AppImage перезагрузити устройство вместо перезапуска программы.
http://127.0.0.1:8080/reloadApp?key=*****
shutdownDevice
Выключает устройство.
http://127.0.0.1:8080/shutdownDevice?key=*****
В Linux для работы команды пользователю браузера (в примере kiosk) надо дать права для выполнения команды shutdown, для чего добавьте в конце /etc/sudoers строчку kiosk ALL=(ALL) NOPASSWD: /sbin/shutdown
.
restartDevice
Перезагружает устройство.
http://127.0.0.1:8080/restartDevice?key=*****
В Linux для работы команды пользователю браузера (в примере kiosk) надо дать права для выполнения команды shutdown, для чего добавьте в конце /etc/sudoers строчку kiosk ALL=(ALL) NOPASSWD: /sbin/shutdown
.