Hacker News 中文摘要

RSS订阅

破解旧款Kindle以显示公交到站时间 -- Hacking an old Kindle to display bus arrival times

文章摘要

这篇文章介绍了如何将旧款Kindle改造成实时公交到站时间显示器。作者以Kindle Touch 4代为例,详细说明了改造步骤:首先越狱设备,安装KUAL和MRPI工具,设置SSH连接,然后搭建服务器提供图像数据,最后创建KUAL应用。整个过程参考了MobileRead论坛的指南,最终实现了类似TRMNL功能但成本更低的解决方案。

文章总结

旧Kindle变身实时公交信息屏:DIY改造全记录

项目概述

作者将一台闲置的Kindle Touch(第4代/K5/KT)改造成每分钟自动更新的公交信息显示屏,总成本远低于市售同类产品(如140美元的TRMNL)。改造后的设备可通过菜单键退出仪表盘模式,已稳定运行超过一个月。

改造步骤详解

  1. 越狱Kindle

    • 参考MobileRead论坛的Kindle越狱圣经
    • 需确认设备型号和固件版本(FW),下载对应tar文件
  2. 安装必要工具

    • KUAL:自定义应用启动器
    • MRPI:用于安装第三方应用(新版Kindle可能无需)
    • 关键提示:必须按顺序先安装Hotfix补丁
    • 作者特别提醒注意Wiki页面底部的"Next Step"按钮(配图显示隐藏按钮)
  3. 配置SSH连接

    • 使用USBNetwork扩展实现USB连接SSH
    • 网络设置成功后会显示新连接设备(含配图对比启用前后状态)
  4. 搭建图像服务器

    • 创新方案:因Puppeteer导致服务器崩溃,改用wkhtmltoimage生成PNG
    • 新泽西公交数据通过GraphQL接口获取(附完整查询示例)
    • 图像适配技巧:通过eips -i获取屏幕分辨率(600x800),需处理旋转问题
    • 最终采用CSS变形方案:transform: rotate(90deg) translateX(-100px) translateY(-100px)
  5. 开发KUAL应用

    • 目录结构包含bin脚本、menu.json菜单配置
    • 核心功能:
      • 定时唤醒(rtcwake使用rtc1设备)
      • 屏幕刷新逻辑(含双次清屏解决残影)
      • 菜单键监听(通过evtest检测Home键事件)

实际效果与优化

  • 显示界面:顶部状态栏显示时间/WiFi/电量,主体为公交到站信息(含路线、目的地、剩余分钟)
  • 待改进问题
    1. 残影现象:即使双次清屏,连续运行数天后仍会出现
    2. 续航能力:目前待机5天,夜间休眠可延长至7天,目标为2周

项目资源

作者评价:这是近期完成的最有趣项目,日常使用体验远超新泽西公交的短信查询服务。未来可扩展显示日历、天气等信息,改造潜力巨大。

评论总结

以下是评论内容的总结:

  1. Kindle作为单功能设备的优势

    • 价格低廉且易于改装:"You can regularly find the Kindle Fire HD10s for ~$40"(michaelbuckbee)
    • 适合技术爱好者:"Kindles are fun devices to hack and play with"(FlyingSnake)
  2. 电池续航问题

    • 旧款Kindle电池问题:"most of them won't hold a charge!"(mkmk)
    • WiFi耗电量大:"about 1.5mA+/- with Wifi"(hex4def6)
  3. 无需越狱的替代方案

    • 直接使用浏览器:"Why Jailbreak the Kindle when you can just open its browser"(adhamsalama)
    • 开发RSS阅读器:"made Claude Code generate an RSS feed reader compatible with the Kindle browser"(adhamsalama)
  4. 类似项目的分享

    • 咖啡店应用案例:"built this exact thing as a product for coffee shops"(TZubiri)
    • 厨房显示方案:"plugged into an outlet in the kitchen, so no battery to deal with"(jonmon6691)
  5. 技术细节讨论

    • 屏幕刷新机制:"do a full screen refresh to fix up the ghosting issue"(hex4def6)
    • 功耗数据:"page changes used relatively large amounts of power"(hex4def6)