<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def probe_characteristics(self, conn_id, handle, services):
 """Probe a device for all characteristics defined in its GATT table This routine must be called after probe_services and passed the services dictionary produced by that method. Args: handle (int):
 a handle to the connection on the BLED112 dongle conn_id (int):
 a unique identifier for this connection on the DeviceManager that owns this adapter. services (dict):
 A dictionary of GATT services produced by probe_services() """

        self._command_task.async_command(['_probe_characteristics', handle, services],
                                         self._probe_characteristics_finished, {'connection_id': conn_id,
                                                                                'handle': handle,
                                                                                'services': services})