A cheap smartphone would probably be capable of doing all that in theory at least - decent processing power, WiFi, low power consumption, very compact with It's own power source, and lightweight with reasonable shock resistance. I wouldn't know where to start programming all that.