OpenClaw trên Raspberry Pi
Mục tiêu
Chạy OpenClaw Gateway hoạt động liên tục 24/7 trên Raspberry Pi với chi phí ~$35-80 một lần (không mất phí hàng tháng).
Phù hợp cho:
- Trợ lý AI cá nhân hoạt động 24/7
- Hub tự động hóa nhà thông minh
- Bot Telegram/WhatsApp tiết kiệm điện, luôn sẵn sàng
Yêu cầu phần cứng
| Model Pi | RAM | Hoạt động? | Ghi chú |
|---|---|---|---|
| Pi 5 | 4GB/8GB | ✅ Tốt nhất | Nhanh nhất, mình khuyên dùng |
| Pi 4 | 4GB | ✅ Tốt | Lựa chọn tối ưu cho đa số người dùng |
| Pi 4 | 2GB | ✅ OK | Hoạt động được, cần thêm swap |
| Pi 4 | 1GB | ⚠️ Hạn chế | Có thể dùng với swap, config tối thiểu |
| Pi 3B+ | 1GB | ⚠️ Chậm | Hoạt động nhưng hơi lag |
| Pi Zero 2 W | 512MB | ❌ | Không khuyên dùng |
Cấu hình tối thiểu: 1GB RAM, 1 core, 500MB ổ đĩa Khuyên dùng: RAM 2GB trở lên, OS 64-bit, thẻ SD 16GB+ (hoặc USB SSD)
Các bạn cần chuẩn bị
- Raspberry Pi 4 hoặc 5 (khuyên dùng 2GB trở lên)
- Thẻ MicroSD (16GB+) hoặc USB SSD (hiệu năng tốt hơn)
- Nguồn điện (khuyên dùng nguồn chính hãng của Pi)
- Kết nối mạng (Ethernet hoặc WiFi)
- Khoảng 30 phút
1) Flash hệ điều hành
Dùng Raspberry Pi OS Lite (64-bit) — không cần desktop cho server headless.
- Tải Raspberry Pi Imager
- Chọn OS: Raspberry Pi OS Lite (64-bit)
- Click vào biểu tượng bánh răng (⚙️) để cấu hình trước:
- Đặt hostname:
gateway-host - Bật SSH
- Đặt username/password
- Cấu hình WiFi (nếu không dùng Ethernet)
- Đặt hostname:
- Flash vào thẻ SD / USB drive
- Cắm vào và khởi động Pi
2) Kết nối qua SSH
ssh user@gateway-host
# hoặc dùng địa chỉ IP
ssh [email protected]
3) Cài đặt hệ thống
# Cập nhật hệ thống
sudo apt update && sudo apt upgrade -y
# Cài các package cần thiết
sudo apt install -y git curl build-essential
# Đặt timezone (quan trọng cho cron/reminders)
sudo timedatectl set-timezone America/Chicago # Đổi thành timezone của các bạn
4) Cài Node.js 22 (ARM64)
# Cài Node.js qua NodeSource
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# Kiểm tra
node --version # Phải hiện v22.x.x
npm --version
5) Thêm Swap (Quan trọng với RAM 2GB trở xuống)
Swap giúp tránh crash do hết bộ nhớ:
# Tạo swap file 2GB
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Làm cho swap tồn tại vĩnh viễn
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Tối ưu cho RAM thấp (giảm swappiness)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
6) Cài đặt OpenClaw
Cách A: Cài đặt chuẩn (Khuyên dùng)
curl -fsSL https://openclaw.ai/install.sh | bash
Cách B: Cài đặt Hackable (Để tùy chỉnh)
git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build
npm link
Cài đặt hackable cho các bạn truy cập trực tiếp vào logs và code — hữu ích để debug các vấn đề đặc thù của ARM.
7) Chạy Onboarding
openclaw onboard --install-daemon
Làm theo wizard:
- Gateway mode: Local
- Auth: Khuyên dùng API keys (OAuth có thể khó chịu trên Pi headless)
- Channels: Telegram dễ bắt đầu nhất
- Daemon: Yes (systemd)
8) Kiểm tra cài đặt
# Check trạng thái
openclaw status
# Check service
sudo systemctl status openclaw
# Xem logs
journalctl -u openclaw -f
9) Truy cập Dashboard
Vì Pi là headless, dùng SSH tunnel:
# Từ laptop/desktop của các bạn
ssh -L 18789:localhost:18789 user@gateway-host
# Sau đó mở trong browser
open http://localhost:18789
Hoặc dùng Tailscale để truy cập mọi lúc:
# Trên Pi
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# Cập nhật config
openclaw config set gateway.bind tailnet
sudo systemctl restart openclaw
Tối ưu hiệu năng
Dùng USB SSD (Cải thiện cực lớn)
Thẻ SD chậm và dễ hỏng. USB SSD cải thiện hiệu năng đáng kể:
# Kiểm tra xem có boot từ USB không
lsblk
Xem hướng dẫn boot USB của Pi để cài đặt.
Giảm sử dụng bộ nhớ
# Tắt phân bổ bộ nhớ GPU (headless)
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
# Tắt Bluetooth nếu không cần
sudo systemctl disable bluetooth
Giám sát tài nguyên
# Check bộ nhớ
free -h
# Check nhiệt độ CPU
vcgencmd measure_temp
# Giám sát trực tiếp
htop
Lưu ý đặc thù ARM
Tương thích Binary
Hầu hết tính năng OpenClaw hoạt động trên ARM64, nhưng một số binary bên ngoài có thể cần bản build ARM:
| Tool | Trạng thái ARM64 | Ghi chú |
|---|---|---|
| Node.js | ✅ | Hoạt động tốt |
| WhatsApp (Baileys) | ✅ | Pure JS, không vấn đề |
| Telegram | ✅ | Pure JS, không vấn đề |
| gog (Gmail CLI) | ⚠️ | Check xem có bản ARM release không |
| Chromium (browser) | ✅ | sudo apt install chromium-browser |
Nếu một Skill bị lỗi, check xem binary của nó có bản build ARM64 không. Nhiều tool Go/Rust có; một số thì không.
32-bit vs 64-bit
Luôn dùng OS 64-bit. Node.js và nhiều tool hiện đại yêu cầu nó. Kiểm tra bằng:
uname -m
# Phải hiện: aarch64 (64-bit) chứ không phải armv7l (32-bit)
Cấu hình Model khuyên dùng
Vì Pi chỉ là Gateway (model chạy trên cloud), dùng các model dựa trên API:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-20250514",
"fallbacks": ["openai/gpt-4o-mini"]
}
}
}
}
Đừng cố chạy local LLM trên Pi — ngay cả model nhỏ cũng quá chậm. Để Claude/GPT làm phần nặng nhọc.
Tự động khởi động khi boot
Wizard onboarding đã setup sẵn, nhưng để kiểm tra:
# Check xem service đã enable chưa
sudo systemctl is-enabled openclaw
# Enable nếu chưa
sudo systemctl enable openclaw
# Khởi động khi boot
sudo systemctl start openclaw
Troubleshooting
Hết bộ nhớ (OOM)
# Check bộ nhớ
free -h
# Thêm swap (xem Bước 5)
# Hoặc giảm các service đang chạy trên Pi
Hiệu năng chậm
- Dùng USB SSD thay vì thẻ SD
- Tắt các service không dùng:
sudo systemctl disable cups bluetooth avahi-daemon - Check CPU throttling:
vcgencmd get_throttled(phải trả về0x0)
Service không khởi động
# Check logs
journalctl -u openclaw --no-pager -n 100
# Cách fix phổ biến: rebuild
cd ~/openclaw # nếu dùng hackable install
npm run build
sudo systemctl restart openclaw
Vấn đề ARM Binary
Nếu một Skill bị lỗi “exec format error”:
- Check xem binary có bản build ARM64 không
- Thử build từ source
- Hoặc dùng Docker container có hỗ trợ ARM
WiFi bị ngắt kết nối
Với Pi headless dùng WiFi:
# Tắt quản lý nguồn WiFi
sudo iwconfig wlan0 power off
# Làm cho vĩnh viễn
echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
So sánh chi phí
| Setup | Chi phí một lần | Chi phí hàng tháng | Ghi chú |
|---|---|---|---|
| Pi 4 (2GB) | ~$45 | $0 | + điện (~$5/năm) |
| Pi 4 (4GB) | ~$55 | $0 | Khuyên dùng |
| Pi 5 (4GB) | ~$60 | $0 | Hiệu năng tốt nhất |
| Pi 5 (8GB) | ~$80 | $0 | Hơi thừa nhưng bền bỉ |
| DigitalOcean | $0 | $6/tháng | $72/năm |
| Hetzner | $0 | €3.79/tháng | ~$50/năm |
Hòa vốn: Pi tự hoàn vốn trong khoảng 6-12 tháng so với cloud VPS.
Xem thêm
- Hướng dẫn Linux — cài đặt Linux tổng quát
- Hướng dẫn DigitalOcean — giải pháp cloud thay thế
- Hướng dẫn Hetzner — cài đặt Docker
- Tailscale — truy cập từ xa
- Nodes — ghép nối laptop/điện thoại với Pi gateway