Suppose I am developing a fail-safe mechanism for Arduino (Or any other microcontroller). In other words a secondary microcontroller or a seperate board should get the responsibility when the primary controller fails.
Two possible mechanisms are as follows.
Method 1 - Client Server Mechanism
- There are 2 identical systems which are powered separately.
- The secondary system sends a request periodically and the primary system replies.
- If the primary system fails to reply (several times) the secondary system becomes in charge.
Method 2 - Heart Beat Mechanism
- There are 2 identical systems which are powered separately.
- The primary system sends a periodic heartbeat message.
- If the heart beat is there the secondary node knows that the primary node is up.
- When there is no heart beat the primary node is assumed to be dead. Secondary node gets the control.
Do you guys know any better mechanism to implement this?