Предположим, я разрабатываю отказоустойчивый механизм для Arduino (или любого другого микроконтроллера). Другими словами, вторичный микроконтроллер или отдельная плата должны нести ответственность в случае отказа основного контроллера.
Два возможных механизма заключаются в следующем.
Способ 1 – клиент-серверный механизм
- Есть 2 идентичные системы, которые питаются отдельно.
- Вторичная система периодически отправляет запрос, а первичная система отвечает.
- Если первичная система не отвечает (несколько раз), вторичная система становится ответственной.
Метод 2 – механизм сердцебиения
- Есть 2 идентичные системы, которые питаются отдельно.
- Первичная система отправляет периодическое сообщение пульса.
- Если есть сердцебиение, вторичный узел знает, что первичный узел работает.
- Когда сердцебиение отсутствует, первичный узел считается мертвым. Вторичный узел получает управление.
Ребята, вы знаете какой-нибудь лучший механизм для реализации этого?