Biến Android cũ thành máy chủ Linux, PicoClaw qua Termux

Nội dung

    Việc tái sử dụng điện thoại Android cũ thành trạm điều khiển hoặc máy chủ mini là giải pháp thông minh. Phương pháp này giúp tiết kiệm chi phí. Nó cũng góp phần bảo vệ môi trường. Hướng dẫn này chi tiết hóa quá trình “hồi sinh” thiết bị. Mục tiêu là biến điện thoại thành máy chủ Linux bỏ túi. Hệ thống này sẽ chạy PicoClaw thông qua TermuxSSH.

    1. Chuẩn bị môi trường: Termux

    Termux là một trình giả lập terminal mạnh mẽ. Nó mang môi trường Linux lên Android. Việc này không yêu cầu root thiết bị.

    • Tải về: Không sử dụng phiên bản từ Play Store. Phiên bản này đã cũ và có lỗi. Hãy tải bản mới nhất từ F-Droid hoặc GitHub.
    • Cập nhật hệ thống: Mở Termux. Chạy lệnh sau để đảm bảo hoạt động trơn tru:
      pkg update && pkg upgrade
    • Cấp quyền bộ nhớ: Thực hiện lệnh này để quản lý tệp dễ dàng hơn:
      termux-setup-storage

    2. Thiết lập SSH: Điều khiển từ xa

    Để điều khiển điện thoại từ máy tính, sử dụng SSH. Điều này tiện lợi hơn việc gõ trên màn hình điện thoại nhỏ.

    1. Cài đặt OpenSSH: Chạy lệnh sau trong Termux:
      pkg install openssh
    2. Thiết lập mật khẩu: Đặt mật khẩu đăng nhập từ máy tính. Gõ lệnh:
      passwd
    3. Kiểm tra Username và IP:
      • Để biết tên người dùng, gõ whoami. Tên thường có dạng u0_a123.
      • Để xem địa chỉ IP của điện thoại, gõ ifconfig. Ví dụ: 192.168.1.15.
    4. Khởi động Server: Gõ lệnh sshd.
    5. Kết nối từ máy tính: Mở Terminal trên PC hoặc Laptop. Gõ lệnh sau:
      ssh [username]@[IP_điện_thoại] -p 8022 Giữ kết nối: Để tránh máy chủ SSH tự ngắt khi đóng Termux, chạy termux-wake-lock để giữ máy hoạt động trong nền. Dừng server: Sử dụng pkill sshd để dừng máy chủ SSH khi không sử dụng. Bảo mật: Chỉ sử dụng SSH trên mạng Wi-Fi đáng tin cậy. Để kết nối từ xa, cân nhắc sử dụng Tailscale. Kết nối qua ADB: Nếu không có Wi-Fi, bạn có thể dùng adb forward tcp:8022 tcp:8022 để kết nối qua cáp USB.

    3. Cài đặt PicoClaw (Hệ thống Claw Machine Mini)

    PicoClaw là các dự án mã nguồn mở. Chúng hỗ trợ điều khiển máy gắp gấu. Chúng cũng điều khiển các thiết bị IoT nhỏ dựa trên vi điều khiển. Ví dụ là Raspberry Pi Pico. Việc quản lý các thiết bị này có thể thông qua một máy chủ.

    Biến Android cũ thành máy chủ Linux, PicoClaw qua Termux

    Để chạy PicoClaw trên Termux, tôi đã làm cho nó hoạt động hoàn hảo mà không cần proot hay chỉnh sửa go.mod nữa.

      1. termux-change-repo Để thay đổi máy chủ phản chiếu kho lưu trữ Termux,sử dụng lệnhtermux-change-repo Để khắc phục tốc độ tải xuống chậm hoặc lỗi kết nối, hãy chạy lệnh, chọn kho lưu trữ mong muốn (sử dụng phím cách để chọn, Enter để xác nhận) và chọn một máy chủ phản chiếu mới (ví dụ: Máy chủ phản chiếu ở Trung Quốc, hoặc các máy chủ khác). Cuối cùng, chạy lệnhpkg updateđể áp dụng các thay đổi.
      2. đã chọn phương án thứ hai
      3. Chọn tùy chọn “North America” (bao gồm packages-cf.termux.dev)

    pkg update
    pkg upgrade -y
    pkg install -y git make golang clang nano curl
    pkg upgrade -y
    git clone //github.com/sipeed/picoclaw.git
    cd picoclaw
    export GOTOOLCHAIN=local
    make deps
    make build

    Tệp nhị phân có sẵn trong thư mục build/
    Thay vì một hướng dẫn hoặc tập lệnh cài đặt, có lẽ sẽ tốt hơn nếu chỉ cần cung cấp một bản dựng Termux gốc được xây dựng bằng cách sử dụng tệp nhị phân Termux Golang, hoặc thậm chí là một gói Termux. Tuy nhiên, hiện tại tôi không biết cách thực hiện cả hai và thêm chúng vào goreleaser.

    Build tạo ngay trong thư mục picoclaw

    make deps

    90% trường hợp PicoClaw không cần CGO.
    Bạn chỉ cần: CGO_ENABLED=0 make build

    # Build (không cần cài đặt)
    make build

    # Build cho nhiều nền tảng
    make build-all

    # Build và cài đặt
    make install

    Tạo file cấu hình như ví dụ //github.com/sipeed/picoclaw/blob/main/README.vi.md

    Nếu dùng Ollama thử list curl //192.168.1.5:11434/api/tags

    lưu ý “agents”: {
    “defaults”: {
    “model”: “gpt4” phải đúng “model_name”: “gpt4”,
    }

    Nhưng shell của bạn không thấy binary trong PATH.

    echo $PATH Bạn sẽ không thấy. Thêm vào PATH

    echo ‘export PATH=$HOME/.local/bin:$PATH’ >> ~/.bashrc
    source ~/.bashrc

    Kiểm tra lại
    which picoclaw

    Nếu ra:

    /data/data/com.termux/files/home/.local/bin/picoclaw

    → OK.

    Khởi tạo: ./picoclaw onboard

    để lấy path chứ file cấu hình, sao đó chép

    cp config.json /data/data/com.termux/files/home/.picoclaw/

    Giờ Trò chuyện

    ./picoclaw agent -m “Xin chào, bạn là ai?”

    Gateway started on 0.0.0.0:18790 không có web UI mặc định. Gateway chỉ mở:

    /health

    /ready

    API nội bộ cho channel (Telegram, CLI, webhook…)

    Nó không phải web app. //IP_ĐIỆN_THOẠI:18790/health Nếu thấy → gateway chạy bình thường.Nếu trả lời được → config đúng.Sau đó mới chạy gateway

    ./picoclaw gateway

    4. Tối ưu hóa: Biến điện thoại thành Server thực thụ

    Để điện thoại cũ hoạt động ổn định 24/7 như một máy chủ, cần thực hiện các tối ưu hóa sau:

    • Giữ CPU luôn thức: Vuốt thanh thông báo Termux xuống. Chọn “Acquire wake lock“. Hành động này ngăn Android đưa CPU vào chế độ ngủ sâu. Nó giúp tránh gián đoạn kết nối SSH. Gõ lệnh: termux-wake-lock giúp Android không kill process khi tắt màn hình.
    • Chế độ tiết kiệm pin: Tắt tính năng tối ưu hóa pin (Battery Optimization) cho ứng dụng Termux. Thực hiện trong cài đặt Android của điện thoại.
    • Tự động chạy khi khởi động: Cài đặt plugin Termux:Boot. Plugin này giúp script PicoClaw tự động chạy. Nó sẽ hoạt động ngay khi điện thoại khởi động.

    Tại sao phương pháp này hiệu quả?

    Việc sử dụng điện thoại cũ làm máy chủ mang lại nhiều lợi ích kinh tế và kỹ thuật.

    1. Hiệu năng: Chip xử lý của điện thoại cũ có sức mạnh đáng kể. Ví dụ, dòng Snapdragon 600-series. Chúng thường mạnh hơn nhiều so với các bo mạch nhúng giá rẻ.
    2. Tích hợp sẵn: Điện thoại có sẵn nhiều tính năng quan trọng. Bao gồm màn hình (dùng để gỡ lỗi). Pin dự phòng hoạt động như một UPS tự nhiên khi mất điện. Kết nối Wi-Fi và 4G cũng có sẵn.
    3. Tiết kiệm: Không cần chi phí mua thêm phần cứng mới. Điều này giúp giảm đáng kể tổng chi phí dự án.

    Bạn đã nạp mã PicoClaw vào thiết bị chưa? Kiểm tra đúng command có gì ./picoclaw –help hoặc ./picoclaw -h Nó sẽ liệt kê command thực tế.

    Cách chạy đúng: ./picoclaw run –config config.json hoặc ./picoclaw –config config.json

    Kiểm tra binary có build đúng không: file picoclaw Nếu là ARM aarch64 → OK.

    Khởi động máy là PicoClaw tự chạy

    Cài Termux:Boot Nên cài từ F-Droid.

    Tắt tối ưu pin (QUAN TRỌNG)

    Vào: Settings → Battery → App optimization

    Tắt tối ưu pin cho:

    Termux

    Termux:Boot

    Nếu không tắt → Android sẽ kill process sau vài phút.

    Lệnh pkg install tmux Công cụ này được sử dụng để cài đặt trình đa nhiệm thiết bị đầu cuối tmux trên các hệ thống sử dụng pkg.

    Trong Termux, tạo thư mục boot: mkdir -p ~/.termux/boot

    Kiểm tra thư mục cài:find ~ -name start.sh

    Tạo file script:

    nano ~/.termux/boot/start-picoclaw.sh

    Dán nội dung ví dụ:

    #!/data/data/com.termux/files/usr/bin/bash

    termux-wake-lock
    cd /data/data/com.termux/files/home/picoclaw
    ./picoclaw gateway

    Thay đường dẫn đúng với thư mục bạn cài picoclaw

    Lưu lại.

    Cấp quyền thực thi: chmod +x ~/.termux/boot/start-picoclaw.sh

    Test ngay (không reboot): bash ~/.termux/boot/start-picoclaw.sh

    Thêm sleep 20 thay cho termux-wake-lock → chờ 20 giây sau khi boot (tránh crash vì hệ thống chưa sẵn sàng)

    Sau ~30 giây, mở Termux xem PicoClaw đã chạy chưa. ps aux | grep picoclaw

    dùng tmux hoặc nohup:

    Ví dụ sửa script thành:

    #!/data/data/com.termux/files/usr/bin/bash

    sleep 20
    cd /data/data/com.termux/files/home/picoclaw
    nohup ./picoclaw gateway > gateway.log 2>&1 &

    Kiểm tra hoạt động

    Reboot máy.
    Đợi 30–60 giây.
    Vào Termux: tmux ls

    Sau khi khởi động lại, mở Termux và chạy: ps -ef | grep picoclaw

    thấy tiến trình Picoclaw đang chạy. Nếu không, mở logcat:adb logcat | grep Termux

    để xem lỗi khi script chạy.

    Nếu thấy session picoclaw → OK.

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    Chat with us
    Hello! How can I help you today?