Непрерывный X-гаджет

Один из моих проектов прекрасно иллюстрирует непрерывную инженерию и непрерывное всё будучи при этом проектом в значительной степени «железным». Система решает задачу определения качества воды. На верхнем уровне все измерительные X-гаджеты подключены к серверу и объедены в единую систему, включающую X-гаджет, сервер, пользователей гаджета и пользовательские устройства (смартфоны и компьютеры), используемые для работы с системой. На этом уровне используются типовые хорошо отработанные решения (кроме самого X-гаджета), хотя интеграция этих типовых решений все равно требует определенной разработки. X-гаджет находится уровнем ниже и его конструкция как раз представляет собой изобретательство. На этом уровне решается задача, требующая реализовать физический процесс измерения свойств воды, при помощи определенных «физических» участников процесса, датчиков и прочих электронных компонент. На этом уровне значительная часть функций реализуется готовыми модулями. К модулям, которые потребовали специальной разработки ожидаемо относится корпус, который изготавливается на ЧПУ. Другим модулем, который потребовал разработки является контролер основного датчика и тут мы проваливаемся вниз еще на один уровень. Контролер датчика представляет собой STM32 со специфической обвязкой. На этом уровне почти все функции решаются типовыми модулями (STM32 и прочая электроника) и индивидуальной разработки требует только печатная плата, на которой все эти электронные компоненты будут размещены (тот же корпус только уровнем ниже).

И конечно на каждом из упомянутых уровней есть свой софт. На нижнем уровне есть софт контролера. На следующем уровне софт микрокомпьютера X-гаджета. Уровнем выше софт, развернутый в облаке, с которым все гаджеты взаимодействуют. Уровнем ниже от облака (но не обратно к X-гаджету, а в строну от него) находится браузер, реализующий сеанс работы на пользовательском устройстве (поскольку всё управление осуществляется с пользовательского устройства, а на X-гаджете весь интерфейс управления — это одна кнопочка и одна лампочка).

Bсё это непрерывно разрабатывается. Естественно, софт живет в режиме постоянного обновления. Железо немного отстает, но тоже не статично. Поскольку устройство выходит небольшими партиями, в каждой следующей партии что-то дорабатывается. Оптимизируется корпус, заменяются определенные электронные компоненты. И в каждый момент времени идут все этапы жизненного цикла – что-то проектируется, что-то эксплуатируется, что-то дорабатывается, что-то выводится из эксплуатации и т.д.