So I have a weather station that uploads weather data to COSM every 10 seconds. This works fine.
However, I noticed that when my Weather Station is running, the battery life on all of the mobile devices that are connected to the network via WiFi (i.e. several mobile phones, couple of tablets, various brands/types) is terrible. To put this difference in perspective, with the Weather Station on, the battery life on my phone is about 4 hours. With the Weather Station off it's 2 days. This is repeatable every time.
I can see from some diagnostics on my phone that 98% of the battery use is due to WiFi RX Wakelocks. In other words, it's receiving stuff on WiFi and having to wake up deal with it.
Wireshark tells us what the problem is. Every time the Weather Station uploads its data to the internet it sends an ARP broadcast:
ARP Who has 192.168.0.1? Tell 192.168.0.20
192.168.0.20 is the IP of the Weather Station, and 192.168.0.1 is the gateway.
So what it's doing is trying to get the MAC address for the router from its IP address so that it can communicate with it. This is absolutely normal... ONCE (it should store the MAC address in its ARP table), but it does this every time it tries to connect. The rest of my devices only send such ARP broadcasts once after a reboot.
Does anybody have any suggestions on how to fix or work around this?