Настроить debian (сеть&co) на ODROID (ARM одноплатный комьютер)

Цена договорная • наличный расчёт, безналичный расчёт, электронные деньги
15 августа 2018, 01:05 • 9 откликов • 47 просмотров
TL;DR; Настроить и оптимизировать одноплатник с Ubuntu, автоматизировать обновления спец. ПО и конфигов.

Есть:


1. Достаточно сложное измерительное оборудование

2. Один из способов его интеграции в системы заказчиков - одноплатный компьютер (ODROID в нашем случае), с Linux на борту (нормальная Debian, современное ядро, компиляторы и т.д. без Астро и прочих). ODROID собирает данные по одному serial port-у, обрабатывает их и периодически общается с "клиентом" по другому serial port-у. (serial0-process-serial1)

3. Все это более ли менее работает и опробовано в "продакшене" (т.е. реальные устройства работают по 5 и менее лет =) у заказчиков)

4. Обновление ПО, файлов конфигурации и т.д. осуществляется через ssh/sftp, в ручном режиме.

5. Нам надо поддерживать уже поставленные приборы. Часто это выглядит так, что приезжает инженер "с ноутом", нужно подключиться к установленному оборудованию и все сделать: обновить, перенастроить, посмотреть и проанализировать логи ПО. Иногда мы присылаем прошивки и инструкции клиентам, так что "инженер" не всегда обучен нами.

6. Кроме того, на производстве вместо штатного режима serial0-process-serial1, нужно просто иметь доступ к serial0 без запуска штатного ПО. Для этого мы используем ser2net

Эти процедуры хочется сделать удобнее + оптимизировать. Поэтому...

Нужно (в порядке убывания приоритетов):

1. Настроить/доконфигурировать подключение по сети к ODROID. Есть 2 типа подключения, которые должны проходить "легко". Роутер с DHCP, либо просто кабель от ноута (с windows) до устройства. Сейчас в варианте "роутер" начинается: "зайди-найди-IP". С кабелем в ряде случаев не удается вообще подключиться (причины понятны, а переделать - надо). Нужно, чтобы инженер,особенно на объекте у клиента: "просто подключал кабель и не думал"

2. В производстве при калибровке нам не нужно "serial0-process-serial1", мы часто хотим напрямую работать с "serial0", поэтому пробрасываем serial port по сети через ser2net. Получается как бы 2 режима работы:
а - Калибровка - "проброс данных по сети" (ser2net),
б - Клиенты - "обсчет данных" и общение с клиентом (спец. ПО).
Сейчас переключение между режимами (запускаь спец. ПО при включении или нет): либо автоматизировано, но работает не стабильно, либо делается вручную, комментируя стартап конфиг. Да, что жутко неудобно.

3. Автоматизация обновления конфигов и ПО. Мы можем помочь/разработать интерфейс и т.д., но многое упирается в предыдущие пункты.

4. Все предыдущее должно быть продумано и упрощено/оптимизировано так, чтобы представляло одну удобную систему. Т.е. мы хотим получить какие-то простые workflow для задач, вроде "инженер воткнул кабель, прибор нашелся тут", "теперь запустил скрипт, зашел сюда - редактирует конфиг" или "для калибровки запускаем это, все подключилось и идет сбор данных" и т.д.

Что нам еще нужно в более долгосрочной перспективе:

5. Загрузка из памти . Точнее, минимизация записи на флэш, во время "продакшн ранов" (т.е. штатной работы у заказчика, если по-русски). Просто toram флаг при загрузке не проходит из-за П1-П4. Нужно же, чтобы "инженер воткнул и заработало, но потом изменил конфиг".

6. Оптимизация загрузки при включении. Сейчас мы уменьшили старт системы до 10-15 секунд и все равно это кажется много.

Сроки:

П1 нам желательно сделать достаточно срочно (неделя), П2 и П3 желательно полторы-две, остальное можно постепенно допиливать. Мы ориентированы на долгосрочное сотрудничество. Сделать не срочно, но очень качественно и системно - тоже вариант.

Где и как:

Мы находимся в Москве и Серпухове+Протвино (есть еще лаборатория в СПБ). Можем пригласить, показать, как работает сейчас, предоставить оборудование для разработки. Если вы убедите, что это можно сделать без личного присутствия (хотя бы вначале), то просто предоставим, например, ПО, существующие образы системы и т.д.

Кого мы ищем:
Профессионала, который дочитал до конца, примерно понял, о чем идет речь и уже прикидывает, что можно применить в данном случае )) Нашей экспертизы и времени не хватает именно на оптимальную настройку Linux и глубокого понимания, что еще можно выкинуть и как лучше все организовать.Т.е.
нам больше всего тут нужна любовь от вас к "покопаться в системе",
чтобы придумать, как минимальными усилиями вместе с нами
(командой разработчиков) что-то дописать, настроить, сделать удобно и "красиво". Ибо "некрасиво" и неудобно оно и сейчас работает =)