Страница киоска Raspberry Pi не обновляется достаточно быстро

Я использую свой raspberry pi с raspbian в качестве киоска, который показывает созданную мной веб-страницу. Все работает нормально, но когда моей сети нужно изменить png, она реагирует медленно. Если я запускаю ту же веб-страницу на своем рабочем столе, реакция будет намного быстрее.

Я использую команду chromium --kiosk http://myurl.com

Моя страница включает angular, поэтому какой-то другой браузер, который я пытался не поддерживать (например, midori), другой браузер, такой как epiphany web (браузер по умолчанию в raspbian), работает нормально, но не поддерживает режим киоска.

Любые идеи, как можно улучшить его?

Код: Просмотреть

@using Unitronics.Apms.ApmsWebClient.Resources.Views.Display
@model Unitronics.Apms.ApmsWebClient.Models.Display
<div>
       <div class="image" id="image1">
    </div>
    <div class="image" id="image2">
    </div>
    <div class="warningImage" id="warningImage">
    </div>
</div>
@section scripts {
    <!--Script references. -->
    <!--The jQuery library is required and is referenced by default in _Layout.cshtml. -->
    <!--Reference the SignalR library. -->
    <script src="~/Scripts/jquery.signalR-1.1.3.js"></script>
    <!--Reference the auto generated SignalR hub script. -->
    <script src="~/signalr/hubs"></script>
    <!--SignalR script to update the chat page and send messages.-->
    <!--Roy Foscam test-->   
    <script>
        $(function() {


            hideAll();
            $("#image1").show();

            // Reference the auto-generated proxy for the hub.              
            var bayHub = $.connection.bayHub;
            bayHub.client.notifyRejects = function(rejects) {
                hideAll();

                if (rejects.image2)
                    $("#image2").show();

                if (rejects.warning)
                    $("#warningImage").show();

            };

            function hideAll() {

                 $("#image2").hide();

                $("#warningImage")..hide();
            }

            // Start the connection.
            $.connection.hub.start().done(function() {
                // Register
                bayHub.server.register(@Model.DisplayId);
            });
        });
    </script>
}

Это более или менее мой код. Я просто немного отредактировал его, чтобы сделать его короче, но он реагирует на некоторые выходные данные, которые он получает от другого устройства, и он должен изменить изображение в соответствии с полученными входными данными.


person Barak    schedule 10.06.2015    source источник


Ответы (2)


Я предполагаю, что вы используете Raspberry Pi A/B/B+, а не Raspberry Pi 2. Raspberry Pi 2 намного быстрее, чем предыдущие модели (в 6 раз быстрее, особенно при просмотре веб-страниц). Таким образом, самое простое решение — использовать более новый Pi. Физическая компоновка точно такая же, как у B+, поэтому она должна хорошо подходить.

В противном случае, если вы не можете изменить аппаратное обеспечение по какой-либо причине, лучшее, что вы можете сделать, это перекодировать свой сайт, чтобы он был более простым, чтобы он соответствовал аппаратным ограничениям, с которыми вы сталкиваетесь. Angular довольно хорош, но также довольно тяжел. Если бы вы могли заставить сайт работать с чем-то более легким, это было бы лучше всего.

Трудно дать более четкий ответ, не видя кода вашей страницы.

person fleed    schedule 10.06.2015
comment
Что ж, спасибо за ответ, я боялся, что это будет ответ, я попытаюсь добавить небольшую часть своего кода просто в качестве примера. - person Barak; 10.06.2015

Конечно, вы можете использовать прозрение, чтобы ускорить свою страницу. Браузер Epiphany не поддерживает режим киоска из коробки, но его действительно можно запустить в режиме киоска, если вы используете openbox в качестве оконного менеджера. openbox позволяет настроить запуск приложения в полноэкранном режиме (см. для справки: http://openbox.org/wiki/Help:Applications), а в epiphany есть режим приложения, в котором строка меню скрыта. В сочетании эти две функции позволяют Epiphany работать в режиме киоска.

После того, как вы установили openbox и epiphany, вам нужно найти имя и класс epiphany:

Начать прозрение

export FRAMEBUFFER=/dev/fb1
export DISPLAY=0:
startx &
epiphany &
obxprop | grep "^_OB_APP"

из вывода:

_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "volumio.local"
_OB_APP_CLASS(UTF8_STRING) = "Epiphany-browser"
_OB_APP_NAME(UTF8_STRING) = "epiphany-browser"
_OB_APP_ROLE(UTF8_STRING) = "epiphany-window-5eff44ce"

нужны _OB_APP_NAME и _OB_APP_CLASS

теперь создайте файл конфигурации openbox: cat /etc/xdg/openbox/rc.xml > ~pi/.config/openbox/rc.xml

отредактируйте файл и добавьте запись приложения в конец файла

 <application name="epiphany-browser" class="Epiphany-browser">
    <fullscreen>yes</fullscreen>
</application>

запустите epiphany в режиме приложения (-a), поэтому он имеет только панель плитки, которая скрыта в полноэкранном режиме

epiphany -a --profile=/home/pi/.epiphany/myapp http://myurl.com &

И вуаля, у вас есть прозрение, работающее в режиме киоска!

person Andreas Kohlbecker    schedule 22.06.2015