Chapter 1: Connecting to Devices¶
DroidMind empowers your AI assistant to manage connections to your Android devices, whether they're plugged in via USB or available on your network. This chapter covers how to discover, connect to, and disconnect from your devices.
1.1 Listing Available Devices¶
Before you can interact with a device, you need to know its serial number or connection address. DroidMind can list all devices currently recognized by the Android Debug Bridge (ADB) on the machine where DroidMind is running.
How to ask your AI assistant:
"Hey AI, can you list all connected Android devices using DroidMind?" "Show me the devices DroidMind can see." "What Android devices are available?"
Expected DroidMind Action:
DroidMind will use the list_devices
tool.
Example Response from AI (incorporating DroidMind's output):
Okay, I found 2 Android devices connected:
## Device 1: Pixel 6 Pro
- **Serial**: `1A2B3C4D5E6F`
- **Android Version**: 13
## Device 2: Android Emulator
- **Serial**: `emulator-5554`
- **Android Version**: 12
- Serial: This is the unique identifier for your device. You'll use this serial number in many other commands to specify which device to target, especially if you have multiple devices connected.
- USB Devices: Physical devices connected via USB will typically show a hardware serial number (e.g.,
1A2B3C4D5E6F
). - Emulators: Android emulators usually have serials like
emulator-5554
. - Networked Devices: Devices connected over TCP/IP will show their IP address and port (e.g.,
192.168.1.100:5555
).
If no devices are listed, ensure your device has USB debugging enabled, is properly connected, and authorized on your computer. For emulators, make sure they are running. If DroidMind is in Docker, review the Docker guide for ADB connectivity.
1.2 Understanding Device Serials¶
The serial number is crucial for interacting with DroidMind, especially when multiple devices are connected. It's how DroidMind (and ADB) distinguishes between them.
- Physical Devices (USB): Typically a unique alphanumeric string (e.g.,
R5CR707QL9X
). - Emulators: Usually
emulator-XXXX
(e.g.,emulator-5554
,emulator-5556
). - Networked Devices (TCP/IP): In the format
ip_address:port
(e.g.,192.168.1.123:5555
).
When your AI assistant prompts for a device or you initiate a command, be ready to provide the correct serial if you have more than one device listed.
1.3 Connecting to Devices Over TCP/IP (Wi-Fi)¶
If your Android device is configured for ADB over Wi-Fi, DroidMind can connect to it.
Prerequisites for TCP/IP Connection:
- Your Android device and the machine running DroidMind must be on the same network.
- ADB over TCP/IP must be enabled on your Android device. This usually involves:
- Connecting the device via USB first.
- Running
adb tcpip 5555
(or another port) from your terminal. - Finding your device's IP address (e.g., in Settings > About phone > Status).
- You can then disconnect the USB cable.
How to ask your AI assistant:
"Connect to my Android device at IP address
192.168.1.101
." "DroidMind, please connect to192.168.1.101:5555
." "Add a new device:192.168.1.101
port5556
."
Expected DroidMind Action:
DroidMind will use the connect_device
tool.
Example Response from AI:
# ✨ Device Connected Successfully! ✨
- **Device**: Pixel 7
- **Connection**: 192.168.1.101:5555
- **Android Version**: 14
The device is now available for commands and operations.
If the connection fails, your AI assistant will relay the error message. Common issues include incorrect IP address/port, device not being on the same network, ADB over TCP/IP not being enabled correctly on the device, or firewall issues.
1.4 Disconnecting Devices¶
You can explicitly disconnect DroidMind from a device, which is primarily useful for devices connected over TCP/IP. Disconnecting a USB device via this command usually doesn't prevent it from being re-detected by ADB automatically.
How to ask your AI assistant:
"Disconnect from the device
192.168.1.101:5555
." "DroidMind, removeemulator-5554
from the list of active connections."
Expected DroidMind Action:
DroidMind will use the disconnect_device
tool.
Example Response from AI:
Or, if it wasn't a TCP/IP connection or already disconnected:
After disconnecting, the device will no longer appear in the list_devices
output unless it's a USB device that ADB automatically re-detects, or you explicitly connect to it again.
Next, let's explore how to get detailed information and diagnostics from your connected devices in Chapter 2: Device Information & Diagnostics.