To simplify, you can break your design into different problems that can be solved independently:
- Control Locally: Create an application that turns a pump on/off
- Communicate: Add an wireless interface for the Smartphone
- Control Remotely: Add an wireless interface for the Smartphone
Resolve the control problem which is where you'll have to do most of your thinking. Here is a post where someone is working on code to turn a pump on/off, so don't worry... there are resources out there to help you.
Now make your board communicate. Here is a tutorial for an add-on board (TapNLink) that can be used to communicate with Bluetooth between your Arduino and your smartphone.
The good thing about this add-on is that you can add it after you develop the part in Step 1 which controls the motor/pump.
- Then, you'll see from the TapNLink add-on board tutorial, that when you configure TapNLink to communicate with your Arduino, it will automatically create an app for you.
In this case steps, 2 and 3 are practically done for you. Very easy.
Let me know if you try this. Really interested in knowing if it works for you.