网易首页 > 网易号 > 正文 申请入驻

当 F1 信息变成桌面上的一张卡片,追比赛突然变简单了

0
分享至

编注本文的项目构思、结构设计及相关素材整理均由人工完成。在产品开发与调试过程中,使用 GPT-5.6 Sol 模型作为辅助工具,参与方案讨论、代码编写与问题排查。文章内容基于实际开发过程中的经验与记录,由 AI 协助生成初稿,并经过人工审核、修改与润色后发布。

我写完那篇F1 入坑指南后,身边陆续多了不少开始看比赛的朋友。大家很快就能认清车队和车手,却常常卡在更日常的问题上:下一场比赛几点开始?这个周末有没有冲刺赛?刚结束的比赛前三名是谁?自己关注的车手现在排第几?

答案当然都能找到。F1 官网、体育 App 和搜索引擎里有赛历、新闻、视频和完整数据,但每次都要拿起手机、打开应用,再从一大堆内容里找到真正想看的那几行。

我缺少的不是另一个功能更完整的 F1 App,而是一个不需要主动打开的地方。

于是,我给 Quote/0 摘录做了一个 F1 信息看板。它会在桌面上显示下一场比赛、最近赛果、车手积分和车队表现,也能在比赛进行时更新当前前三名。对我来说,它更像一张会自己换版的 F1 赛事卡片。


图 1:不用打开手机,下一站赛程、比赛结果和关注对象的状态会直接留在 Quote/0 上。

▍我想把 F1 变成一种「环境信息」

Quote/0 是少数派共创项目中的一台电子纸信息屏。共创页面把它称为「你的专属信息视窗,于安静中洞悉重要」。这句话恰好概括了我喜欢它的原因:它不试图把另一块手机屏幕搬到桌面上,而是让少量真正重要的信息待在那里,等人偶尔看上一眼。

这种形态和 F1 很合拍。

F1 的信息并不是每分钟都值得查看。非比赛日,我只想知道下一站还有多久;到了比赛周,想确认每个赛段的本地时间;比赛结束后,再看一眼领奖台和积分变化。这些内容不值得让我一直开着网页,却很适合每隔一段时间更新在电子纸上。

Quote/0 的开放能力让这件事成为可能。Dot 的开发者平台可以用 API Key 和设备 ID 指定设备,再通过 Text、Image 或 Canvas 等接口控制内容。其中 Canvas API 不只是发送一张预先做好的图片,而是把数据和版面结构一并交给设备:标题、数字、列表、边框和层级都可以根据当前数据生成。

也就是说,我不需要更换 Quote/0 的固件,只要让 Mac 整理好 F1 数据、生成一张适合电子纸的卡片,再把它推送到设备即可。


图 2:F1 数据经过重新取舍后,以一张黑白信息卡片的形式显示在 Quote/0 上。

▍11 块看板,覆盖一个赛季里最常看的信息

F1 Quote/0 是一款完全运行在本地的原生 macOS 应用。它读取赛历、比赛结果、积分榜和比赛期间的排名,按 Quote/0 的实际屏幕比例生成 Canvas 页面,再推送到指定设备。

我最终做了 11 块看板,并把它们分成比赛结果、比赛时间、关注车手和关注车队四组。这个数字听起来不少,但每一块只回答一个很具体的问题。

结果:只留下最值得记住的几行

「全部比赛结果」显示最近一个赛段的前三名。比赛仍在进行时,它会优先显示实时前三名和当前圈数;比赛结束后,再切换为最终排名。

另一块「冲刺赛 / 正赛结果」会过滤练习赛和排位赛,只保留真正产生比赛结果的赛段。这样到了冲刺周末,我既可以知道刚刚结束的是什么,也不会把冲刺赛和正赛混在一起。

我刻意没有把二十多名车手全部塞进屏幕。放在桌面上的这块屏,更像赛后报纸的头版:它不负责替代完整数据页,只留下冠军、领奖台和当前进度。


图 3:比赛期间显示实时前三名和圈数;赛段结束后,页面会回到最终排名。

时间:下一场几点,以及还要等多久

F1 每一站都在不同国家和时区举办。对中国车迷来说,正赛可能在晚上,也可能从深夜延续到凌晨。单看日期远远不够,真正有用的是换算后的本地时间。

「下一场比赛时间」会显示接下来的两个赛段,包括大奖赛、赛道、赛段类型、日期和本地开赛时间。看到下一项是第一次练习赛,意味着比赛周末已经开始;看到下一项是正赛,就知道该给周日晚上的两个小时留出位置。

「下一站倒数日」则更克制:屏幕上只保留距离下一站正赛的天数、大奖赛名称、赛道、开赛时间和赛道轮廓。这是信息最少的一块,也是我最喜欢的一块。

应用已经内置完整的 2026 赛历赛道、近年轮换赛道,以及 F1DB 收录的 78 个历史赛道家族的最新布局。赛道轮廓不需要显示时再从网络下载,即使数据源暂时不稳定,版面本身仍然是完整的。


图 4:接下来的两个赛段会换算为 Mac 当前时区,不必再手动计算开赛时间。

图 5:下一站倒数日只保留最重要的信息,赛道轮廓由应用内置资源提供。

车手:我只想知道关注的人最近怎么样

在设置中选择关注车手后,应用会生成三类看板:年度积分、最近全部赛制的成绩,以及最近正赛或冲刺赛的成绩。

年度积分把排名和积分放在最醒目的位置;最近赛果则让名次成为画面主角。对我来说,这比在完整积分榜里寻找一个名字更实用。桌面上不需要同时摆下所有车手,我只想知道自己关注的人最近过得怎么样。


图 6:选好关注车手后,看板会分别呈现他的年度位置与最近一场表现。

车队:积分之外,还有队内竞争

车队部分有四块看板:车队年度积分、两位车手的年度排名、两位车手最近全部赛制的成绩,以及两位车手最近正赛或冲刺赛的成绩。

其中我最常看的是「车队车手年度排名」。同一支车队的两名车手使用同一代赛车,他们之间的积分变化既能反映车队整体状态,也能呈现队内竞争。有时单看一场比赛很难说明问题,放到一个赛季里,差距会变得直观得多。


图 7:车队看板把车队积分与两位车手的表现拆开呈现,也让队内差距一目了然。

▍我没有把一个网页硬塞进墨水屏

Quote/0 使用的是一块 152 × 296 的黑白电子纸屏幕。这个尺寸足够显示一张信息卡片,却不适合复刻完整的 F1 数据网站。屏幕越小,「还能再加一点」就越危险。

最初设计时,我也尝试过赛车侧视图、更多统计项目、完整车手列表和额外的装饰元素。真正推到实机上之后,这些内容只会挤压字号,让最关键的数据失去存在感。

于是我开始做减法:比赛结果只保留前三名;车手赛果让名次占据接近半块屏幕;积分面板把排名和积分做成最大的两个元素;车队面板则用清楚的分区容纳两名车手。赛车侧视图最终被删掉,赛道轮廓只留在真正需要它的倒数日页面。

黑白屏幕也没有车队颜色可以依赖,只能用字号、粗细、边框、留白和位置建立层级。这种限制反而很像传统报纸或赛事计时牌:没有复杂效果,但隔着一段距离,也应该能立刻找到最重要的信息。

▍一次推送背后发生了什么

这套工具的数据并非来自单一来源。

应用主要读取 ESPN 的公开 F1 数据,用于整季赛历、各类赛段结果、积分榜和比赛中的排名;再通过 Jolpica F1 补充车手与车队的对应关系,通过 OpenF1 补充 DNF、DNS 和 DSQ 等异常完赛状态;赛道轮廓则来自随应用打包的本地资源。

比赛进行期间,应用每 15 秒检查一次 ESPN 排名。进行中的赛段会自动优先于上一场已经完赛的结果;等比赛结束后,页面再切回最终排名。用户不需要手动区分「实时」和「历史」模式。

拿到数据后,Mac 会根据当前看板生成 Canvas 的datawindowData:前者保存大奖赛、车手、名次和积分等值,后者描述这些信息在屏幕上的结构。最后,应用通过 Dot Canvas API 把两部分一起推送到 Quote/0。

Canvas 不是一个完整的网页环境,但这反而适合电子纸。它支持面向静态卡片的文字、图片、列表、条件和样式,又限制了脚本与复杂网页能力,最终得到的是一张结构明确、能根据数据更新的设备页面,而不是一张 Mac 提前渲染好的截图。

▍为什么还要做一个 Mac 应用

理论上,这些逻辑也可以放在服务器或树莓派上运行。但对大多数人来说,为了一块 F1 看板去配置服务器、部署定时任务、管理环境变量,已经比追比赛本身更麻烦。

所以我把它做成了一款原生 macOS 应用。

应用左侧列出所有可用看板,中间直接预览 Quote/0 上的实际排版,右侧负责当前页面、设备和关注对象。你可以手动推送一块看板,也可以勾选多个页面组成自动轮播。自动推送的最短间隔为 60 秒,既保证比赛期间的信息能够跟进,也避免让设备过于频繁地刷新。

设置里只需要填写 Dot API Key 和 Quote/0 的设备 ID,再选择关注车手、关注车队和轮播间隔。当前版本会把 API Key、设备 ID 和用户设置写入这台 Mac 的应用偏好设置;它们不会进入项目仓库,也不会上传到我的服务器。


图 9:在 Mac 上选择看板和关注对象,预览确认后即可手动推送或开启自动轮播。

▍如何使用

项目已经在 GitHub 开源。目前仓库没有提供独立的 Release 安装包,需要在 macOS 14 或更高版本、安装了 Xcode 的 Mac 上从源码构建。

下载项目后,在项目目录执行:

./scripts/package_app.sh

构建完成后,第一次使用需要做五件事:

  • 在 Dot App 中创建 API Key,并找到 Quote/0 的设备 ID;具体入口可参考 Dot 开发者平台说明 。

  • 在 Dot App 的 Content Studio 中,把「Canvas API」内容加入 Quote/0 的 Loop;这是接收 Canvas 推送的前提,详见Canvas API 快速开始 。

  • 打开构建出的Build/F1 Quote 0.app,在设置里填写 API Key 和设备 ID。

  • 选择关注车手、关注车队以及自动推送间隔。

  • 在左侧勾选需要轮播的看板,打开自动轮播推送。

如果你想修改应用本身,可以直接查看 F1 Quote/0 的源码与构建说明。如果你对 Quote/0 的外壳、GPIO、显示驱动或自定义固件更感兴趣,则可以继续阅读 MindReset 的 Dot 开放硬件仓库。两者解决的是不同问题:前者通过官方 API 推送内容,后者提供设备级硬件与固件资料。

▍它仍然有一些限制

首先,它是一款完全运行在 Mac 本地的应用。自动推送依赖应用保持运行,并且 Mac 需要联网。退出应用、关机或进入深度睡眠后,数据就不会继续更新;Quote/0 会保留最后一次成功推送的画面,但服务器不会代替本地应用继续抓取 F1 数据。

其次,主要数据来自 ESPN 公开但没有正式文档化的接口。字段和结构未来可能变化,应用的解析逻辑和测试也需要跟着更新。Jolpica F1 与 OpenF1 同样是外部服务,网络状态、访问限制或接口调整都可能影响部分信息。

电子纸也不适合像手机屏幕那样连续刷新。当前版本把数据检查与设备推送分开:比赛期间可以更频繁地检查排名,但自动推送最短仍为一分钟。这是一种及时性、稳定性和设备刷新频率之间的折中。

最后,这是一个非官方个人项目,与 Formula 1、ESPN、Dot 或 MindReset 不存在隶属或认可关系。赛事、车队、车手及相关标志的权利归各自权利人所有。

▍让设备真正显示自己关心的东西

我一直觉得,Quote/0 这类产品最有意思的地方,不在于厂商预装了多少内容,而在于使用者能不能把自己的兴趣和生活接进去。

有人会用它显示日历、天气和待办事项;有人会放服务器状态、家庭自动化信息或一条值得反复看的摘录。除了面向内容推送的开发者平台,MindReset 也公开了 Quote/0 的外壳、GPIO、显示驱动和固件上手资料。它给不同经验的人留下了几条路径:可以只调用 API,也可以继续向硬件和固件深入。

而我最关心的东西恰好是 F1。

所以现在,即使没有打开手机,我也能从桌面上知道下一场比赛还有多少天、这个周末几点开赛、关注的车手上一站跑得怎么样,以及喜欢的车队离年度冠军还有多远。

它没有让我获得更多信息。

它只是把我真正关心的信息,从手机里的某个页面,带到了每天都能看见的地方。

F1 Quote/0 项目地址 >

https://sspai.com/post/113158?utm_source=wechat&utm_medium=social

作者:Belcheck

/产品推荐/


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
张本智和:日本是我的祖国!要击败中国队 为日本夺得亚运会金牌

张本智和:日本是我的祖国!要击败中国队 为日本夺得亚运会金牌

念洲
2026-08-10 09:19:59
AI企业办公战争刚刚打响,得FDE者得天下

AI企业办公战争刚刚打响,得FDE者得天下

杨子超
2026-08-10 18:04:20
同济大学全体关切公平的教师致杨金龙校长公开信

同济大学全体关切公平的教师致杨金龙校长公开信

紫京讲谈
2026-08-10 16:49:29
朝韩关系出大事了,金正恩做出重要决定,宣布韩国为“头号敌国”

朝韩关系出大事了,金正恩做出重要决定,宣布韩国为“头号敌国”

张嘴说财经
2026-08-10 13:02:52
独闯南太行失联14天女子不幸身亡 当地村民:挖野菜在崖顶发现背包,救援人员在崖底找到其遗体

独闯南太行失联14天女子不幸身亡 当地村民:挖野菜在崖顶发现背包,救援人员在崖底找到其遗体

红星新闻
2026-08-10 16:27:13
山东一对母女被海浪卷走获救,救人者:海浪很大,母女俩被救上后吐出的水里全是沙子

山东一对母女被海浪卷走获救,救人者:海浪很大,母女俩被救上后吐出的水里全是沙子

潇湘晨报
2026-08-10 13:29:15
演员秦焰去世,享年72岁,曾出演《狂飙》《庆余年第二季》等多部剧集

演员秦焰去世,享年72岁,曾出演《狂飙》《庆余年第二季》等多部剧集

韩小娱
2026-08-10 15:14:19
著名演员李立群含泪发视频!表示家被儿子给抄,82年百万级珍藏茅台被喝精光,评论区炸锅

著名演员李立群含泪发视频!表示家被儿子给抄,82年百万级珍藏茅台被喝精光,评论区炸锅

火山詩话
2026-08-10 17:01:43
看胖东来生意好,房东一口气涨租2400万,于东来关店:不伺候了。

看胖东来生意好,房东一口气涨租2400万,于东来关店:不伺候了。

坠入二次元的海洋
2026-08-10 11:06:30
72岁演员秦焰去世,曝死因是冠心病,2月前曾住院,是郭德纲好友

72岁演员秦焰去世,曝死因是冠心病,2月前曾住院,是郭德纲好友

180视角
2026-08-10 16:36:08
宇树科技上市 今天申购 中一签有望赚20万元

宇树科技上市 今天申购 中一签有望赚20万元

快科技
2026-08-10 07:22:07
救援队披露独闯南太行失联女子遗体被找到细节:事发地属完全未开发野山,部分悬崖落差超200米

救援队披露独闯南太行失联女子遗体被找到细节:事发地属完全未开发野山,部分悬崖落差超200米

红星新闻
2026-08-10 16:38:26
李嘉诚现况:过完98岁生日,用小电车代步,孙女接棒,享退休生活

李嘉诚现况:过完98岁生日,用小电车代步,孙女接棒,享退休生活

文刀贰
2026-08-09 23:22:33
最新临时世界排名:小特扣除57.6万跌至第四,赵心童登顶世界第一

最新临时世界排名:小特扣除57.6万跌至第四,赵心童登顶世界第一

夜深聊球
2026-08-10 20:09:31
胖东来许昌店关闭引争议!网友:房东挺冤的,就是没有管理失误也会搬,因为商场有硬伤,没有地下停车场

胖东来许昌店关闭引争议!网友:房东挺冤的,就是没有管理失误也会搬,因为商场有硬伤,没有地下停车场

火山詩话
2026-08-10 10:24:26
阿斯:曼城即将1.3亿欧签下布阿迪,填补罗德里空缺总花费约2.7亿

阿斯:曼城即将1.3亿欧签下布阿迪,填补罗德里空缺总花费约2.7亿

懂球帝
2026-08-10 15:00:14
老戏骨秦焰去世,享年72岁,死因是冠心病,最后露面照曝光

老戏骨秦焰去世,享年72岁,死因是冠心病,最后露面照曝光

180视角
2026-08-10 15:49:19
朱女士接受采访时开的车,很上档次!引热议:有人说是特斯拉,也有人说是奔驰

朱女士接受采访时开的车,很上档次!引热议:有人说是特斯拉,也有人说是奔驰

火山詩话
2026-08-10 07:44:14
22岁的程梦圆死亡真相!背包、证件散落荒草,陡峭的山崖,见证了这场猝不及防的意外

22岁的程梦圆死亡真相!背包、证件散落荒草,陡峭的山崖,见证了这场猝不及防的意外

火山詩话
2026-08-10 17:24:55
《肖申克的救赎》定档8月28日首登内地影院

《肖申克的救赎》定档8月28日首登内地影院

北青网-北京青年报
2026-08-10 12:35:03
2026-08-10 21:43:00
少数派sspai incentive-icons
少数派sspai
高品质数字消费指南
5306文章数 28490关注度
往期回顾 全部

科技要闻

马斯克又放大招:星链要吃掉全球一半流量

头条要闻

世界小姐"雅典娜"确认遇害 被闺蜜骗去菲律宾遭"撕票"

头条要闻

世界小姐"雅典娜"确认遇害 被闺蜜骗去菲律宾遭"撕票"

体育要闻

阿森纳的39号球衣,有了最适合的主人

娱乐要闻

演员秦焰去世 享年72岁

财经要闻

宇树科技今日申购,中一签能赚多少?

汽车要闻

2026CTCC鄂尔多斯站 奇瑞艾瑞泽车队火力全开

态度原创

健康
旅游
家居
公开课
军事航空

咸汤圆比甜汤圆更健康?别被误导了

旅游要闻

运动与烟火交织,山野与田园相融,逐夏齐鲁烟火,感受夏日里的好客山东

家居要闻

2026建博会(广州) 公装联探展交流活动

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普被指不想再打了:哪怕未达成核协议也想退出

无障碍浏览 进入关怀版