Jump to content

    
Sign in to follow this  
iiv

Какой SBC с Линуксом и мордой на JS быстро грузится?

Recommended Posts

Добрый день,

 

наверное избитая тема, но в архивах не нашел...

 

У моего девайса есть 5" (опционально 7") монитор, сейчас пользую Nextion, но задолбался в его редакторе менюшки рисовать, тем более, что у моего девайся есть ПК версия интерфейса на JS/html/css и хочется унифицировать, а не заниматься перерисовкой JS в Nextion. Под рукой было несколько старых SBC, но во всех время загрузки реально почти минута, а я хочу, чтобы монитор запускался ну максимум через 3-5 секунд после подачи питания. Морда на JS не жирная, по крайней мере на 5-летней давности мобильниках более-менее летает.

 

Малину еще не пробовал, но решил спросить здесь стоит покупать на попробовать...

 

Скажите, пожалуйста, что есть не дорогое с линуксом (я не на линуксе не умею) и тач-монитором где-то на 5 или 7", чтобы

1. время после включения до отрисовки веб интерфейса на JS-html-cs не было больше 5 секунд,

2. желательно не дорогого,

3. если бы еще сколько-то ног на SPI, I2C, GPIO было бы, то вообще супер.

 

Спасибо!

Share this post


Link to post
Share on other sites

Соображения примерно такие.

 

Аппаратная часть:

1. По очевидным причинам нужна быстрая дисковая система, типа eMMC в режиме HS400. Малина в пролете

2. Нужна поддержка GPU

3. Если JS не тяжелый, то CPU на уровне 4x Cortex-A53

4. DRAM по возможности быстрее и шире

 

Софтовая часть:

1. Сразу забыть про готовые дистрибутивы, строить минимальную систему вручную

2. Если система 32-х битная, озаботиться сборкой chromium'а с поддержкой v8_snapshots (требует некоторых дополнительных телодвижений)

3. Долгая и упорная оптимизация

Вообще, работа довольно объемная.

 

ИМХО, 3-5 секунд недостижимы (столько один браузер разворачивается на холодную), 10-15 секунд - вполне. По своему опыту могу сказать, что система на Allwinner R16 стартует примерно за 15 секунд от включения до отображения страницы, но это без особых оптимизаций, 2-3 секунды можно было еще выжать.

Share this post


Link to post
Share on other sites
3 hours ago, rkit said:

Линукс с лучшим железом на свете не запустится за 3-5 секунд.

На запуск ядра с busybox'ом 2-3 секунд вполне достаточно.

Share this post


Link to post
Share on other sites
3 часа назад, rkit сказал:

Линукс с лучшим железом на свете не запустится за 3-5 секунд.

линукс с не лучшим железом на свете не согласен (и это неоптимизированная система на debian 10)

root@imx6dl:~# systemd-analyze
Startup finished in 1.808s (kernel) + 3.812s (userspace) = 5.621s

Share this post


Link to post
Share on other sites
15 minutes ago, rkit said:

И это без учета биоса. И загрузчика.

Ну, тут 0.5с достаточно.

 

17 minutes ago, rkit said:

И браузера. И иксов, поди.

Зато с кучей других свистоперделок. Дольше всего браузер стартовать будет.

Share this post


Link to post
Share on other sites
2 часа назад, aaarrr сказал:

Ну, тут 0.5с достаточно.

ну примерно так и выглядит..

Цитата

Зато с кучей других свистоперделок. Дольше всего браузер стартовать будет.

на этом задохлике голый xorg взлетает от startx до рабочего стола за 8.4 секунды, конечно не с кедами, но с полноценной графикой

firefox почему-то выпилили для архитектуры armel, проверил Konqueror - время загрузки до окна ввода url ~11.8 секунд

да, для понимания цифр - это на uSD, начальные цифры о 5.6s - это измерялось на eMMC (там неудачная разбивка и лишнего не поставить)

Share this post


Link to post
Share on other sites
11 часов назад, aaarrr сказал:

На запуск ядра с busybox'ом 2-3 секунд вполне достаточно.

Все эти яваскрипты на бизибоксе запускать будете?))))))))  На сколь я слышал, есть такая контора Timelinux, по моему, там какими-то оптимизациями, то-ли образ развернутой системы, или еще что, сразу грузится в память и запускается, благодаря этому система быстро стартует...

23 часа назад, iiv сказал:

время после включения до отрисовки веб интерфейса на JS-html-cs не было больше 5 секунд,

Надежность всего этого будет много ниже, чем Nextion, ИМХО...

Share this post


Link to post
Share on other sites

Может быть буду неправильно понят, но мне кажется, что автор темы не туда смотрит. Раз есть телевизор, то устройство делается для челоовека. Значит, устройство должно быть однажды запущено и долго работать. И быстрый старт здесь реально не важен. А важным он стал, поскольку модель разработки - не аккуратное проектирование, а героическая отладка. Поэтому,  может быть стоит подумать о том, чтобы вебморду рисовать на каком-нибудь мощном сервере, и уже отлаженную засунуть в конечное устройство?

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
16 minutes ago, mantech said:

Все эти яваскрипты на бизибоксе запускать будете?))))))))

Нет, на бареметале подниму за 50 лет.

 

19 minutes ago, mantech said:

На сколь я слышал, есть такая контора Timelinux

Гугл не вдохновился. Наверное, иначе контора называется.

Share this post


Link to post
Share on other sites

Огромное спасибо всем, за советы!

On 5/14/2021 at 11:55 PM, aaarrr said:

ИМХО, 3-5 секунд недостижимы (столько один браузер разворачивается на холодную), 10-15 секунд - вполне.

Да, похоже у меня были слишком не реальные хотелки и это обобщенный ответ на мой вопрос. Буду забивать на идею, хотя конечно сильно смог бы упростить себе жизнь.

 

Web interface аппарата сейчас функционирует через ПК, в сильно сыром виде примерно он примерно такой: ссылка на мой ПК web interface

 

из этого интерфейса мне хочется первые два пункта верхнего меню ("Continuous Measurements", "Measurements with Autosampler") и, повидимому "Settings" реализовать в телевизоре аппарата. Раньше у меня там почти ничего не было, поэтому я вначале сделал на Nextion, но недавно у меня поднялись хотелки и в Nextion это запихнуть стало проблематично.

 

Сам аппарат настольного исполнения, но для работы в тяжелых условиях химических лабораторий. Обработка результатов - всегда на стороннем ПК, и общее управление посредством моего web interface - тоже через него. Сервер с web interface и сам аппарат можно включать не зависимо друг от друга.

17 hours ago, one_eight_seven said:

Значит, устройство должно быть однажды запущено и долго работать.

идеально - да, но не все готовы круглые сутки держать его включенным, а старт в пол минуты на единственном дисплее как-то напрягает, то есть тогда надо еще один дисплей делать, в котором будет написано, что де "подождите, идет загрузка, осталось столько-то секунд".

 

Возможно тогда совсем уменьшу дисплей на аппаратуре до 3" и на нем буду писать только статус, но тогда юзер при старте эксперимента должен будет тыкаться в мобильник или в компьютер.

Share this post


Link to post
Share on other sites
Just now, iiv said:

 ...тогда надо еще один дисплей делать, в котором будет написано, что де "подождите, идет загрузка, осталось столько-то секунд".

Зачем, если это можно написать и на основном сразу после включения?

Share this post


Link to post
Share on other sites
8 minutes ago, aaarrr said:

Зачем, если это можно написать и на основном сразу после включения?

а линукс разве такое дает? Возможно я отстал от жизни, но сколько всяких SBC видел, они вначале валят на консоль (которая на hdmi) весь свой dmesg, потом грузятся Х, и только после можно браузер пускать.

 

А за-hipernate-тить текущее состояние в линуксе и стартануть с него, пусть с быстрого mmc, наверное было бы идеально, но не понимаю и не нагуглил на каком SBC такое реально сделать. Не ПК же туда засовывать!-

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this