首页
/ 旧盒子如何变身打印中枢?Amlogic设备的CUPS改造指南

旧盒子如何变身打印中枢?Amlogic设备的CUPS改造指南

2026-05-04 10:23:15作者:胡唯隽

一、价值解析:为什么选择Amlogic盒子构建打印服务器

在智能家居普及的今天,将闲置的Amlogic电视盒子改造为CUPS打印服务器,不仅是一项有趣的技术实践,更是一种极具性价比的家庭服务器方案。这种低功耗打印共享方案能将原本只能播放视频的设备,转变为24小时不间断服务的网络打印中枢,实现打印机的跨设备、跨平台共享。

硬件价值再发现

Amlogic系列芯片(如S905、S912等)虽然在电视盒子领域已不算新锐,但作为轻量级服务器仍表现出色:

  • 5-10W的超低功耗,全年运行成本不足5度电
  • 足够的USB接口支持直接连接打印机
  • 原生支持千兆网络,保障打印数据传输稳定
  • 小巧机身可灵活放置在家庭任何角落

软件生态优势

amlogic-s9xxx-armbian项目提供的系统镜像为这一改造提供了坚实基础:

  • 完整的Debian/Ubuntu生态,支持CUPS等标准打印服务
  • 持续更新的内核支持,保障硬件兼容性
  • 丰富的社区文档和教程资源

二、准备工作:从零开始的环境搭建

硬件兼容性自测

在开始改造前,先确认你的设备是否满足基本要求:

  1. 设备型号确认

    • 查看设备底部标签或通过原系统信息界面获取型号
    • 参考项目documents目录下的兼容性列表确认支持情况
  2. 硬件接口检查

    • 至少需要1个空闲USB端口(用于连接打印机)
    • 建议使用有线网络连接(比Wi-Fi更稳定)
    • 确保电源适配器输出稳定(推荐2A以上规格)
  3. 存储需求评估

    • 系统镜像至少需要8GB存储空间
    • 建议使用Class 10及以上的高速MicroSD卡或eMMC存储

系统镜像获取与刷写

💡 提示:选择镜像时需匹配设备型号和内核版本,建议优先使用最新稳定版。

  1. 获取Armbian系统镜像

    • 从项目编译输出目录获取对应设备的镜像文件
    • 或参考compile-kernel/README.md文档自行编译定制镜像
  2. 准备刷写工具

    # 安装必要的镜像写入工具
    sudo apt install -y balena-etcher-electron
    
  3. 写入镜像到存储介质

    • 使用Etcher选择下载的镜像文件和目标存储设备
    • 等待写入完成后安全弹出存储设备

三、核心部署:CUPS打印服务器搭建全流程

基础系统配置

🔧 实操:首次启动系统后,完成基础配置以确保环境就绪。

# 更新系统软件包索引
sudo apt update

# 升级系统组件到最新版本
sudo apt upgrade -y

# 安装基础依赖工具
sudo apt install -y curl wget vim network-manager

预期结果:系统无错误提示,所有包成功更新,基础网络服务正常运行。

CUPS服务安装与配置

CUPS(Common UNIX Printing System)是实现网络打印共享的核心组件,我们需要对其进行深度配置。

  1. 安装CUPS及相关驱动
# 安装CUPS打印服务核心组件
sudo apt install -y cups

# 安装通用打印机驱动支持包
sudo apt install -y printer-driver-all printer-driver-cups-pdf foomatic-db
  1. 配置网络访问权限
# 备份原始配置文件
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak

# 使用sed命令修改配置以允许网络访问
sudo sed -i 's/Listen localhost:631/Listen 0.0.0.0:631/g' /etc/cups/cupsd.conf
sudo sed -i '/<Location \/>/a Allow all' /etc/cups/cupsd.conf
sudo sed -i '/<Location \/admin>/a Allow all' /etc/cups/cupsd.conf
sudo sed -i '/<Location \/admin\/conf>/a Allow all' /etc/cups/cupsd.conf
  1. 重启服务并设置开机自启
# 重启CUPS服务使配置生效
sudo systemctl restart cups

# 设置CUPS服务开机自动启动
sudo systemctl enable cups

预期结果:CUPS服务启动无错误,通过systemctl status cups命令可看到服务处于active状态。

打印机连接与管理

🔧 实操:根据打印机类型选择合适的连接方式并完成配置。

  1. USB打印机连接

    • 将打印机通过USB线连接到Amlogic盒子
    • 执行以下命令确认设备被识别:
    # 查看USB设备列表,确认打印机是否被识别
    lsusb
    
    # 查看CUPS检测到的打印机
    lpinfo -v
    
  2. 通过Web界面添加打印机

    • 在浏览器中访问 http://[设备IP地址]:631
    • 点击"Administration" → "Add Printer"
    • 选择连接的打印机设备并按照向导完成驱动安装

预期结果:打印机成功添加到CUPS系统,在"Printers"页面显示为"Idle"状态。

四、拓展应用:构建完整的打印服务生态

多客户端连接配置

不同操作系统连接打印服务器的方法略有差异,以下是主要平台的配置指南:

Windows系统连接

  1. 打开"控制面板" → "设备和打印机"
  2. 点击"添加打印机" → "添加网络、无线或Bluetooth打印机"
  3. 选择"我需要的打印机不在列表中"
  4. 选择"通过TCP/IP地址或主机名添加打印机"
  5. 输入打印服务器IP地址,端口保持默认631
  6. 选择"通用网络卡"作为设备类型
  7. 选择已安装的打印机驱动或从制造商网站下载

macOS系统连接

  1. 打开"系统偏好设置" → "打印机与扫描仪"
  2. 点击左下角"+"按钮添加打印机
  3. 切换到"IP"标签页
  4. 地址栏输入 http://[设备IP]:631/printers/[打印机名称]
  5. 协议选择"IPP"
  6. 驱动选择对应型号或通用PostScript驱动

性能监控看板搭建

为了更好地管理打印服务器,我们可以搭建一个简单的性能监控页面:

  1. 安装监控工具
# 安装系统监控工具
sudo apt install -y htop iotop iftop

# 安装轻量级Web服务器
sudo apt install -y nginx
  1. 创建监控脚本
# 创建系统状态监控脚本
cat > ~/print-server-monitor.sh << 'EOF'
#!/bin/bash
echo "CPU使用率: $(top -b -n 1 | grep "Cpu(s)" | awk '{print $2 + $4}')%"
echo "内存使用率: $(free | grep Mem | awk '{print $3/$2 * 100.0}')%"
echo "活跃打印任务: $(lpq | grep -v 'is empty' | wc -l)"
EOF

# 添加执行权限
chmod +x ~/print-server-monitor.sh
  1. 配置Nginx显示监控信息
# 创建Nginx配置
sudo tee /etc/nginx/sites-available/print-monitor << 'EOF'
server {
    listen 8080;
    server_name _;
    root /var/www/print-monitor;
    index index.html;
    
    location /status {
        default_type text/plain;
        content_by_lua_block {
            local handle = io.popen("/home/[你的用户名]/print-server-monitor.sh")
            local output = handle:read("*a")
            handle:close()
            ngx.say(output)
        }
    }
}
EOF

# 启用站点配置
sudo ln -s /etc/nginx/sites-available/print-monitor /etc/nginx/sites-enabled/
sudo systemctl restart nginx

预期结果:访问 http://[设备IP]:8080/status 可以看到当前服务器状态信息。

🔍 进阶功能:配置Bonjour服务实现自动发现

为了让局域网内的苹果设备自动发现打印机,我们可以配置Avahi服务:

# 安装Avahi服务
sudo apt install -y avahi-daemon avahi-discover

# 创建CUPS服务的Avahi配置
sudo tee /etc/avahi/services/cups.service << 'EOF'
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_ipp._tcp</type>
    <port>631</port>
    <txt-record>txtvers=1</txt-record>
    <txt-record>qtotal=1</txt-record>
    <txt-record>rp=printers/[你的打印机名称]</txt-record>
    <txt-record>ty=[你的打印机型号]</txt-record>
    <txt-record>adminurl=http://%h:631/printers/[你的打印机名称]</txt-record>
    <txt-record>note=Amlogic CUPS Print Server</txt-record>
  </service>
</service-group>
EOF

# 重启Avahi服务
sudo systemctl restart avahi-daemon

预期结果:macOS和iOS设备可以在打印机列表中直接发现并添加此打印机。

五、问题解决:故障诊断决策树

打印机无法被识别

  1. 检查物理连接

    • 尝试更换USB线缆和端口
    • 确认打印机已开机并处于就绪状态
  2. 检查设备识别情况

    # 查看USB设备连接状态
    lsusb | grep -i printer
    
    # 检查内核设备日志
    dmesg | grep -i usb
    
  3. 重新加载USB驱动

    # 重新加载USB内核模块
    sudo rmmod usbhid
    sudo modprobe usbhid
    

打印任务提交后无响应

  1. 检查打印队列状态

    # 查看当前打印队列
    lpq
    
    # 清除打印队列
    lprm -
    
  2. 检查CUPS服务状态

    # 查看CUPS服务详细状态
    sudo systemctl status cups
    
    # 查看CUPS错误日志
    sudo tail -n 50 /var/log/cups/error_log
    
  3. 验证打印机驱动配置

    • 访问CUPS管理界面
    • 检查打印机配置中的"Make and Model"是否正确
    • 尝试更换为通用驱动测试

网络访问问题

  1. 检查防火墙设置

    # 查看开放端口情况
    sudo ufw status
    
    # 如未开放631端口,执行以下命令
    sudo ufw allow 631/tcp
    
  2. 验证网络连接

    # 检查网络接口状态
    ip addr show
    
    # 测试本地网络连通性
    ping -c 4 [网关IP]
    
  3. 确认CUPS监听地址

    # 检查CUPS服务监听状态
    sudo netstat -tulpn | grep cupsd
    

结语:设备再利用的无限可能

将Amlogic电视盒子改造为CUPS打印服务器,不仅赋予了旧设备新的生命,也为家庭或小型办公环境提供了经济高效的打印解决方案。这个项目展示了开源软件与硬件再利用的完美结合,体现了"物尽其用"的环保理念。

除了打印服务器,基于amlogic-s9xxx-armbian系统的Amlogic盒子还可以探索更多应用场景:

  • 家庭媒体中心
  • 轻量级NAS存储
  • IoT设备控制中枢
  • 智能家居服务器

随着技术的不断发展,这些曾经被定义为"消费电子垃圾"的设备,正通过开源社区的力量获得新生。通过不断学习和实践,我们不仅能解决实际问题,还能培养系统思维和创新能力,在技术探索的道路上不断前进。

官方文档:compile-kernel/README.md 系统配置指南:documents/armbian_software.md

登录后查看全文
热门项目推荐
相关项目推荐