跳到正文
Hacker News· TimVasil·· 8 天前AI 评分12

Show HN:LumiBridge —— 用 448x64 LED 显示屏配合 SDR 追踪船舶

Show HN: LumiBridge – 448x64 LED display with SDR ship tracking

AI 导读

LumiBridge 是一个个人硬件项目,用七块 64×64 LED 面板(共 448×64 像素)搭配 Raspberry Pi,通过软件定义无线电和 VHF 天线接收船舶 AIS 广播,并接入在线 ADS-B 航班数据。它支持 30 fps、24 位色彩,内置 40 多个 Python 插件应用,涵盖船舶追踪、鸟类观测、图书榜单和 Ring 摄像头快照等,可通过遥控器、浏览器或语音交互。

正文 · AI 翻译

← Tim Vasil

LumiBridge

功能

这是一个个人硬件 + 软件项目,灵感来自 TheFlightWall,目标是从互联网上抓取尽可能多有趣的实时数据,展示在我客厅壁炉上方的一块宽幅 LED 显示屏上。它始于一个简单的问题:“圣地亚哥湾里经过的那艘船是什么?”但现在它能回答各种各样的问题,包括“今天什么时候最适合遛狗?”和“最近热门的流媒体节目有哪些?”

我用七块 64 × 64 的 LED 面板搭建了这块显示屏,由一台 Raspberry Pi 驱动。这样我就有 448 × 64 像素可用,对于 40 多个应用来说,这是一个有趣的限制(以及宽高比)! 尽管如此,我还是能够利用 30 fps 的帧率(在 100+ Hz 的面板刷新率上)和完整的 24 位色彩,制作出一些相当漂亮的视觉效果和动画,包括可缩放的地图图像以及棒球比赛直播中球员的照片。

LumiBridge 启动时的开场启动画面,带声音。

The Home launcher in icon mode: a row of app icons with names beneathThe Home launcher in live mode: Autoplay, a ship, drive times, site visitors, Chats, CPI, and the grid mix

主屏幕在应用图标和实时更新仪表盘之间交替显示。
  • 让应用轮流上场。 自动播放会优先处理时效性强的更新,比如即将到站的电车或驶入海湾的船只。遥控器闲置后它会恢复播放,因此显示屏基本可以自己照看自己。
  • 使用遥控器、浏览器或语音。 媒体遥控器负责日常导航。网页界面增加了实时预览和配置工具,而语音到语音 AI 让我可以提问或告诉显示屏要显示什么。
  • 同时查看多个应用。 主屏幕在应用图标和由小型实时预览组成的仪表盘之间切换。
  • 让客厅保持舒适。 亮度跟随当地日出和日落变化,分为白天、黄昏和夜晚三个级别。定时开关机使用渐变淡入淡出。
  • 直接接收船舶数据。 软件定义无线电和 VHF 天线接收海湾中船只的 AIS 广播。飞机位置来自在线 ADS-B 数据源。
  • 为下一个想法留出空间。 每个应用都是一个带有自己设置的 Python 插件。面板映射与应用分离,模拟显示屏让我可以在没有硬件的情况下用笔记本电脑开发。

照片

The LumiBridge display in its frame on a sideboard beneath an abstract painting, showing a baseball line score with the diamond and the pitcher and batter

装好边框、准备安装的 LumiBridge,显示着一场 Padres 比赛的逐球解说,以及实时预测市场中的获胜赔率。

The seven panels laid face down in a row on a glass dining table, ribbon cables and red and black power leads between them, with the power supply, fuse block and a laptop at the far end

在餐桌上进行的早期组装:将显示器菊花链连接,并考虑电源连接。

The back of the frame during the build: panels on a rail, red and black power pairs and grey ribbon cables, the power supply at the top

从背面看,接近搭建完成时:面板固定在钢轨上,钢轨固定在框架上。

Looking along the back of the frame: ribbon cables zip-tied along the rail down to the Raspberry Pi

Lumi 接近完成时的特写:所有部件都固定在框架内。

应用

选择一个应用,查看截图、功能、可配置性和数据源。Home 和 Autoplay 排在最前;其余按字母顺序排列。使用方向键在应用之间浏览。

Home

浏览应用或一眼查看它们的最新更新。

Home on the display, view 1

功能

设置与配置

  • 实时仪表盘开或关;选择会被记住
  • 图标顺序,通过用遥控器移动图块来设置并保存到配置
  • 包含在 Autoplay 中的应用,通过主屏幕上的 Pause 或 Auto 标签页中选择
  • 启动时的开场画面(config.yaml)

Autoplay

让显示屏决定接下来值得展示什么。

Autoplay on the display, view 1

功能

  • 应用报告一个从 0 到 1 的优先级。即将到站的电车或驶入海湾的船只可以优先于时效性较弱的内容。
  • 紧急内容可以在当前应用达到最短屏幕时间后中断。边缘的红色闪烁会吸引对即将发生事件的注意。
  • 从主页开始自动播放,或按住 Home 开始。它也可以在启动时或遥控器闲置后开始;没有及时更新的应用会在更高优先级的内容之间轮流播放。

设置与配置

  • 轮播中包含的应用
  • 每个应用的默认和最长时间
  • 紧急应用可以中断前的最少秒数,以及中断阈值(0-1)
  • 应用之间的淡入淡出,以秒为单位(0 表示硬切)
  • 自动播放自行开始前的闲置分钟数(0 = 从不)
  • 服务器启动时是否自动进入自动播放
  • 当前应用优先级和显示历史

鸟类

附近最近的鸟类目击,包括不寻常的。

Birds on the display, view 1

功能

  • 每次目击包括照片、物种名称、数量、时间和地点,每页最多四个物种。
  • 稀有目击会被标记,未经证实的报告会单独标注。优先显示它们,或将显示限制为稀有目击。
  • 在显示器附近或其他位置搜索。每个物种只出现一次,即使它有多个报告。

设置与配置

  • 搜索位置:显示器、地名或美国邮政编码
  • 搜索半径(公里)和回溯天数
  • 每页列数:一张全宽卡片,或每页两到四张
  • 每页时间
  • 刷新间隔分钟数
  • 显示照片、稀有优先或仅稀有
  • 字体
  • 通过环境变量或 config.yaml 配置 eBird API 密钥

数据源

  • Cornell Lab eBirdAPI 附近目击和稀有报告;需要 API 密钥。
  • WikipediaAPI 来自 Wikipedia 文章的物种照片。

书籍

来自《纽约时报》和 Apple Books 的畅销书和新书。

Books on the display, view 1

功能

  • 浏览小说、非小说、有声书和免费书籍,包含封面和榜单排名。
  • 打开书籍详情可查看作者、类型、评分和摘要。同时出现在两个榜单上的书籍显示为一条记录。
  • 按 Pause 获取链接到该书籍的二维码。

设置与配置

  • 哪些卡片运行以及运行顺序(列表、每种类型的榜首和新书)
  • Apple 榜单的地区
  • 每个列表的书籍数量
  • 新书的年龄限制
  • 每个视图的时间
  • 刷新间隔分钟数
  • 字体
  • 通过环境变量或 config.yaml 配置 NYT Books API 密钥

数据源

  • Apple Books 榜单RSS 付费书籍、免费书籍和有声书的榜单。
  • iTunes 查找和搜索API 书籍详情和搜索结果。
  • NYT BooksAPI 畅销书榜单;需要 API 密钥。没有密钥时 Apple 榜单提供后备。

摄像头

来自 Ring 摄像头的快照,一次一个或以网格显示。

截图即将推出

功能

  • 通过缓慢平移和淡入淡出轮播摄像头,或同时显示多个。
  • 应用在屏幕上时快照会刷新。报告为离线的摄像头会被省略。
  • 这些是静态图像,不是实时视频流。

设置与配置

  • 要显示哪些摄像头,或全部显示
  • 布局:全屏轮播一次一个,或网格同时显示所有摄像头
  • 快照刷新间隔(秒)
  • 显示或隐藏摄像头名称
  • 每个摄像头的秒数、淡入淡出样式(交叉淡入淡出、通过黑色、通过白色)和淡入淡出秒数
  • Ring Partner API 凭据和引导式账户关联命令
  • 列出每个摄像头状态和最后快照的诊断信息

数据源

  • Ring Partner APIAPI 通过关联的 Ring 账户获取摄像头快照。

汽车

Tesla 的电池、续航和充电状态。

截图即将推出

功能

  • 每辆车显示其电池电量、续航、位置以及是在充电、行驶还是停放。
  • 其他细节包括温度、里程、锁车状态和哨兵模式。
  • 休眠的车辆保留最后一次读数,标记为休眠。唤醒它们以获取最新数据是可选的,因为这样做会消耗电池。

设置与配置

  • 关联或取消关联 Tesla 账户
  • 发现车辆并选择要显示哪些
  • 单位:英里或公里
  • 卡片翻页时每辆车的秒数
  • 轮询间隔(秒)
  • 唤醒休眠车辆以获取更新数据(默认关闭)
  • 家庭位置和家庭半径(英里)
  • 诊断:每辆车的状态、电池和上次轮询

数据来源

  • Tesla Fleet APIAPI 通过关联的 Tesla 账户获取车辆读数。
  • Tesla compositor非官方 来自 Tesla 配置器所用未公开服务的车辆图像。

聊天

提问或告诉 LumiBridge 要显示什么。

Chats on the display

功能

设置与配置

  • Gemini Live 模型
  • 语音,或模型默认值
  • 允许在 Lumi 说话时打断,适用于耳机或回声消除麦克风
  • 人设:一段关于家庭、社区或语气风格的描述
  • 语音命令切换应用后麦克风保持开启的时长
  • 对话进入休眠前的空闲时间
  • 在实时对话中输入一行文字,复制或清除转录内容
  • 通过环境变量或 config.yaml 提供 Gemini API 密钥

数据来源

  • Google Gemini LiveAPI 语音对话和显示命令;需要 Gemini API 密钥。
  • 麦克风和扬声器设备 Pi 上的音频输入和输出,连接到 Gemini 语音会话。

时钟

世界时钟以及显示哪里是白天或夜晚的地图。

Clocks on the display, view 1

功能

  • 将保存的地点显示为模拟或数字时钟,并显示日出、日落和当地天空颜色。
  • 世界地图为每个城市标注其时间,并平移以包含无法同时显示的地点。
  • 时区考虑夏令时。日出和日落为本地计算。

设置与配置

  • 地点:搜索城市以添加,拖动以重新排序,并编辑每个标题
  • 外观:经典时钟并排显示,或世界地图
  • 样式:模拟、数字(12 小时制)或 24 小时制
  • 显示秒数(连续走动的指针或秒数数字)
  • 字体

数据来源

  • 本地计算本地 系统时间、时区数据以及本地计算的日出和日落,附带内置世界地图。
  • Open-Meteo 地理编码API 用于地名搜索的坐标,无需 API 密钥。

提交

GitHub 贡献和最近的仓库活动。

Commits on the display

功能

  • 按年份浏览贡献图,包含总数以及当前和最长连续贡献。
  • 活动流包括提交、拉取请求、议题、评论和发布,以及关注用户和关注仓库的活动。
  • 显示你自己的账户或其他用户的公开活动。

设置与配置

  • GitHub 用户名,或留空以使用令牌自己的账户
  • 环境变量或配置中的 GitHub 个人访问令牌
  • 选择和重新排序卡片(热力图、活动)
  • 每张卡片的秒数
  • 刷新间隔(分钟)
  • 显示字体
  • 显示获取状态的诊断

数据来源

  • GitHub GraphQLAPI 贡献历史;需要个人访问令牌。
  • GitHub REST 事件API 仓库和用户活动,使用同一令牌。

船只

圣地亚哥湾周围的船只和飞机。

Crafts on the display, view 1

功能

  • 船只卡片显示名称、旗帜、航向、速度和船只类型。飞机卡片增加高度、飞机类型和航线。
  • 地图显示周围的交通,然后放大到单个船只和飞机。
  • 本地 AIS 接收可与在线船舶数据源结合使用。飞机位置来自在线 ADS-B 数据源;配置的警报区域可识别值得中断提醒的交通目标。

设置与配置

  • 船舶、飞机或两者
  • 模式:卡片、地图概览或混合(交替),以及地图样式
  • 每艘船或每架飞机的显示时间,警报使用单独的时长
  • 飞机的中心点和半径;最低高度;船舶被视为移动的最低节速
  • 船舶和飞机的警报区域
  • 概览、特写和混合切换秒数,以及特写地图缩放级别
  • 船舶和飞机读数的刷新间隔和时效限制
  • config.yaml 中的船舶跟踪边界和 API 密钥;标签页上显示数据源和来源健康状况

数据源

  • AIS-Catcher无线电 从无线电和 VHF 天线解码的船舶位置。
  • aisstream.ioAPI 来自其他接收器的可选 AIS 数据;需要 API 密钥。
  • adsb.lolAPI 来自社区 ADS-B 网络的飞机位置。
  • 航线和飞机查询非官方 航线信息来自 adsb.lol 的 VRS 数据,飞机类型来自 adsbdb.com。
  • 地图瓦片非官方 根据所选样式使用 Esri World Imagery、CARTO、OpenStreetMap 或 OpenTopoMap。

电流

加利福尼亚州的电力供应、需求和价格。

Currents on the display

功能

  • 查看发电结构,包括可再生能源占比,以及流向电池或外州的电力。
  • 图表显示全天需求和发电情况,以及所选定价地点的预测和电价。
  • 电网警报会显示在所有视图中,较旧的数据会标记为过期。

设置与配置

  • 显示哪些卡片(结构、今日、价格)及其顺序,可拖动重新排序
  • 定价节点:NP15、ZP26 或 SP15 枢纽,或 PG&E、SCE 或 SDG&E 负荷区
  • 每张卡片的秒数
  • 刷新间隔(分钟)
  • 字体
  • 显示最新读数、需求、可再生能源占比和价格的诊断信息

数据源

  • CAISO Today’s Outlook非官方 来自 CAISO 网站背后文件的发电、需求和电网状态。
  • CAISO OASISAPI 所选定价地点的电价。

驾驶

到已保存目的地的驾驶时间和附近边境口岸的等待时间。

Drives on the display, view 1

功能

  • 查看双向的行程时间,并将拥堵情况与当天该时段的典型行程进行比较。
  • 查看稍后的出发时间,了解历史交通状况可能如何影响驾驶。
  • 附近的美国边境口岸显示车辆和行人等待时间。自动播放可以优先显示比平时耗时更长的路线。

设置与配置

  • 按地址或地名设置目的地,拖动排序,每个目的地有标签和自己的起点
  • 要预测的出发时间,以及预测保持多久后恢复为当前时间
  • 每页行数和每页秒数
  • 屏幕亮起、空闲和预测时的刷新分钟数,以及每日请求预算
  • 比平时慢多少分钟才加入自动播放,或始终加入
  • 边境等待时间开或关、半径(英里)和刷新分钟数
  • 字体
  • TomTom API 密钥

数据源

  • TomTom RoutingAPI 当前和预测的驾驶时间;需要 API 密钥。请求受可配置的每日预算限制。
  • CBP Border Wait Times非官方 来自 CBP 网站背后数据源的车辆和行人等待时间。

预计到达时间

已保存公交站点的即将到站信息。

截图即将推出

功能

  • 将相关站点合并到一个面板中,显示下一班发车的倒计时以及后续班次列表。
  • 单独的列让公交、有轨电车和其他交通方式易于浏览。实时预估和延误均有标记。
  • 接近警告窗口的班次会高亮显示。当没有更多班次可显示时,应用会退出自动播放。

设置与配置

  • 数据提供方、服务器和 API 密钥
  • 查找某位置附近的站点(带半径)或通过站牌上的站点代码查找
  • 将多个站点组合在一起的卡片,带标签和可选路线筛选
  • 要显示为列的交通方式:轻轨、地铁、铁路、公交、渡轮、缆车、单轨
  • 接近警告分钟数和班次显示时间范围分钟数
  • 每张卡片的秒数和显示字体
  • 屏幕上的刷新秒数和屏幕外的刷新分钟数

数据源

  • OneBusAway (San Diego MTS)API MTS 站点的实时到站信息;需要 API 密钥。
  • TransitlandAPI 另一种交通数据提供方;需要 API 密钥,并根据其请求配额设置合适的刷新设置。

事件

即将到来的日历事件,以单张卡片或列表形式显示。

Events on the display

功能

  • 事件卡片包含标题、时间、地点和描述,日期在月历上标记。
  • 列表视图让你按事件或日期浏览,并用 OK 打开详情。
  • 连接 iCloud 日历,包括已接受的共享日历,或添加来自 Google Calendar 和其他提供方的 iCal 订阅源。

设置与配置

  • 布局:卡片(一次一个事件)或表格(按时间顺序的列表)
  • 每个事件的秒数、提前显示的天数以及刷新间隔分钟数
  • 要显示哪些已发现的 Apple 日历
  • 要添加或移除的 iCal 订阅源,每个都可选显示名称
  • 每个日历的显示名称和颜色
  • 字体
  • config.yaml 中的 Apple ID 和 App 专用密码
  • 诊断中的每个日历获取状态和即将到来的事件数量

数据源

  • iCloud CalDAVAPI iCloud 日历,使用 Apple ID 和 App 专用密码。
  • ICS 订阅源iCal 日历订阅源,包括 Google Calendar 的私密 iCal 链接。

火灾

附近的山火,在地图上标出控制率和过火面积。

Fires on the display, view 1

功能

  • 浏览单个火灾、区域地图或按距离排序的列表,包含报告的控制率和可用的火灾详情。
  • 较大的火灾包含绘制的火场边界。可选的卫星热点显示近期探测结果。
  • 活动图表显示热点探测随时间的变化。

设置与配置

  • 要居中的家庭位置(搜索地点或美国邮编)
  • 附近半径和区域半径(公里)
  • 要显示的最小英亩数以及是否包含计划烧除
  • 卫星探测的热点天数窗口
  • 可选的 NASA FIRMS 地图密钥用于热点
  • 选择、重新排序和隐藏卡片(本地、区域、列表、活动)
  • 地图样式、单位(英里或公里)、每个视图的秒数、刷新分钟数和字体
  • 诊断表格列出每场火灾的控制率、距离和开始时间

数据源

  • NIFC WFIGSAPI 来自国家跨部门消防中心的已报告山火事件和火场边界。
  • NASA FIRMSAPI 可选的卫星热点探测;需要地图密钥。
  • 地图瓦片非官方 用于背景地图的 OpenStreetMap。

影视

热门电影和剧集、新片以及在哪里可以流媒体观看。

Flicks on the display, view 1

功能

  • 浏览所选地区的热门影片和近期上映内容。
  • 每部影片包含海报、简介、评分和流媒体服务。可选的 OMDb 数据可添加 IMDb、烂番茄和 Metacritic 评分。
  • 按 Pause 获取指向该影片 TMDB 页面的二维码。

设置与配置

  • 运行哪些卡片以及顺序(电影、电视、热门、新片)
  • 流媒体可用性对应的地区,来自 TMDB 覆盖的国家
  • 每个列表的标题数量(最多为 TMDB 页面的 20 个)
  • 新发布内容的年龄限制
  • 每次查看时长
  • 刷新间隔分钟数
  • 字体
  • 通过环境变量或 config.yaml 提供 TMDB 密钥(必填)和 OMDb 密钥(可选)

数据源

  • TMDBAPI 标题、海报和流媒体可用性;需要 API 密钥。流媒体提供商数据归功于 JustWatch。
  • OMDbAPI 可选的 IMDb、烂番茄和 Metacritic 评分;需要 API 密钥。

天气预报

天气预报、降雨雷达以及最适合散步的时段。

Forecasts on the display, view 1

功能

  • 显示最多八个地点的七日预报和逐小时天气状况。
  • 步行适宜度评分综合了体感温度、降雨、风速、空气质量、紫外线和露点。按 OK 查看各因素的贡献。
  • 逐小时视图还涵盖温度、风速、紫外线、空气质量、湿度和气压。当附近有降雨时,动画雷达会加入轮播。

设置与配置

  • 最多 8 个地点:显示器自身位置、5 位美国邮编,或按名称指定的城市
  • 每个地点可选标签,用于覆盖地点名称
  • 拖动地点以调整显示器轮播顺序
  • 每次查看秒数
  • 预报刷新分钟数
  • 显示字体
  • 雷达地图样式
  • 每个地点的诊断信息

数据源

  • Open-MeteoAPI 天气预报和空气质量数据,无需 API 密钥。
  • Zippopotam.usAPI 美国邮政编码对应的坐标。
  • RainViewerAPI 近期降雨雷达图像。
  • 地图瓦片非官方 使用 OpenTopoMap 作为背景地图。

游戏

为超宽屏幕和小型遥控器适配的游戏。

Games on the display, view 1

功能

  • 畅玩 Dr. Lumi、Snake、Breakout、Pong、Lum-Man、Hermie’s Adventure、Sudoku、Tic-Tac-Toe、Connect 4,没错,还有 DOOM。
  • 菜单显示 AI 演示对局。对手和难度选项因游戏而异,部分游戏支持两人共用遥控器。
  • 最高分和记录会被保存。离开游戏时会暂停,直到你回来。

设置与配置

  • 选择游戏及其顺序
  • 每款游戏的对手或难度,包括棋盘游戏的两人模式
  • Pong 的获胜分数和 Hermie 的迷宫生成器
  • Dr. Lumi 的起始关卡和音乐选择
  • DOOM 的伽马值和音乐音量
  • 菜单中每张演示卡片的显示秒数
  • 查看并重置每款游戏或全部游戏的高分、游玩次数和游玩时间

数据来源

  • doomgeneric本地 DOOM 通过这个 Chocolate Doom 的可移植移植版在 Pi 上运行,并带有用于显示、遥控器和声音的 LumiBridge 平台层。
  • Freedoom本地 DOOM 默认使用的免费游戏数据,在设置时下载一次。也可以改为放入原版 DOOM WAD。

目标

家庭中每个人的 Apple Fitness 活动。

Goals on the display

功能

  • 移动、锻炼和站立圆环会与每小时活动、步数和锻炼详情一起显示。
  • 多个人可以并排显示,每个人都有自己的目标。
  • Health Auto Export 会从每部手机发送更新。显示器在重启后仍保留最新数据,并会标记超过一天未上报的手机。

设置与配置

  • 要包含的人员,含 ID 和显示名称
  • 每个人的移动目标(卡路里)、锻炼目标(分钟)和站立目标(小时)
  • 显示字体
  • 每个人今日圆环、图表和锻炼的网页尺寸视图
  • 新鲜度指示器,显示每个人的手机最近一次上报的时间

数据来源

  • Health Auto Export手机 Apple Health 数据由每个人手机上的自动化通过本地网络发送到显示器。

门锁

门锁状态、电池电量和远程控制。

Locks on the display

功能

设置与配置

  • Schlage 账户邮箱和密码
  • 涂鸦云项目凭据、设备 ID 和区域 API 基础地址
  • 为屏幕重命名任意门
  • 每页秒数
  • 刷新间隔(分钟)
  • 显示字体
  • 每扇门来源、状态、电量和最后变更的诊断表

数据源

  • Schlage非官方 通过非官方客户端使用账户的邮箱和密码读取和发送门锁指令。
  • 涂鸦云API 通过涂鸦 API 控制 Smart Life 门锁;需要云项目凭据。

新闻

来自选定媒体和 RSS 源的头条新闻。

News on the display, view 1

功能

  • 最多使用四行,每行都有自己的来源、颜色和动画。
  • 头条可以滚动、上滑、以字幕形式出现或使用独立卡片,并同时标明来源。
  • 过滤掉较旧的新闻。在卡片模式下,暂停时可显示文章二维码。

设置与配置

  • 添加、删除和重新排序新闻行
  • 每行的新闻来源,包括自定义 RSS 源
  • 每行的动画、文字颜色、背景颜色、滚动速度和每页秒数
  • 卡片行暂停时显示文章二维码
  • 字体,支持抗锯齿或清晰像素文字
  • 刷新分钟数、每个来源的头条数量和最大新闻时效(小时)
  • 将字体文件放入应用的 fonts 文件夹即可添加自己的字体

数据源

  • 发布商 RSS 和 Atom 源RSS 来自选定发布商和自定义源 URL 的头条新闻。
  • Google News RSSRSS 美联社、CNN 和 Desert Sun 的源。
  • 网站图标和主图非官方 来自 Google 网站图标服务的媒体图标和来自新闻源的文章图片。

赔率

预测市场赔率及其变化情况。

Odds on the display, view 1

功能

  • 关注 Polymarket、Kalshi 和 Manifold 的市场,标签区分真钱和游戏币市场。
  • 查看单个概率或比较某事件的主要结果,并附历史图表。
  • 合并来自不同市场的匹配问题以比较其赔率。使用 Left/right 更改图表的时间范围。

设置与配置

  • 同时搜索 Polymarket 和 Kalshi,或粘贴市场链接,以添加市场或事件
  • 将整个事件或仅其中一个结果添加为独立卡片
  • 拖动市场列表以设置轮换顺序
  • 勾选两到四个条目,将它们合并为一张卡片,并可添加可选标签
  • 每个视图的秒数和刷新间隔(分钟)
  • 默认图表缩放
  • 字体

数据源

  • PolymarketAPI 来自 Gamma API 的市场赔率,以及在使用时来自 CLOB API 的价格历史。
  • KalshiAPI 来自公共 API 端点的市场赔率和可用历史。
  • ManifoldAPI 来自其公共 API 的市场概率。

照片

已上传照片的幻灯片。

Photos on the display

功能

  • 照片填满显示屏,对不符合其比例的图像进行平移。
  • 选择顺序和每张图片的显示时间,支持交叉淡入淡出或通过黑场或白场过渡。
  • 上传内容会针对显示屏调整大小,并在部署之间保留。

设置与配置

  • 上传图片
  • 重新排序图片
  • 删除图片
  • 每张图片的秒数
  • 淡入淡出样式(交叉淡入淡出、通过黑场、通过白场)
  • 淡入淡出持续时间(秒)

民调

按选区或预测者比较选举预测。

Polls on the display, view 1

功能

  • 席位条显示从安全席位到胜负难料的评级,并附政党总数和多数派标记。
  • 按预测者分组显示以比较两院,或按选区分组以比较预测者。
  • 视图涵盖参议院、众议院、州长和总统选举,并在预测之间进行动画过渡。

设置与配置

  • 卡片布局:每张卡片一个预测者或每张卡片一个选区
  • 显示哪些选举(参议院、众议院、州长、总统)及其顺序
  • 包含哪些预测者,从已启用竞选中找到的预测者中选择
  • 每张卡片的时长和过渡持续时间
  • 刷新间隔(分钟)
  • 字体

数据来源

  • 270toWin非官方 从选举页面读取的预测数据;取决于其页面结构。
  • Polymarket 网关非官方 270toWin 的 Polymarket 视图所使用的市场数据。

油价

全美汽油和电动汽车充电价格。

Pumps on the display, view 1

功能

  • 地图比较各州价格,并提供历史汽油价格快照以及最便宜和最贵的州。
  • 按标号追踪所选都市区或州的汽油价格,包括变化和最高纪录。
  • 显示屏可自动选择最近的都市区。

设置与配置

  • 选择并重新排列卡片(地图、电动汽车、都市区)
  • 添加要追踪的都市区或整个州,或距离显示屏最近的一个
  • 要绘制图表的标号(普通、中级、高级、柴油)
  • 每张卡片的秒数
  • 刷新间隔(分钟)
  • 显示字体
  • 按地点显示今日价格的诊断表

数据来源

  • AAA 汽油价格非官方 从 AAA 网站读取的汽油和电动汽车充电价格;取决于其页面结构。
  • Open-Meteo 地理编码API 用于地名搜索的坐标,无需 API 密钥。

地震

已保存地点附近及全球的近期地震。

Quakes on the display, view 1

功能

  • 本地视图显示震级、时间、深度和距离,标记大小按震级、颜色按时间。
  • 将附近活动与全球重大地震进行比较,或绘制所选时间段内的活动图表。
  • USGS 海啸消息、PAGER 警报和震感报告在可用时显示。

设置与配置

  • 关注地点,每个为搜索到的地点或美国邮政编码,或显示屏自身位置
  • 搜索半径、最低震级和回溯天数
  • 全球信息源:本月重大地震或本周 4.5 级以上
  • 显示哪些卡片(本地、全球、活动、列表)及其顺序
  • 地图样式和距离单位(英里或公里)
  • 每个视图的秒数和刷新间隔(分钟)
  • 字体

数据来源

  • USGS FDSN 事件服务API 已保存地点周围的地震。
  • USGS 摘要信息源API 全球地震报告。
  • 地图瓦片非官方 用于背景地图的 OpenTopoMap。

利率

具有足够历史数据以提供背景的经济指标。

Rates on the display

功能

  • 追踪通胀、利率、抵押贷款、失业率、国债收益率、汽油和房价。
  • 单个图表和摘要仪表板显示最新读数及变化,范围从一年到全部可用历史。
  • 参考线显示目标和利率区间。可选的发布日和美联储决策市场赔率为接下来会发生什么提供背景。

设置与配置

  • 显示哪些指标及其顺序,汽油和房价默认关闭
  • 起始图表范围
  • 每张卡片的秒数和刷新间隔(分钟)
  • 字体
  • 在联邦基金利率卡片上切换下次美联储会议的赔率
  • 可选的 FRED API 密钥,以便月度指标显示其下次发布日期

数据来源

  • FRED 图表 CSV非官方 来自圣路易斯联储图表导出的历史经济数据。
  • FRED APIAPI 可选的发布日期;需要 API 密钥。
  • KalshiAPI 来自公共 API 端点的市场赔率和可用历史。

比分

棒球比分、逐球实况和预测市场赔率。

Scores on the display, view 1

功能

  • 关注选定的 MLB 球队,提供近期和即将进行的比赛以及实时逐球实况。
  • 实时视图包括投手和击球手照片,以及在 Polymarket 市场可用时的比赛获胜赔率。
  • 分区排名提供当前比赛之外的背景。

即将推出:更多体育项目的比分

设置与配置

  • 最多可关注 12 支 MLB 球队,拖动可调整轮播顺序
  • 以当前时间为中心、定义近期和即将开始比赛窗口的前后小时数
  • 每张卡片的秒数
  • 刷新分钟数、实时刷新秒数和排名刷新分钟数
  • 显示或隐藏分区排名
  • 字体
  • 每个数据源的诊断信息,包括状态、大小和上次获取时间

数据来源

  • MLB Stats APIAPI 来自 MLB 未公开 API 的赛程、比分、排名和逐球记录。
  • MLB 头像非官方 来自 MLB 的投手和击球员照片。
  • PolymarketAPI 来自 Gamma API 的市场赔率,以及在使用时来自 CLOB API 的价格历史。

设置

亮度、音频、字体和地图样式。

Settings on the display

功能

设置与配置

  • 亮度、音量和麦克风增益滑块
  • 扬声器和麦克风,可以是不同的设备
  • 音量控制后端:自动、macOS 或 ALSA
  • ALSA 混音器控件,自动或指定某个
  • 系统默认字体
  • 系统默认地图样式

星空

追踪国际空间站,查看地平线以上的天体。

Stars on the display, view 1

功能

  • 国际空间站地图显示其位置和地面轨迹,以及所选地点的海拔、速度和即将到来的过境。
  • 过境期间,显示其方向和仰角。预测会标明过境是否可见。
  • 天空视图包括行星、月球、亮星和星座。国际空间站位置根据保存的轨道数据在本地计算。

设置与配置

  • 观测者位置,默认为显示器自身位置
  • 模式:国际空间站、天空或混合
  • 每个视图的秒数和字体
  • 国际空间站地图的地图样式
  • 最低过境仰角,以跳过贴近地平线的过境
  • 星座开关、天空视场和起始方位角
  • 即将到来的国际空间站过境列表及当地时间

数据来源

  • Where The ISS AtAPI 用于在本地计算国际空间站位置和过境的轨道数据。
  • CelesTrak非官方 国际空间站轨道数据的备用来源。
  • 地图瓦片非官方 用于世界地图的 Esri World Imagery。

统计

树莓派的健康状况和本地网络视图。

Stats on the display, view 1

功能

  • 仪表显示 CPU 负载、温度、内存、磁盘使用和网络流量。
  • Ping 图表跟踪所选主机的延迟和丢包,历史范围从五分钟到 24 小时。
  • 网络视图列出发现的设备。历史记录在应用运行时累积,包括夜间的中断。

设置与配置

  • 三张卡片中显示哪些以及以什么顺序显示,可拖动重新排序
  • Ping 目标为主机或 IP 加标签,预设 Cloudflare、Google、HackerNews 和 BBC
  • 每张卡片的秒数和默认 Ping 历史窗口
  • Ping 间隔以及保留多少分钟的历史
  • 设备发现间隔和已保存读数的时效上限
  • 网络仪表的满量程 Mbps 以及温度仪表的最小值和最大值
  • 字体,以及每个目标的延迟、丢包和最近发现设备的诊断表

数据来源

  • 树莓派本身本地 通过 psutil 读取 CPU、温度、内存、磁盘和网络。
  • Ping设备 所选主机的延迟和丢包测量。
  • 局域网扫描设备 使用网络邻居表和名称查询进行本地设备发现。

股票

股票价格、历史图表和市值热力图。

Stocks on the display, view 1

功能

  • 浏览已保存的股票和指数,查看所选期间的价格变化和最高最低价。
  • 使用 Left/right 在图表范围之间切换,从一天到五年。
  • 热力图按市值确定公司大小,并按价格变化着色。

设置与配置

  • 最多 12 个符号,以股票代码或公司名称输入,并从搜索建议中选取
  • 视图:卡片、热力图或两者(先热力图,后卡片)
  • 卡片默认打开的时间范围
  • 每个视图的秒数
  • 市场开盘时的刷新分钟数
  • 显示字体
  • 获取诊断信息:请求次数、失败次数、速率限制以及各时间范围的数据新鲜度

数据来源

  • Yahoo Finance非官方 来自 Yahoo 未公开图表服务的历史价格。
  • Yahoo quote非官方 用于热力图的市场 capitalization,同样来自未公开服务。

Takeoffs

一个机场到达和出发信息板,带有翻页动画。

Takeoffs on the display, view 1

功能

  • 航班行显示航空公司、目的地或出发地、登机口、时间和状态。延误和取消会高亮显示。
  • 到达信息可包含行李提取信息。单独的安全信息板显示 TSA 等待时间和 PreCheck 状态。
  • 选择显示哪些信息板和航空公司。当前数据源是圣地亚哥国际机场。

设置与配置

  • 机场(提供商)选择器
  • 显示哪些信息板以及顺序:出发、到达、安全
  • 按两字母代码限制特定航空公司
  • 包含未来多少小时以及已出发/已降落航班的保留分钟数
  • 每个信息板的秒数
  • 屏幕上的刷新率(秒)和屏幕外的刷新率(分钟)
  • 翻页动画开或关
  • 显示字体

数据来源

  • 圣地亚哥机场航班信息板非官方 圣地亚哥国际机场到达和出发小部件背后的数据源;未公开且可能变更。
  • TakeoffTimer非官方 来自其小部件数据源的 TSA 等待时间估算。

Temps

恒温器读数和温度控制。

Temps on the display

功能

设置与配置

  • 关联或取消关联 Nest 账户和 Cielo 账户
  • 发现恒温器,然后勾选要显示的恒温器并拖动排序
  • 为显示器重命名每个恒温器
  • 单位:华氏度或摄氏度
  • 每次遥控按键的温度步进
  • 轮询间隔(秒)
  • 仪表最低和最高温度
  • 诊断信息:每个恒温器的模式、环境温度、设定点、湿度和上次轮询

数据来源

  • Google NestAPI 通过 Google 的 Smart Device Management API 读取和控制恒温器;需要 Device Access 项目。
  • Cielo非官方 通过非官方账户集成读取和控制恒温器。

Tests

检查面板布局、亮度和遥控器。

Tests on the display, view 1

功能

  • 带标签的网格显示每个面板的逻辑位置,便于发现映射错误。
  • 亮度渐变有助于发现响应不均或削波。
  • 其他视图显示遥控器并带声音重放启动动画。

设置与配置

  • 在 config.yaml 中配置面板布局和链映射,这些卡片用于验证
  • 在 config.yaml 中配置显示驱动、帧率和亮度计划
  • 从 Home 或 Web 界面打开;从 Autoplay 中排除

Tickets

已保存位置附近即将举行的活动。

Tickets on the display, view 1

功能

  • 按日期浏览 Ticketmaster 活动,包含图片、场馆和活动详情。
  • 组合多个位置,每个位置有自己的搜索半径,并选择提前查看的时间范围。
  • 按 Pause 获取通往购票页面的二维码。

设置与配置

  • 添加、标记和移除 Ticketmaster 位置(地址、城市或美国邮编)
  • 每个位置的搜索半径(英里)
  • 提前多少天查找活动
  • 每个活动的秒数
  • 刷新间隔(分钟)
  • 显示字体
  • 暂停时切换通往购票页面的二维码
  • 显示每个位置获取状态的诊断表

数据来源

  • Ticketmaster DiscoveryAPI 已保存位置附近的活动;需要 API 密钥。

Timers

通过遥控器控制闹钟、倒计时和秒表。

Timers on the display

功能

  • 在显示屏上添加项目,然后用遥控器设置时间、重置或删除它们,并更改其颜色。
  • 当其他应用正在显示时,计时器继续运行,闹钟保持设定。已完成的计时器和闹钟会闪烁,直到被清除。
  • Pause 停止计时器和秒表;闹钟仍会在预定时间响起。

设置与配置

  • 显示字体(config.yaml)
  • 包含在自动播放轮换中或从中排除
  • 在启动器网格中的位置
  • 闹钟、计时器和秒表本身是通过遥控器在显示屏上创建的

音乐

流行音乐、新发行和播客。

Tunes on the display, view 1

功能

  • 浏览 Apple 的专辑、歌曲和播客排行榜,包含封面图、排名位置和可用的发行详情。
  • 新上榜条目会被标记。可选的 Last.fm 数据会添加听众数、标签和摘要。
  • 按 Pause 显示二维码,跳转到 Apple Music 或 Apple Podcasts。

设置与配置

  • 选择并重新排序专辑、歌曲和播客卡片
  • 显示哪个地区的 Apple Music 和 Apple Podcasts 排行榜
  • 每张卡片的项目数
  • 新发行的年龄限制
  • 每项秒数
  • 刷新间隔(分钟)
  • 显示字体
  • 可选的 Last.fm 密钥,用于热度详情

数据源

  • Apple Music 和 Podcasts 排行榜RSS 来自 Apple 订阅源的专辑、歌曲和播客排行榜。
  • iTunes 查询API 曲目数、厂牌和时长。
  • DeezerAPI 当 iTunes 无法提供时的额外音乐详情。
  • Last.fmAPI 可选的听众数、标签和摘要;需要 API 密钥。

访客

来自 Google Analytics 的网站流量。

Visitors on the display, view 1

功能

设置与配置

  • 上传或粘贴服务账号密钥,并查看需要在 GA4 中授予查看者权限的电子邮件地址
  • 要显示的媒体资源,每个为 GA4 媒体资源 ID 和标签,最多 12 个
  • 哪些卡片运行以及运行顺序(实时、趋势、页面、来源)
  • 起始时间范围:今天、昨天、7 天、30 天或一年
  • 每张卡片的时间
  • 实时刷新之间的秒数
  • 字体

数据源

  • Google Analytics Data APIAPI 使用对每个媒体资源具有查看者权限的服务账号生成 GA4 报告。

海浪

潮汐、涌浪和海滩状况。

Waves on the display, view 1

功能

  • 对于每个保存的地点,在共享时间轴上查看潮汐预测和涌浪预报。
  • 高潮和低潮会标注时间和高度,同时显示水温以及可用的水质等级和建议。
  • 日出、日落和月相提供背景信息,涌浪视图上还有风向和波周期。

设置与配置

  • 最多 8 个海岸地点:显示屏自身位置或按名称指定的海滩/城市
  • 每个地点的可选标签,用于覆盖显示屏上的地点名称
  • 拖动地点以调整显示屏循环显示的顺序
  • 每个视图的秒数
  • 刷新分钟数
  • 显示字体
  • 诊断:每个地点的潮汐站、水质等级和上次获取时间

数据源

  • NOAA Tides and CurrentsAPI 来自附近站点的潮汐预测和水温。
  • Open-Meteo MarineAPI 保存位置的涌浪、波周期和风。
  • Heal the Bay非官方 来自 Beach Report Card 地图背后订阅源的海滩水质等级。

维基

一点维基百科,一次一篇文章。

Wikis on the display, view 1

功能

  • 浏览特色文章、历史上的今天和你知道吗,并混入随机文章。
  • 每张卡片在可用时包含图片和介绍文字。按 Pause 显示二维码以继续阅读。
  • 未看过的每日项目优先;自动播放会在每日项目显示完毕后跳过该应用。

设置与配置

  • 切换特色文章、历史上的今天和你知道吗部分
  • 随机文章频率(0 表示禁用)
  • 阅读哪个语言的维基百科
  • 每篇文章的秒数
  • 显示字体
  • 诊断:今日条目、其图片以及哪些已显示

数据源

  • Wikimedia RESTAPI 每日维基百科精选和随机文章摘要。

遥控器

我使用普通的 2.4 GHz 媒体遥控器进行日常控制。各应用中的按钮遵循常见模式,并为 Home、Autoplay 和语音聊天提供了几个快捷方式。

▲▼◀▶

  • Power

    显示开 / 关

    关闭显示或返回之前正在显示的应用。

  • Home

    主屏幕长按:自动播放

    从任何应用返回 Home;再次按下进入第一页。长按开始自动播放。

  • Up and down

    下一张 / 上一张卡片

    通常在卡片或页面之间移动。某些应用使用这些按钮调整选定值,例如恒温器的目标温度。

  • Left and right

    滚动 / 缩放

    更改应用内的选择或视图,例如图表的时间范围或选定的恒温器。

  • OK

    确认在 Home 上长按:移动图标

    打开应用或确认操作。在 Home 上,长按 OK 并使用方向键移动图标。

  • Back

    取消 / 关闭

    关闭当前视图或返回第一张卡片。在 Home 上,在图标和实时仪表板之间切换。

  • Menu

    暂停显示长按:语音提问

    暂停显示,边缘发光表示已暂停。在 Home 上,将应用添加或移出自动播放。长按打开 Chats。

  • Volume downVolume up

    调整设置默认为音量

    打开设置并调整上次使用的控件。使用左/右选择其他设置,按 BACK 返回应用。

示意图

这些图显示了框架尺寸、面板布局,以及电源、数据和 Pi 外设的连接。

显示屏:七块 P3 面板边对边安装在定制订购的木框内。

背面:电源

5 V 电源(最重的部分)位于中间,通过四条带保险丝的 15 A 线路驱动 7 块面板。Pi 位于一侧。其 USB-C 电源适配器和电源的电源线插入一个扁平插头延长线。

背面:数据

来自三路 bonnet 的三条 HUB75 链。每条排线沿左边距向上并沿导轨延伸到该链的第一块面板,即最靠近 Pi 的那块,然后短排线从那里以菊花链方式远离 Pi:7 到 6、5 到 4、3 到 2 到 1。

背面:计算

Pi 连接到 USB 音频硬件和遥控器的接收器。USB 延长线将无线电和 VHF 天线置于框架外,远离 LED 干扰。此设置可在本地接收船舶广播,并在线获取飞机位置。

物料清单

以下是我使用的零件,以及它们在 2026 年中的购买价格。说实话,这次搭建最终比我预期的要贵得多, 但我喜欢告诉自己,这是为了质量和安全而过度设计!

电源

框架与安装

总计
$793.13

来源:Hacker News · timvasil.com