1. Ну WEB сервер можно реализовать и более привычными способами
2. На аппаратных шинах (1Wire) никаких событий не происходит, т. к. обмен данными инициируется контроллером. Мастер на шине может быть только один, поэтому клиентское приложение в шину ничего послать не может. Но допустим может. Итак оно (приложение) получило по шине информацию, что на каком-то устройстве на входе напряжение 125 мВ. Что может сделать в этом случае клиентское приложение ? Да ничего, оно вообще понятия не имеет о чем речь. Что это за устройство знает только контроллер и только он обладает необходимыми алгоритмами для обработки такой информации.
3. Т.е. клиентское приложение отображает данные, получаемые от контроллера и может передавать ему команды (ну допустим команды настройки режима температуры) ? Тогда это ничто иное как удаленный интерфейс. Необходимость его весьма спорна .....
4. Контроллер один. Модули не могут быть самодостаточными, т. к. в противном случае Вы получите то, от чего хотели уйти - полнофункциональные контроллеры, причем не один, а несколько (на каждый модуль). Поясню. Есть допустим модуль электродов. Там несколько электродов. Для каждого из электродов существует свой алгоритм обработки данных и своя реакция. Если это делать самодостаточным, то мы получим ПОЛНОФУНКЦИОНАЛЬНЫЙ контроллер (допустим рН). Причем кому-то нужно будет чтобы управляющий блок выдавал 220В, а кому-то 12В, так что придется предусмотреть обе возможности.
Так что такая архитектура, как Вы описали, выйдет очень сложной. Как я и писал ранее, в качестве модулей Вам понадобятся довольно умные (а значит и дорогие) железяки. Такая железяка должна иметь в своем составе:
1. Датчик (электрод, температура и т. п.).
2. Процессор с системой таймеров.
3. Силовой (исполнительный блок).
4. Устройство связи.
Это как минимум. И что мы имеем ? В принципе тот-же контроллер Юсупова, только без дисплея и клавиатуры. Хотя нет, дисплей и клавиатура таки нужны, т. к. модуль должен быть самодостаточным, т.е. ПОЛНОСТЬЮ рабочим и без клиентского приложения.
И таких контроллеров должно быть ..... да в принципе одного хватит, но ..... модульной системы уже нет
Отсюда получаем, что для минимизации аппаратных затрат и стоимости всей системы в целом, а также ее гибкости нам необходимо:
1. Основной контроллер с дисплеем, клавиатурой (как я писал ранее можно конечно и удаленно настраивать, но .... пользователю удобнее если есть дисплей)
2. Модуль электродов.
3. Модуль датчиков температуры.
4. Силовой модуль 220В.
5. Силовой модуль 12В.
6. Модуль ШИМ для ЛЭД.
7. Модуль ШИМ для помп типа WP-40.
8. ............ будет видно.
К контроллеру может подключаться ЛЮБОЕ количество модулей. Если не нужен модуль ШИМ для ЛЭД - не ставим. Нет помп WP-40 - не ставим и т.д.
Нужно больше электродов или датчиков температуры или каналов 220В - ставим второй нужный модуль.
Каждый инициированный модуль представляет собой объект определенного класса, у которого есть свои свойства, события, действия (ну кто знает что такое объектное программирование, тот поймет, остальным оно вроде и не надо - это уже программистская кухня).
В результате получаем что-то типа PnP - подключил модуль - настроил что он должен делать - работает