For the protocol you should use mavlink, probably the best implementation is http://dronekit.io/
On Aliexpress there are some kits with a Pixhawk, that was my first drone…
Or another option would be this: http://ardupilot.org/copter/docs/skyrocket.html
It should be possible to run the script on a laptop which is connected to the drone via wifi via dronekit, but I’m not sure about that…