I know this sounds pithy (and it is!) but you'd be surprised exactly how cheap and cost effective Wi-fi enabled SoCs are. A lot of the time we're getting Wi-Fi for free, and most of those SoC's don't have the Ethernet controller by default, so it's more cost-effective to use Wi-fi if it can fit your use-case.
Other physical protocols/connection types can be supported of course (I wonder what the longest I2C run ever is), but when you're talking about a retro-fitted client like this is, Wifi or wireless protocols in general are best.