Hướng dẫn cài đặt Klipper trên điện thoại Android cũ
Việc tái sử dụng điện thoại Android cũ để chạy Klipper đã trở thành xu hướng phổ biến trong cộng đồng in 3D. Điện thoại Android với màn hình cảm ứng tích hợp và khả năng xử lý mạnh mẽ có thể thay thế hoàn toàn Raspberry Pi, tiết kiệm chi phí và tận dụng thiết bị cũ một cách hiệu quả.
Yêu cầu hệ thống
Phần cứng tối thiểu
- RAM: Tối thiểu 2GB, khuyến nghị 3GB trở lên
- Bộ nhớ trong: Tối thiểu 16GB, khuyến nghị 32GB
- Processor: ARM 32-bit hoặc 64-bit (kiểm tra trong About Phone)
- Android version: 7.0 trở lên
- USB OTG: Hỗ trợ USB On-The-Go
Phụ kiện cần thiết
- Cáp OTG + Charging: Cho phép sạc và kết nối USB đồng thời
- Thẻ SD/USB: Để flash firmware Klipper lên mainboard
- Nguồn sạc: Giữ điện thoại luôn được cấp nguồn
- Mainboard đã flash Klipper: Cần chuẩn bị trước
Kiến thức cơ bản
- Hiểu biết cơ bản về Linux command line
- Khái niệm về Klipper và printer.cfg
- Kỹ năng SSH và file management
Phương pháp 1: Octo4a - Dễ nhất cho người mới
🟢 Độ khó: 1/5 - Dành cho người mới bắt đầu
Ưu điểm
- Không cần quyền root - Quan trọng nhất cho người mới
- Thiết lập đơn giản chỉ với vài click
- Tích hợp trình điều khiển USB tự động
- Giao diện thân thiện, không cần dòng lệnh
- Cộng đồng hỗ trợ tốt
Yêu cầu
- Kiến thức: Cơ bản về sử dụng điện thoại
- Thời gian: 30-60 phút
- Quyền root: KHÔNG cần
- Kỹ năng Linux: Không cần
Bước 1: Cài đặt Octo4a
# Tải tệp APK từ GitHub releases
https://github.com/feelfreelinux/octo4a/releases
# Trong Cài đặt điện thoại:
# Bảo mật → Cài đặt ứng dụng không xác định → Cho phép trình duyệt cài APK
# Mở ứng dụng và click "Install OctoPrint"
# Chờ quá trình tự động hoàn thành (5-10 phút)Bước 2: Thiết lập hỗ trợ Klipper
# Trong ứng dụng Octo4a:
# Cài đặt → Click "Install plugin extras"
# Cài đặt → Bật "Remote terminal"
# Mở trình duyệt và truy cập: http://[IP_điện_thoại]:5002
# Đăng nhập: root
# Mật khẩu: octoprint
# Chạy lệnh thiết lập tự động:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/feelfreelinux/octo4a/master/scripts/setup-klipper.sh)"Bước 3: Cài đặt plugin OctoKlipper
# Truy cập OctoPrint: http://[IP_điện_thoại]:5000
# Cài đặt (biểu tượng cờ lê) → Quản lý Plugin → Tải thêm
# Tìm "OctoKlipper" → Cài đặt
# Khởi động lại máy chủ khi được yêu cầuBước 4: Cấu hình cơ bản
# Tải tệp printer.cfg từ máy tính lên điện thoại
# Sửa phần [mcu] thành:
[mcu]
serial: /dev/ttyOcto4a
# Lưu tệp và khởi động lại KlipperLưu ý cho người mới
- Đây là phương pháp dễ nhất và an toàn nhất
- Không làm hỏng điện thoại vì không cần quyền root
- Nếu gặp lỗi, chỉ cần gỡ ứng dụng và cài lại
- Phù hợp cho những ai chưa từng dùng Linux
Phương pháp 2: Linux Deploy + KIAUH - Trung bình
🟡 Độ khó: 3/5 - Cần kinh nghiệm cơ bản về Linux
Ưu điểm
- Sử dụng mã lệnh KIAUH phổ biến và đáng tin cậy
- Hỗ trợ đầy đủ Moonraker, Mainsail/Fluidd, KlipperScreen
- Khả năng tùy chỉnh cao
- Cộng đồng hỗ trợ lớn
- Hiệu năng tốt hơn Octo4a
Yêu cầu
- Kiến thức: Cơ bản về dòng lệnh Linux, SSH
- Thời gian: 2-4 giờ
- Quyền root: BẮT BUỘC phải có
- Kỹ năng: Biết sử dụng terminal, chỉnh sửa tệp văn bản
Chuẩn bị - Root điện thoại
⚠️ QUAN TRỌNG: Cần root điện thoại trước khi bắt đầu
# Cách root phụ thuộc vào từng mẫu điện thoại
# Tìm kiếm: "root [tên điện thoại] [phiên bản Android]"
# Các công cụ phổ biến: Magisk, KingRoot, SuperSU
# Kiểm tra root thành công:
# Cài ứng dụng "Root Checker" từ Play StoreCài đặt ứng dụng cần thiết
# Danh sách ứng dụng cần tải:
- Linux Deploy: https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy
- XServer XSDL: https://play.google.com/store/apps/details?id=x.org.server
- Octo4a: https://github.com/feelfreelinux/octo4a/releases (cho trình điều khiển USB)Thiết lập vùng chứa Linux Deploy
Cấu hình vùng chứa Debian
Trong Linux Deploy, tạo vùng chứa mới với thiết lập sau:
Khởi động:
- Hệ điều hành:
Debian (buster) - Loại cài đặt:
Folder⚠️ KHÔNG chọn File - Đường dẫn cài đặt:
/data/local/debian - Tên người dùng:
android⚠️ Không đổi tên này
Khởi tạo:
- Bật:
có - Hệ thống khởi tạo:
sysv
SSH:
- Bật:
có
Giao diện đồ họa:
- Bật:
có - Hệ thống con đồ họa:
X11 - Môi trường màn hình:
XTerm
Cài đặt KIAUH và Klipper
Kết nối SSH và cài đặt Git
# Tìm địa chỉ IP của điện thoại trong ứng dụng Linux Deploy (ở trên cùng)
# Sử dụng ứng dụng SSH client hoặc máy tính:
ssh android@[DIA_CHI_IP]
# Cài đặt Git
sudo apt update
sudo apt install git
# Tải KIAUH
git clone https://github.com/th33xitus/kiauh.gitChạy mã lệnh KIAUH
cd kiauh
./kiauh.sh
# Trong menu KIAUH, cài đặt theo thứ tự:
# 1. Klipper
# 2. Moonraker
# 3. Mainsail hoặc Fluidd
# 4. KlipperScreen (nếu muốn)Thiết lập kết nối nối tiếp USB
Sử dụng Octo4a làm trình điều khiển USB
# Cài đặt Octo4a và cho phép quyền truy cập USB
# Trong Linux Deploy, thêm điểm gắn kết:
# MOUNTS → Bật: có → Thêm điểm gắn kết:
# Nguồn: /data/data/com.octo4a/files
# Đích: /home/android/octo4a
# Phân quyền cho thiết bị nối tiếp
sudo chmod 777 /home/android/octo4a/serialpipeCài đặt mã lệnh khởi tạo
# Tải các mã lệnh khởi động tự động
sudo wget -O /etc/default/klipper https://raw.githubusercontent.com/d4rk50ul1/klipper-on-android/main/scripts/etc_default_klipper
sudo wget -O /etc/init.d/klipper https://raw.githubusercontent.com/d4rk50ul1/klipper-on-android/main/scripts/etc_init.d_klipper
sudo wget -O /etc/default/moonraker https://raw.githubusercontent.com/d4rk50ul1/klipper-on-android/main/scripts/etc_default_moonraker
sudo wget -O /etc/init.d/moonraker https://raw.githubusercontent.com/d4rk50ul1/klipper-on-android/main/scripts/etc_init.d_moonraker
# Phân quyền thực thi
sudo chmod +x /etc/init.d/klipper
sudo chmod +x /etc/init.d/moonraker
# Đăng ký dịch vụ
sudo update-rc.d klipper defaults
sudo update-rc.d moonraker defaultsKhởi động và kiểm tra
# Dừng vùng chứa Debian và khởi động XServer XSDL
# Trong XServer: Thay đổi cấu hình thiết bị → Chế độ mô phỏng chuột → Màn hình
# Khởi động lại vùng chứa
# KlipperScreen sẽ xuất hiện trong XServer
# Kiểm tra dịch vụ
sudo service klipper status
sudo service moonraker statusLưu ý cho người dùng trung bình
- Cần kiên nhẫn: Quá trình có thể mất vài giờ
- Sao lưu: Nên sao lưu điện thoại trước khi root
- Tài liệu: Đọc kỹ hướng dẫn KIAUH trước khi bắt đầu
- Cộng đồng: Tham gia các nhóm Klipper để được hỗ trợ
Phương pháp 3: KlipperPhonesLinux - Khó nhất
🔴 Độ khó: 5/5 - Chỉ dành cho chuyên gia và nhà phát triển

Đặc điểm
- Linux Ubuntu 20.04 gốc chạy trực tiếp trên điện thoại
- Hiệu năng cao nhất có thể đạt được
- Hỗ trợ CAN bus và các tính năng cao cấp
- Yêu cầu kỹ thuật rất cao
Yêu cầu
- Kiến thức: Chuyên gia về Linux, phát triển Android, bộ nạp khởi động
- Thời gian: 1-2 ngày
- Kỹ năng: Fastboot, ADB, biên dịch kernel, mở khóa bootloader
- Rủi ro: Có thể làm hỏng điện thoại vĩnh viễn
Cảnh báo
# PHƯƠNG PHÁP NÀY CỰC KỲ NGUY HIỂM
# Có thể làm hỏng điện thoại không thể phục hồi
# Chỉ thực hiện nếu bạn:
# - Là nhà phát triển có kinh nghiệm
# - Hiểu rõ về bootloader và fastboot
# - Có điện thoại dự phòng
# - Sẵn sàng chấp nhận rủi ro mất thiết bịQuy trình cơ bản (chỉ mang tính tham khảo)
# 1. Mở khóa bootloader (VÔ HIỆU BẢO HÀNH)
fastboot oem unlock
# 2. Tải recovery tùy chỉnh và Linux image
# Dự án: https://github.com/umeiko/KlipperPhonesLinux
# 3. Flash recovery tùy chỉnh
fastboot flash recovery recovery.img
# 4. Khởi động vào chế độ recovery và flash Linux
fastboot boot recovery.img
# 5. Trong recovery, định dạng và flash Linux image
# (Quy trình chi tiết phụ thuộc vào từng thiết bị)
# 6. Sau khi khởi động vào Linux:
sudo apt update
sudo apt install avrdude gcc-avr binutils-avr avr-libc stm32flash
# 7. Cài đặt Klipper theo hướng dẫn chính thứcCấu hình giao diện Fluidd
# Truy cập Fluidd tại địa chỉ IP của điện thoại
# Tải lên tệp printer.cfg của bo mạch chính
# Thêm [include fluidd.cfg] vào cuối tệpLưu ý quan trọng
- Chỉ dành cho người có kinh nghiệm
- Sao lưu toàn bộ trước khi bắt đầu
- Nghiên cứu kỹ khả năng tương thích trước khi bắt đầu
- Chuẩn bị phương án khôi phục nếu có sự cố
Khắc phục sự cố thường gặp
Kiểm tra kết nối nối tiếp
# Kiểm tra thiết bị nối tiếp khi cắm/rút máy in:
ls /dev/tty*
# Thường là:
/dev/ttyACM0 # hoặc
/dev/ttyUSB0 # hoặc
/home/android/octo4a/serialpipe # với Octo4aThử nghiệm cơ bản
# Kiểm tra trạng thái Klipper
curl http://[ip_dien_thoai]/printer/info
# Thử dừng khẩn cấp
curl -X POST http://[ip_dien_thoai]/printer/emergency_stop
# Xem nhiệt độ
curl http://[ip_dien_thoai]/printer/objects/query?heater_bed&extruderLỗi từ chối quyền truy cập
# Phân quyền cho thiết bị nối tiếp:
sudo chmod 777 /dev/ttyACM0
sudo chmod 777 /tmp/printer
# Hoặc thêm người dùng vào nhóm:
sudo usermod -a -G dialout androidLỗi kết nối Moonraker
# Sửa tệp /etc/nginx/nginx.conf:
# Đổi "user www-data;" thành "user android;"
# Thêm vào moonraker.conf:
[machine]
validate_service: False
validate_config: False
provider: noneLỗi hết thời gian mạng
# Tắt chế độ ngủ sâu:
dumpsys deviceidle disable
# Sử dụng ứng dụng Wake Lock để giữ CPU hoạt độngLỗi kết nối firmware Klipper
# Kiểm tra tệp nhật ký:
tail -f /tmp/klippy.log
tail -f /home/android/klipper_logs/klippy.log
# Lỗi thường gặp:
- Sai tốc độ baud trong printer.cfg
- Đường dẫn thiết bị nối tiếp không đúng
- Firmware chưa được flash đúng cáchLỗi thiếu dung lượng lưu trữ
# Dọn dẹp tệp nhật ký định kỳ:
sudo find /tmp -name "*.log" -delete
sudo find /home/android/klipper_logs -name "*.log" -mtime +7 -delete
# Kiểm tra dung lượng:
df -hKết luận
Việc cài đặt Klipper trên điện thoại Android cũ mang lại nhiều lợi ích:
Ưu điểm
- Tiết kiệm chi phí: Tái sử dụng thiết bị cũ thay vì mua Raspberry Pi
- Màn hình tích hợp: Không cần mua màn hình riêng cho KlipperScreen
- Hiệu năng cao: CPU điện thoại thường mạnh hơn Pi
- Tính di động: Dễ dàng di chuyển và thiết lập
Nhược điểm
- Độ phức tạp: Yêu cầu kiến thức Linux và khắc phục sự cố
- Tương thích: Không phải điện thoại nào cũng hỗ trợ tốt
- Yêu cầu root: Một số phương pháp cần quyền root
- Tuổi thọ pin: Cần sạc liên tục
Việc chọn phương pháp phù hợp phụ thuộc vào trình độ kỹ thuật, điện thoại hiện có và mục tiêu sử dụng. Với hướng dẫn chi tiết này, bạn có thể biến điện thoại Android cũ thành một máy chủ Klipper mạnh mẽ và tiết kiệm.