У меня есть линейный USB-дисплей, похожий на те, которые используются в торговых точках.
Печатать ABC
к этой строке я запускаю следующую команду:
echo ABC > \\.\LCLD9\
Это печатает ABC
на дисплей линии.
Я пытаюсь выяснить, как контролировать этот вывод с веб-сайта, если это возможно, хотя я не уверен, будет ли это возможно, так как я вижу проблемы безопасности с возможностью запуска произвольных команд из веб-страниц.
Я пытаюсь выяснить, как контролировать этот вывод с веб-сайта, если это возможно, хотя я не уверен, будет ли это возможно, так как я вижу проблемы безопасности с возможностью запуска произвольных команд из веб-страниц.
Это действительно невозможно в неизмененной системе. Веб-страница не может выполнить произвольную команду на компьютере пользователя, то есть определение уязвимости безопасности.
Если вы можете заставить пользователя устанавливать программное обеспечение заранее, вы можете использовать расширение Chrome с последовательный, USB
или же nativeMessaging API для предоставления этой функциональности веб-страницам.
Проверить функцию shell_exec. http://php.net/manual/en/function.shell-exec.php
Есть несколько способов сделать это. Один из способов — просто сохранить на своем веб-сайте текущий текст, а затем создать скрипт на локальном ПК, который запрашивает у вашего веб-сайта текущий текст и обновляет отображение. Вы можете запланировать выполнение этого сценария периодически с помощью планировщика заданий.
Этот сценарий может быть настолько простым (при условии, что PHP установлен на вашем локальном ПК):
<?php
$text = file_get_contents('https://example.com/current_text.php');
shell_exec('echo "' . $text . '" > \\.\LCLD9\');
Если у вас не установлен PHP и вы не хотите его устанавливать, вы, вероятно, можете сделать что-то подобное в скрипте Powershell или в простом старом пакетном файле.
Обратите внимание, что вы, вероятно, хотите добавить некоторые дополнительные проверки к этому, вы не хотите случайно загромождать ваш дисплей страницей с ошибкой 404, внутренней ошибкой 500 или сетевой ошибкой.