My goal is to migrate my current Arduino IoT platform code into the ESP01S chipset (8266). What I really want is to achieve a rock-solid ish uptime so I do not need to worry that it will just crash and be in that state for days before I realise that it went south. To do that I have decided to build a "testing rig". This contraption will consist of:
- Raspberry Pi IoT Server to collect the uptime and RAM data from the node,
- Wireless Access Point that the node will connect to,
- Network Switch that everything will be wired to,
- Arduino Uno with a relay that will disconnect the access point every 3 minutes for 10 seconds,
- The Node (ESP01S) that will try as much as it can to stay connected to the access point.
All of this is plugged into one power strip (for these tests I have not connected it to a UPS just to see how it would behave).
UPDATE: I have just made a little change in the code of the ESP01S. It will send a notification to the IoT Server every time it reconnects to the wifi successfully. This will allow me to have a general idea of how many times it gets kicked out and back on the network. The general layout of the rig looks like this (in case someone wants to build one and it is not obvious from the above pictures):
This has been running for about 14 days now and I already had a crash of the ESP01 after about 10 days. However here is the latest data with the updated reconnect status flag. This should be rather interesting after a week me thinks (such scenario is very highly unlikely in the real world, unless maybe someone is kicking them off the network aka deauthentication attack).
Each green line represents a successful reconnection to the wireless network. The "Total Reconnect" adds them all together for an easy read.