Im looking at some low power usecases and trying to decide between using a traditional arduino & a RF chip like a (RFM69HW) or the nice ESP8266
Im primarily concerned with power consumption.. (looking at power consumptions using wiki/doku.php?id=esp8266_power_usage) and other sources for Mega328P
My initial usecase is to have a ESP8266 on each house window and check to see if the window is closed when the alarm is set.. If a window is open then send a push notification to my phone to warm me..
Each window has a ESP8266+Reed Switch
Central controller , probably a RaspberryPI
Ideally
- When the alarm is set, a Raspberry PI detects this and then polls each window sensor and asks for its status (open/closed). if any windows are open then send a push notification (pushbullet) to my phone to warn me
Problem
- That means keeping all the Window ESP8266s powered up.. and listening thus consuming ~60mA ... (or is the 60mA only when it receives a packet destined for it?)
Alternative
- Install a MQTT Server (Mosquitto) on my RaspberryPi
- Every minute each ESP8266 wakes from deepsleep (10uA), connects to WIFI and sends a status packet ONLY if the status has changed. this would mean I could power up in wifi down mode and only power up wifi if the status changes.. Power consumption is therefore minimial (???not sure how much??) unless the window state changed
- When the alarm is set then the PI checks the status of each window (from a cached list of last listened states) and actions accordingly..
- Each ESP8266 will probably need to periodically send the status (regardless of if it changes) so that the central PI gets a heartBeat..
Does this sound like a good plan??
Would the arduino be better in this scenario?