def main(): # Make socket transport = TSocket.TSocket('localhost', port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) status_client = Drone.Client(protocol) # Connect! transport.open() print("Disarming...") client.disarm() # Close! transport.close()
def main(): # Make socket transport = TSocket.TSocket('localhost', port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) # Connect! transport.open() print('Locking servo...') client.set_servo(1900) # Close! transport.close()
def main(): # Make socket transport = TSocket.TSocket('localhost', 9090) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) # Connect! transport.open() client.fly_to(14.076550, 100.614012, 50) print('FLYING AWAY') # Close! transport.close()
def main(): # Make socket transport = TSocket.TSocket('localhost', port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) # Connect! transport.open() print("Executing {0}...".format(args.command)) client.arm() # Close! transport.close()
def main(): # Make socket transport = TSocket.TSocket('localhost', 9090) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) # Connect! transport.open() client.takeoff(50) print('Taking off') # Close! transport.close()
def main(): # Make sockets transport = TSocket.TSocket('localhost', port) base_transport = TSocket.TSocket('localhost', base_port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) base_transport = TTransport.TBufferedTransport(base_transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) base_protocol = TBinaryProtocol.TBinaryProtocol(base_transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) base_client = BaseDoor.Client(base_protocol) # Connect! transport.open() base_transport.open() dest_latitude = float(args.latitude) dest_longitude = float(args.longitude) altitude = float(args.altitude) # Prepare doors! print("Opening doors...") base_client.openDoor() time.sleep(15) print("Clearing existing missions...") client.clear_missions() print("Downloading missions...") client.download_missions() send_time = datetime.datetime.now() print("Add mission to {0}, {1} at {2} metres".format( args.latitude, args.longitude, args.altitude)) client.add_delivery_mission(dest_latitude, dest_longitude, altitude) # client.fly_to(14.076550, 100.614012, 50) transport.close() base_transport.close() print("Starting in flight status reports...") while (True): transport.open() print("Reporting flight status...") status_obj = client.report_status(int(args.drone_id)) if not status_obj.armed: end_mission_status_data = {"status": "Done"} end_drone_status_data = {"status": "Available"} end_mission_patch = requests.patch(mission_endpoint, data=end_mission_status_data) end_drone_patch = requests.patch(drone_endpoint, data=end_drone_status_data) client.change_mode("RTL") break transport.close() time.sleep(3) # Close! transport.close()
def main(): # Make socket transport = TSocket.TSocket('localhost', port) base_transport = TSocket.TSocket('localhost', base_port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) base_transport = TTransport.TBufferedTransport(base_transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) base_protocol = TBinaryProtocol.TBinaryProtocol(base_transport) # Create a client to use the protocol encoder client = Drone.Client(protocol) base_client = BaseDoor.Client(base_protocol) # Connect! transport.open() base_transport.open() time.sleep(15) # Prepare doors! print("Opening doors...") base_client.openDoor() print("Clearing existing missions...") client.clear_missions() print("Downloading missions...") client.download_missions() print("Creating coordinate objects...") thrift_coordinate_list = [] altitude = float(args.altitude) for count, coordinate in enumerate(coordinate_list): latlng = coordinate.split(",") lat = latlng[0] lng = latlng[1] if count == 0: first_coordinate = { "latitude": float(lat), "longitude": float(lng), } print("First waypoint is {0},{1}".format( first_coordinate["latitude"], first_coordinate["longitude"])) coordinate_obj = Coordinate(latitude=float(lat), longitude=float(lng), altitude=altitude) thrift_coordinate_list.append(coordinate_obj) print("Sending coordinates to server...") client.add_farm_mission(thrift_coordinate_list) transport.close() base_transport.close() print("Starting in flight status reports...") while (True): transport.open() print("Reporting flight status...") status_obj = client.report_status(int(args.drone_id)) print("Armed: {0}".format(status_obj.armed)) if first_coordinate[ "latitude"] - 0.0001 <= status_obj.latitude <= first_coordinate[ "latitude"] + 0.0001 and first_coordinate[ "longitude"] - 0.0001 <= status_obj.latitude <= first_coordinate[ "longitude"] + 0.0001: print("Requesting camera start...") client.start_camera() if not status_obj.armed: end_mission_status_data = {"status": "Done"} end_drone_status_data = {"status": "Available"} end_mission_post = requests.patch(mission_endpoint, data=end_mission_status_data) end_drone_post = requests.patch(drone_endpoint, data=end_drone_status_data) client.change_mode("RTL") break transport.close() time.sleep(3) # Close! transport.close()