Bloody Sunshine

Just too damn hot

自制 E-ink 电子墨水屏相框

去年和 Frish 闲聊的时候提到 Inkposter 这个项目看起来不错,就是有点贵。E6 电子墨水屏看挺适合做相框的。他执行力超强,很快就就搓了一套 7.3 寸微雪墨水屏的方案,并开源给我了。这套方案已经完整可用,唯一的遗憾是 7.3 寸小了点。正好看到闲鱼上有老哥攒的半成品 13.3 寸 E6 彩色墨水屏 + 驱动板 + ESP32 开发板 + 1000mAh电池只要 1400,于是就拿下 + 改造了。

成品效果图:

闲鱼老哥提供的 sample code 已经基于微雪开放的代码实现了基本功能,包括:

  • 基于蓝牙的设备配网
  • 浏览器端运行的FS Dither抖动算法转码
  • ESP32 上跑的服务端
  • 墨水屏驱动和照片展示

使用流程是先给设备配网,每次要更换照片时按钮唤醒设备,浏览器访问设备的服务器上传。但是实际用起来不好用,因为如下几点:

  1. 作为一个电池驱动设备,绝大多数时候都是深度休眠的,每次要上传的时候都要先唤醒设备,设备上电之后启动了服务端,再用浏览器访问,等着选完照片上传,既费电,又麻烦;
  2. FS Dither 实际上在 E6 上的效果不够让人满意,主要是 E6 屏幕特性决定的,增加 30% 的饱和度后会好一些,但是仍然可以更好一些
  3. 家用场景它能定时/指定时间换才是主要场景,这个就完全没支持了

于是就按照自己的需求开始让 AI 爆改,一方面把服务端迁移到 NAS 上,让墨水屏纯做客户端,另一方面把墨水屏的固件改成定时唤醒拉图,尽量最节省电量。

服务端给 AI 的需求.md大概这样:

设计目标:
- 请根据电脑环境和需求选择和事的技术栈并完成整个项目,确定技术栈和项目架构之后请先和我确认再进行后续工作。
- 所有工作都在 /src/Server 目录下完成,不可以写入或修改其他位置的文件

需求:
- 项目仅个人使用,本地部署,技术栈尽量简单
- 服务器是个人电脑,服务尽量控制资源占用
- 部署和未来的维护越简单越好
- /Server 内的内容需要能够独立编译运行

电脑环境:
- Win10 with docker & WSL & Hyper-V
- Intel i7 11600T

功能需求:
- 本地开一个 http 服务器,绑定 eframe.local 域名
- 访问 http://eframe.local 打开首页 /index.html
- 支持以下 API
- /getPhotoList :获得接下来要展示的照片列表,包括预览图、照片名称、URL
- /getShowedPhotoList :获得之前已经展示过的照片列表 MAX=50
- /getEframePhoto :获得下一张要展示墨水屏格式照片
- /uploadEframePhoto :上传一张已经处理成墨水屏格式的照片,需交验合法性
- 首页设计和 /data 中一致,可以上传本地照片、转换成 13.3 寸 E6 墨水屏用的格式,分辨率 1600X1200,首页保留网页上处理墨水屏照片的功能,上传调用 /uploadEframePhoto 直接上传
- 网页右上角增加一个链接:队列。
- 队列网页地址 /photolist.html
- 队列分别显示之前已经被墨水屏取走的照片列表,和接下来每次获取时的队列

基本上就是把技术决策都扔给 AI,Codex 澄清了一些细节之后基本一次成型,还是让人印象非常深刻的,最后方案是 Python 写功能,nssm 做本地服务,必须得说:

  1. Python 真是最 AI 友好的语言哈哈哈哈
  2. 微软的东西做大规模服务全是坑,但是个人用真是你想要啥都能满足,做家用 NAS 操作系统绝配

而客户端就没这么顺利,首先 sample code 是给 Arduino IDE 写的,迁移到 VSC + PlatformIO 就遇到了一些莫名的问题,然后修改功能的时候又 bug 不断,后来把模型从 Copliot 免费的 Haiku 4.5 直接改成了 Codex + OpenAI API(5.3-codex),可靠性大幅提升。

中间遇到最无语的问题是这样的,第一版功能比较粗暴,每天凌晨 3 点唤醒从服务器取一张图,刷新然后休眠。实际使用中发现每天 2:55-2:59 会唤醒两次,每天都会。这个问题搞了一天多,狂烧 token,AI 一直猜测是 API 重复调用或者误触按键,做了好多次调试。最后结果非常的走进科学:ESP32 时钟不准,每次唤醒都不到三点,于是刷新后会再定一个三点唤醒,于是就唤醒了两次 🙄。最让我 🙄 的点是 AI 从头到尾也没想到这个可能性,还是我提示的。。。

最后,整个项目最难的部分是把墨水屏塞到相框里,塞完之后已经 40 天没动了,运行良好,看电压变化估算掉电 40% 左右,如果配个 21700 电池每天刷两次跑半年不充电应该毫无问题。

其他一些收获

  • E6 屏号称六色,其实只有红黄蓝白四色,绿色是黄+蓝,黑色是所有颜色加一起,所以显示色域显著不如 CMYK 四色印刷(更别提六色了),不过新一代 ACeP 技术会稍好一些
  • 电子墨水屏除了色域的问题之外,相比印刷还有个问题是像素密度,因为印刷是可以墨点叠加实现更精细的控制的,但是电子墨水每一个点都是固定的,这就决定了近看还是差一些
  • 体感上一个模型在解决问题的时候如果两轮没搞定,那就大概率搞不定了,换不同的模型搞搞会更好

SONY 激光投影双闪红灯问题解决

过去一周家里的投影仪出现了一些奇怪的情况,症状开始播放视频或者从窗口播放切换到全屏的时候会强制关机,并闪五次红灯。说明书上只有闪一次和两次的情况,都是散热原因。

这个症状因为数次都是出现在点开视频的瞬间,很像 HDMI 接口协商导致的,加上早年曾经因为试图在 HDMI 2.0 上跑 DCI-4k(理论上支持但是经常黑屏,可能是因为我的线太长了),于是尝试从信号线入手解决,未果。散热用手试探温度很低,风扇也正常。

万事不决问 AI,AI 瞎编了一通,给的都是 SONY 电视的相关文案,最离谱的是它甚至连同个商品在不同国家的型号都没对应明白,问就是送修(我还不知道送修,需要你个 AI 废话)。最终还是古法解决问题,问 Google 找到了 AVSForum 老哥的经验贴:闪五次灯是亮度超限的意思,是个老问题,通过进入工程模式可以自行修复。

以下是修复方法:

  1. 进入工程模式:一般是开机按 enter enter 左 enter
  2. 按 menu 键打开菜单,这时候菜单左下角会多出一个 device 项目,点击进入菜单
  3. 选择 other,找到 85 LumiDac 1 和 86 LumiDac 2,记录下当前值,加 15 输入
  4. 搞定

如果你的投影打开就自动关机撑不到设置完毕,可以先进入普通菜单降低激光输出功率,改完了上面的之后再改回来。

问题的原因,老哥猜测是投影里面有一个亮度传感器,避免激光器太亮/太热导致烧机,但是这个传感器的性能随着使用时长会老化,导致阈值数字没变但是实质上降低了。通过工程模式调整那两个值调大了阈值,就没问题了。

我调整之后已经几天了,目前看效果显著没有复发。


Lockdown Mode 值得推荐

iPhone 17 等最强护盾:苹果“锁定模式”推出近 4 年,至今无成功破解记录

苹果发言人莎拉 · 奥罗克(Sarah O’Rourke)昨日向该媒体证实,目前未掌握任何针对开启“锁定模式”设备的成功攻击案例。 该媒体进一步指出,这一官方说法得到了第三方独立安全机构的印证。国际特赦组织安全实验室负责人多查 · 奥 · 卡尔拜尔表示,在他们调查的数十起间谍软件攻击中,没有证据表明 iPhone 开启该模式后被成功入侵。 多伦多大学公民实验室此前也公开指出,“锁定模式”曾成功拦截包括 Pegasus 和 Predator 在内的顶级间谍软件。

我在 2024 年上半年用了 5 个月的 Lockdown Mode,整体体验挺好的,对我自己来说最后不得不关掉的原因是没法使用共享相册了(Shared Album),如果不需要这个我大概率会重新开启。

Lockdown Mode 会影响以下功能:

  • Message:禁用附件(包括图片)
  • 浏览器:禁用部分高级 JS 脚本功能
  • FaceTime:禁用陌生人来电
  • 照片:当前设备禁用共享相册
  • 上网:禁止连接不安全的 Wi-Fi,禁止使用 2G / 3G 网络
  • 其他:不能安装配置文件,苹果服务的社交功能被限制

基本上卡死了近些年最主要的漏洞入口,近年主要的漏洞都是通过 Message 和浏览器的漏洞进入,这两个口的媒体解码器和 JIT 运行代码都有高性能需求,而且需求会快速变化,以至于几乎不可能完全没有漏洞,关掉可以一了百了。BTW,现代浏览器的复杂程度已经是操作系统级别了。

我们看一下过去几年苹果遭遇的重大安全事件:

  • Pegasus:通过 iMessage 发送文件,对面系统接收解析就会被利用浏览器漏洞攻破,无需用户点击
  • Operation Triangulation:和上面一样,又是 iMessage 发送恶意文件,无需点击
  • 一系列 Safari 安全事件:过去几年 iOS 和 macOS 的 Safari 一直在发安全补丁,大有一种补不完的感觉,这些漏洞一方面是用户访问恶意网站会被入侵,另一方面也会被上面的攻击利用

那么问题来了,是不是苹果这系统不安全呢?不是哦,从当前浏览器的工作方式看,主流浏览器的安全性没有本质区别,默认设置 Safari 可能稍微好一点。至于操作系统,macOS / iOS 是显著比 Android / Windows 安全很多的。

最近也接到过陌生号码的 iMessage 广告图片,还是打算手机上打开 Lockdown Mode,毕竟手机被攻破太可怕了。


Jony Ive 热爱的还是奢侈品

Jony Ive 的 LoveFrom, 和巴慕达合作推出了第二款商品,一个时钟,名字也挺屌,就叫 The Clock。我在群里看到网友发图的时候还不知道是谁做的,第一感觉就是真好看,想要。但是一看价格:59400 日元。打扰了。

LoveFrom, 最近公开的项目方向各异,但是都有一个共同的特征,贵,奢:

东西都是好东西,甚至看视频都能感觉到这玩意真好,能看出 Jony Ive 对细节的执着,但是价格都属于普通人摸不到的水平。联想到他在苹果最后主持的产品是初代 Apple Watch,传闻 18K 金外壳的 Apple Watch Edition 就是他坚持要做的。虽然手表本身有饰品属性,但是黄金?他可能真的很热爱奢侈品,过去几十年一直做平价(以发达国家消费水平看)消费电子产品也是不容易。

最后,这个钟,要是有缘分还是想要买一个,就是太好看了(目前官网四月中的货已经售罄,想要有缘分也是很难了)。。


慢充浅充对动力电池健康有益

跑了 50 多万公里电池仅衰减 8%:美国专车司机分享福特纯电 SUV 保养秘诀 - IT之家

原出处:A Mustang Mach-E Crossed 316,000 Miles, But It’s Another Number That Stands Out

美国加州专车司机 David Blenke 驾驶一辆 2022 款福特电马(Mustang Mach-E)长续航版,累计行驶里程已突破 31.6 万英里(约 50.85 万公里),电池衰减率仅为 8%。

作为对比,电动汽车分析公司 Recurrent 的数据显示,大多数行驶 25 万英里的电动汽车,其电池健康度通常会降至 80% 左右。这辆福特电马高达 92% 的电池健康度,显然远超行业平均水准。
No doubt, Blenke’s charging habits help keep the battery pack in good health. He says he charges to 90 percent every night and tries to avoid letting the battery slip below 20 percent. Most charging is done with a Level 2 charger at home and Electrify America’s public network while working. He also carries an adapter that allows access to Tesla’s Supercharger network when necessary.

关于充电习惯的部分,IT 之家的文章翻译不太准确,引用了原文。文中提到的 Level 2 Charger 是 10kW 慢充桩。2022 款电马长续航款是三元锂电池,这个老哥的操作几乎可以说是教科书式的电池保养,8% 的衰减一多半可能还是日历寿命的减少。

对于家用新能源车来说,如果打算长期使用可以参考这个老哥的方式使用:

  1. 能充就充,不用等到用光电
  2. 平时充到 80%~90% 就好
  3. 有条件就用慢充
  4. 避免总是用到极低电量

说实话我观察到很多车主实际上是反向操作的,经常用到表显没电,然后用超快充充到 95%,反复这么搞可能会导致电池快速老化。