Lesson 7. Mobile Devices (Nodes)#

Why you need this#

Imagine: your OpenClaw assistant runs on a server or home computer. And you want it to take a photo through your phone’s camera, show you an interactive panel on screen, or find out your location. That’s what Nodes are for — connected devices that extend the assistant’s capabilities.

A Node is a phone, tablet, or another computer connected to your OpenClaw. Through nodes, the assistant gets “eyes,” “ears,” and “hands” in the physical world.


What nodes can do#

Capability Description Example
📷 Camera Photos and video from the device camera “Take a photo of what’s in front of you”
🖥️ Canvas Show a web page or interface on the device screen “Show the sales chart on screen”
📍 Geolocation Find out current location “Where am I right now?”
🔔 Notifications Send a notification to the device “Remind me when I’m near the store”
💻 Command execution Run programs on the device “Run the script on Mac”
📱 SMS (Android) Send SMS messages “Send an SMS to mom”

Connecting a device#

Step 1: Install the OpenClaw app#

  • iPhone/iPad: download OpenClaw from the App Store
  • Android: download OpenClaw from Google Play
  • Mac: use the OpenClaw macOS app (menubar app)

Step 2: Connect to Gateway#

In the app, enter your Gateway server address:

  • Address: IP or domain name of your server
  • Port: 18789 (default)

The app will send a connection request.

Step 3: Approve the connection#

On the server (where Gateway is running), run:

# View pending connections
openclaw devices list

# Approve a device
openclaw devices approve <request-id>

Step 4: Verify the connection#

# List connected devices
openclaw nodes status

# Detailed device information
openclaw nodes describe --node <name-or-id>

Give the device a friendly name#

openclaw nodes rename --node <id> --name "My iPhone"

Camera#

Take a photo#

# Photo from both cameras
openclaw nodes camera snap --node "My iPhone"

# Photo from the front camera
openclaw nodes camera snap --node "My iPhone" --facing front

# Photo from the main camera
openclaw nodes camera snap --node "My iPhone" --facing back

In chat with the assistant, you can simply ask: “Take a photo with the phone.”

Record video#

# 10-second video
openclaw nodes camera clip --node "My iPhone" --duration 10s

# Video without audio
openclaw nodes camera clip --node "My iPhone" --duration 5s --no-audio

Limitation: video no longer than 60 seconds. The app must be open on screen (not in the background).

Screen recording#

openclaw nodes screen record --node "My iPhone" --duration 10s

Canvas — displaying on screen#

Canvas is a display screen on the mobile device. The assistant can show a web page, chart, dashboard, or any HTML content on it.

Show a web page#

# Open a website on the device screen
openclaw nodes canvas present --node "My iPhone" --target https://example.com

# Hide the Canvas
openclaw nodes canvas hide --node "My iPhone"

# Navigate to another page
openclaw nodes canvas navigate https://weather.com --node "My iPhone"

Take a Canvas snapshot#

openclaw nodes canvas snapshot --node "My iPhone" --format png

Run JavaScript on Canvas#

openclaw nodes canvas eval --node "My iPhone" --js "document.title"

In chat, you can ask: “Show the current weather on the phone,” and the assistant will open the right page through Canvas.


Geolocation#

Find out current location#

openclaw nodes location get --node "My iPhone"

Result — coordinates (latitude/longitude), accuracy in meters, and time.

Accuracy options#

# Precise location (GPS)
openclaw nodes location get --node "My iPhone" --accuracy precise

# Approximate (faster, saves battery)
openclaw nodes location get --node "My iPhone" --accuracy coarse

Important: Geolocation is disabled by default. You need to enable it in the OpenClaw app settings on the device and grant location access permission.


Notifications#

Send a push notification to the device:

openclaw nodes notify --node "My iPhone" \
  --title "Reminder" \
  --body "Team meeting in 15 minutes"

Notification priorities#

  • passive — silent notification
  • active — normal (default)
  • timeSensitive — urgent (breaks through Do Not Disturb mode)
openclaw nodes notify --node "My iPhone" \
  --title "URGENT" \
  --body "Server is down!" \
  --priority timeSensitive

Running commands on a device#

On a Mac node, you can run programs:

openclaw nodes run --node "My Mac" -- echo "Hello from Mac!"

Security: command execution is protected by an approval system (exec approvals). You need to specify in advance which commands are allowed:

openclaw approvals allowlist add --node "My Mac" "/usr/bin/say"

SMS (Android only)#

On Android devices with SMS permission:

openclaw nodes invoke --node "My Android" \
  --command sms.send \
  --params '{"to": "+15551234567", "message": "Hello!"}'

Practical example#

You message the assistant in Telegram:

“Take a photo with the phone of what’s on the desk and tell me what you see”

The assistant:

  1. Uses the nodescamera_snap tool for a photo from the phone
  2. Receives the photograph
  3. Analyzes the image through the AI model
  4. Responds: “On the desk I see a laptop, a coffee mug, and a notebook”

This all happens automatically — you just describe the task.


Usage tips#

  1. Keep the app open — camera and Canvas only work when the app is in the foreground
  2. Give the device a friendly name — it’s easier to refer to it
  3. Enable geolocation only when needed — it saves battery
  4. Set up permissions in advance — camera, location, notifications
  5. For remote connections, use an SSH tunnel or VPN if Gateway isn’t directly accessible

Lesson summary#

  • A Node is a connected device (phone, tablet, Mac) that extends the assistant’s capabilities
  • Through nodes you get: camera, Canvas (screen display), geolocation, notifications, command execution
  • Connection: install the app → connect to Gateway → approve on the server
  • Camera: photos and video from the front or main camera
  • Canvas: displaying web pages and interfaces on the device screen
  • Geolocation: device coordinates (disabled by default)
  • The app must be in the foreground for camera and Canvas
  • The assistant chooses the right device and action on its own — just describe the task

🎉 Congratulations! You’ve completed Level 2 of the OpenClaw course. Now you know how to configure the assistant, choose models, manage memory, use tools and skills, set up automation, and connect mobile devices.