Jump to content
    

Стоит ли заморачиваться с Линукс?

Нужен совет тех кто имел дело с Linux в какой нибудь  системе на производстве. Скажу сразу что я с Линуксом не дружу, возможно пока.
Cтоит задача разработать контроллер:
-Дисплей 320x240 монохромный, в основном для меню. Как вариант подороже - TFT 800x600.
-RS485 modbus master ( активно опрашиваются до 10 устройств)
-RS485 modbus slave (иногда опрашивается сторонним контроллером)
-eMMC  для  лога 
-USB для флешки (firmware update или лог слить) 
-Сell modem (для отправки  измерений на сервер, удаленные настройки, firmware update)
-WiFi, Bluetooth, 
-Ethernet 
-Кнопки 
-Менюха довольно большая  около 3000 строк в древовидном стиле.
-Удаленный апдейт как для себя так и для подключенных устройств.

Упрощенный вариант такого контроллера с эраном 20x4 до сих пор работает и продается хоть и построил я его лет 6 назад на PICе. Но запросы с тех пор выросли и контроллер надо апгрейдить.

Рассматривается 2 варианта построения нового контроллера:
1) STM32F4 + RTOS (основной вариант)
2) Процессор + Linux (поступившая альтернатива )

Вариант 2  вызывает  у меня недоверие в виду отсутствия знаний и опыта. Я конечно всегда с удовольствием пробую что то новое, но как то не хочется застрять с разработкой совсем на долго.  Вопрос, стоит ли в моем случае заморачиваться с  Linux при отсутствии опыта даже если сроки совсем не жмут и немного чешутся руки?  Какие могут быть преимущества и проблемы? Сложность разработки печатной платы во внимание не берем. Рассматривается также вариант процессора на готовой плате + расширительная плата своей разработки.
Из преимуществ Linux вижу только два:
- можно будет запустить  Python, посадить начинающего программера и пусть он менюшки лепит и другие хотелки заказчиков. 
- если дело дойдет до  TFT дисплея 800x600, то  проще строить полноценный графический user interface.

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 
 

Share this post


Link to post
Share on other sites

54 minutes ago, Eugene_VB said:

Из преимуществ Linux вижу только два:

А еще вот это все -

55 minutes ago, Eugene_VB said:

-eMMC  для  лога 
-USB для флешки (firmware update или лог слить) 
-Сell modem (для отправки  измерений на сервер, удаленные настройки, firmware update)
-WiFi, Bluetooth, 
-Ethernet 
-Кнопки 
-Менюха довольно большая  около 3000 строк в древовидном стиле.

реализуется много проще и удобнее.

 

57 minutes ago, Eugene_VB said:

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 

Проблемы как таковой нет, но для реализации потребуется некоторый опыт.

Share this post


Link to post
Share on other sites

USB и  Ethernet

этого достаточно чтобы linux выиграл в эту игру

Share this post


Link to post
Share on other sites

Спасибо. Начну копать в направлении Линукса.
Буду благодарен за ссылки на толковые доки.

Edited by Eugene_VB

Share this post


Link to post
Share on other sites

По аппаратной части второго варианта: плата микрокомпутера Raspberry Pi4 и дисплей хоть 1280х720. Ну и конечно повозиться придется с новой парадигмой программирования по сравнению с STM.

Share this post


Link to post
Share on other sites

modbus у вас RTU или ASCII? Linux от рождения не RT система, с modbus RTU возможны сюрпризы (особенно если предполагается большая нагрузка)

И второй момент - врямя загрузки. У Linux оно побольше будет, чем у RTOS. Из коробки вообще довольно приличное, даже после buildroot всё равно ощутимое.

 

Share this post


Link to post
Share on other sites

2 hours ago, Eugene_VB said:

Буду благодарен за ссылки на толковые доки.

Толковые доки зависят от выбора SOC и версии linux.

Share this post


Link to post
Share on other sites

Если можно обойтись без Линукса - нужно обойтись без Линукса. (с) моё

Особенно если вы не ас в shell и не гуру в open source - технологиях. Можно утопнуть очень надолго в отладке всяких разных нюансов типа "почему иногда промаргивает дисплей" или "почему не всегда подхватывается USB-флэшка".

Share this post


Link to post
Share on other sites

16 minutes ago, xvr said:

modbus у вас RTU или ASCII? Linux от рождения не RT система, с modbus RTU возможны сюрпризы (особенно если предполагается большая нагрузка)

И второй момент - врямя загрузки. У Linux оно побольше будет, чем у RTOS. Из коробки вообще довольно приличное, даже после buildroot всё равно ощутимое.

 

Прочитал десять раз, ничего, относящегося к realtime, не увидел

Share this post


Link to post
Share on other sites

В 18.05.2023 в 22:20, gosha-z сказал:

Прочитал десять раз, ничего, относящегося к realtime, не увидел

ну если даже и оно надо, то для debian-а realtime ядро ставится прямо из репозитария

Share this post


Link to post
Share on other sites

1 hour ago, gosha-z said:

Прочитал десять раз, ничего, относящегося к realtime, не увидел

modbus RTU использует интервалы в передаваемом потоке в качестве элемента протокола. С не RT системой и без поддержки на нижнем уровне (в ОС или железе) могут быть неожиданные неприятные  сюрпризы с замером этих самых интервалов.

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

Share this post


Link to post
Share on other sites

6 hours ago, xvr said:

Это не значит, что ничего не будет работать, это значит,

С чего бы это вдруг?

 

14 hours ago, Eugene_VB said:

Рассматривается 2 варианта построения нового контроллера:
1) STM32F4 + RTOS (основной вариант)

У СТМ периферия имеет аппаратную поддержку Модбас именно в части отработки паузы для RTU и окончания приёма по символу для ASCII.

Share this post


Link to post
Share on other sites

On 5/18/2023 at 4:25 PM, Eugene_VB said:

Скажу сразу что я с Линуксом не дружу, возможно пока.

для начала вам надо попробовать а потом решать самому, если опыт нулевой  - 100% вы ничего хорошего не сделаете на любой ОС. Самый близкий путь - тот который знаешь.

Share this post


Link to post
Share on other sites

18 часов назад, Eugene_VB сказал:

Самое большое мое опасение в контроллере на Linux — удаленный апдейт. 

Думается, что при малом опыте, опасением будет его администрирование и всё, что с этим связано. Многие не лезут в Linux, так как для обслуживания такого устройства, тем более при встраиваемом применении, нужно понимать "культуру" работы с Linux. Простота работы со стандартной периферией оборачивается сложностью сопровождения.

Есть фирма starterkit.ru, у которой на сайте можно ознакомиться с документацией на производимые платы, где Linux используется. Советую почитать как они сопровождают свои процессорные модули и какие проблемы описывают пользователи на форуме.

Share this post


Link to post
Share on other sites

On 5/19/2023 at 11:24 AM, uni said:

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

просто надо иметь опыт работы с Linux и уметь пользоваться интернетом

https://bootlin.com/blog/building-a-linux-system-for-the-stm32mp1-remote-firmware-updates/

On 5/19/2023 at 11:24 AM, uni said:

Простота работы со стандартной периферией оборачивается сложностью сопровождения.

чтобы иметь актуальную кодовую базу надо сразу смотреть есть ли поддержка процессора в ванильном ядре

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.

×
×
  • Create New...