<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://blog.gadore.top</id>
    <title>千里之豪的格物垛</title>
    <link href="https://blog.gadore.top" />
    <updated>2026-05-07T12:30:19.000Z</updated>
    <category term="旅行" />
    <category term="日本" />
    <category term="手机" />
    <category term="程序员" />
    <category term="动漫" />
    <category term="AI" />
    <category term="Copilot" />
    <category term="Openclaw" />
    <category term="刷机" />
    <category term="Pixel 5" />
    <category term="LineageOS" />
    <category term="NAS" />
    <category term="相册" />
    <category term="网络" />
    <category term="iOS" />
    <category term="独立开发" />
    <category term="群晖" />
    <category term="Obsidian" />
    <category term="唯记" />
    <category term="V2RMB" />
    <category term="Way 2 Remember" />
    <category term="倒数日" />
    <category term="iPhone" />
    <category term="墨水屏" />
    <category term="产品" />
    <category term="SwiftUI" />
    <category term="像素风" />
    <category term="全飞秒" />
    <category term="全飞秒二代" />
    <category term="近视" />
    <category term="眼睛" />
    <category term="眼镜" />
    <category term="上海五官科医院" />
    <category term="安全" />
    <category term="博客" />
    <category term="公租房" />
    <category term="生活" />
    <category term="Swift" />
    <category term="腕表" />
    <category term="拓竹" />
    <category term="P2SC" />
    <category term="红米 K Pad" />
    <category term="小米手环 10 NFC" />
    <category term="游戏" />
    <category term="PCB" />
    <category term="树莓派" />
    <category term="嘉立创" />
    <entry>
        <id>https://blog.gadore.top/archives/synosync/</id>
        <title>SynoSync｜让群晖与 iOS 之间的文件同步真正「现代化」</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/synosync/"/>
        <content type="html">&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/ChatGPT%20Image%202026%E5%B9%B45%E6%9C%887%E6%97%A5%2013_29_47%20(1).png&#34; alt=&#34;ChatGPT Image 2026年5月7日 132947 1png&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更新：1.0.8 或者更新的版本已增加 WebDAV 协议支持，所以就算没有群晖 DSM 系统的 NAS 现在也可以使用 SynoSync 啦～&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;开发背景：关于安全感与掌控感&#34;&gt;&lt;a href=&#34;#开发背景：关于安全感与掌控感&#34; class=&#34;headerlink&#34; title=&#34;开发背景：关于安全感与掌控感&#34;&gt;&lt;/a&gt;开发背景：关于安全感与掌控感&lt;/h2&gt;&lt;p&gt;一直以来，基于 Markdown 纯文本的 Obsidian 文档库给了我极强的安全感与掌控感。&lt;/p&gt;
&lt;p&gt;在我的工作流中，NAS 承担着文档库托管与同步的核心角色。群晖 Drive 在 Windows、Mac、Linux 乃至 Android 平台上的体验都堪称出色，唯独在 iOS 端，这种连贯性戛然而止。&lt;/p&gt;
&lt;h2 id=&#34;困境：iOS-上的群晖-Drive，为何不够「现代化」？&#34;&gt;&lt;a href=&#34;#困境：iOS-上的群晖-Drive，为何不够「现代化」？&#34; class=&#34;headerlink&#34; title=&#34;困境：iOS 上的群晖 Drive，为何不够「现代化」？&#34;&gt;&lt;/a&gt;困境：iOS 上的群晖 Drive，为何不够「现代化」？&lt;/h2&gt;&lt;p&gt;在 iOS 生态下，群晖 Drive 的同步范围被严格限制在自身的沙盒文件夹内（应该是考虑到旧版本 iOS 兼容性）。这意味着 Obsidian 无法直接调用 Drive 的同步能力来读取文档库。对于追求「全平台一致体验」的开发者来说，这成了最难受的断层。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/Icon%201024%20(1).png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;Obsidian-的多平台同步方案现状&#34;&gt;&lt;a href=&#34;#Obsidian-的多平台同步方案现状&#34; class=&#34;headerlink&#34; title=&#34;Obsidian 的多平台同步方案现状&#34;&gt;&lt;/a&gt;Obsidian 的多平台同步方案现状&lt;/h2&gt;&lt;p&gt;如果你想自建 Obsidian 文档库同步，目前主流方案的优劣对比清晰可见：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;方案&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;优点&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;缺点&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;官方 Sync 服务&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;集成度最高，支持最完美&lt;/td&gt;
&lt;td&gt;订阅制费用随空间上涨；隐私完全托付于第三方&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;iCloud&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;苹果原生支持，全家桶体验好&lt;/td&gt;
&lt;td&gt;仅限 Apple 生态；大库订阅费高；同步状态黑盒化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;自托管 + 插件&lt;/strong&gt; (如 Remotely Save)&lt;/td&gt;
&lt;td&gt;空间不受限，隐私高度可控&lt;/td&gt;
&lt;td&gt;需维护内网穿透及 WebDAV 服务；配置门槛较高&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;如果你和我一样，希望文档库具备更安全的托管方式，&lt;strong&gt;Remotely Save + WebDAV&lt;/strong&gt; 依然是目前的权宜之计。但要获得稳定的体验，通常还需折腾 &lt;strong&gt;HTTPS、内网穿透、DDNS 或 Cloudflare&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;那么，难道就没有一种方案，能让我们直接复用 QuickConnect 那种「开箱即用」的穿透能力与内外网自动切换逻辑，在免去繁琐穿透配置的同时，实现真正的文档库自动同步到任何地方？&lt;/p&gt;
&lt;h2 id=&#34;我的「万级」文件同步噩梦&#34;&gt;&lt;a href=&#34;#我的「万级」文件同步噩梦&#34; class=&#34;headerlink&#34; title=&#34;我的「万级」文件同步噩梦&#34;&gt;&lt;/a&gt;我的「万级」文件同步噩梦&lt;/h2&gt;&lt;p&gt;我的 Obsidian 文档库包含 &lt;strong&gt;26,000+ 个文件&lt;/strong&gt;，总体积接近 &lt;strong&gt;10GB&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2026-05-07_12.56.08%20(1).png&#34;&gt;&lt;/p&gt;
&lt;p&gt;在这种规模下，单纯依赖 Obsidian 的前台插件同步，体验会呈断崖式下降。更棘手的是，常规插件方案很难像群晖官方 App 那样，根据网络环境（局域网 vs 公网）自动且智能地切换连接地址。&lt;/p&gt;
&lt;p&gt;为了解决这些切肤之痛，我开发了 &lt;strong&gt;SynoSync&lt;/strong&gt;。它的目标非常明确：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;彻底解决「群晖 + iOS」用户的文档库同步难题。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;SynoSync-能为你做什么？&#34;&gt;&lt;a href=&#34;#SynoSync-能为你做什么？&#34; class=&#34;headerlink&#34; title=&#34;SynoSync 能为你做什么？&#34;&gt;&lt;/a&gt;SynoSync 能为你做什么？&lt;/h2&gt;&lt;h3 id=&#34;1-多账号与多任务的灵活管理&#34;&gt;&lt;a href=&#34;#1-多账号与多任务的灵活管理&#34; class=&#34;headerlink&#34; title=&#34;1. 多账号与多任务的灵活管理&#34;&gt;&lt;/a&gt;1. 多账号与多任务的灵活管理&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;支持配置多台 DSM：&lt;/strong&gt; 完美适配拥有多套群晖环境的进阶用户。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;支持多同步任务并行：&lt;/strong&gt; 你可以针对不同的 App、不同的本地路径，创建多条上传、下载或双向同步任务，灵活构建你的同步方案。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-覆盖全场景的同步模式&#34;&gt;&lt;a href=&#34;#2-覆盖全场景的同步模式&#34; class=&#34;headerlink&#34; title=&#34;2. 覆盖全场景的同步模式&#34;&gt;&lt;/a&gt;2. 覆盖全场景的同步模式&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/Icon%201024%20(1)-eaFO.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;前台同步：&lt;/strong&gt; 实时可见的极速同步。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;大批量初始化：&lt;/strong&gt; 针对首次同步或超大文件夹优化的传输模式。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;后台静默同步：&lt;/strong&gt; 无需干预，在系统允许的范围内自动对齐差异。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;快捷指令触发：&lt;/strong&gt; 联动 iOS 自动化，解锁更多高效玩法。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-直观的状态追踪&#34;&gt;&lt;a href=&#34;#3-直观的状态追踪&#34; class=&#34;headerlink&#34; title=&#34;3. 直观的状态追踪&#34;&gt;&lt;/a&gt;3. 直观的状态追踪&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/Icon%201024%20(1)-pYDC.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Activity 报告：&lt;/strong&gt; 每一个文件的流转都清晰可查。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;小组件支持：&lt;/strong&gt; 无需打开 App，在桌面即可实时观察同步进度。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;一些坦诚的局限性……&#34;&gt;&lt;a href=&#34;#一些坦诚的局限性……&#34; class=&#34;headerlink&#34; title=&#34;一些坦诚的局限性……&#34;&gt;&lt;/a&gt;一些坦诚的局限性……&lt;/h2&gt;&lt;p&gt;在开发 SynoSync 的这一个多月里，最让我抓狂的莫过于 iOS 严苛的后台机制。&lt;/p&gt;
&lt;p&gt;众所周知，iOS 采用了近乎「墓碑式」的后台管理。对于 SynoSync 这种需要频繁进行网络请求、文件比对及高强度读写的 App 来说，后台环境极其不友好。为了实现优雅的「静默同步」，我尝试了各种姿势去突破限制，但必须承认：&lt;strong&gt;它的后台效果依然无法达到 Android 或 PC 端的随心所欲。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;特别是在面对我那 2.6 万个文件的「巨型库」时，iOS 的后台限制会导致同步耗时拉长。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;因此，SynoSync 提供的最终解法是：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;先通过「前台大批量同步」完成沉重的初始化任务，后续的日常增量更新，则交给「后台比对」去静默完成。&lt;/p&gt;
&lt;p&gt;如果你发现 SynoSync 发出了后台同步失败的通知，也不用惊慌，这只是 iOS 后台切断了 App 的后台网络权限（为了省电），SynoSync 会在下一个 iOS 允许的时间窗口重新尝试同步的。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;下载地址&#34;&gt;&lt;a href=&#34;#下载地址&#34; class=&#34;headerlink&#34; title=&#34;下载地址&#34;&gt;&lt;/a&gt;下载地址&lt;/h3&gt;&lt;p&gt;&lt;a href=&#34;https://apps.apple.com/cn/app/synosync/id6762731663&#34;&gt;App Store&lt;/a&gt;&lt;/p&gt;
</content>
        <category term="程序员" />
        <category term="NAS" />
        <category term="iOS" />
        <category term="独立开发" />
        <category term="群晖" />
        <category term="Obsidian" />
        <updated>2026-05-07T12:30:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/v2rmb-free/</id>
        <title>iOS 应用：唯记，限免</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/v2rmb-free/"/>
        <content type="html">&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%88%AA%E5%B1%8F%202026-04-01%2016.32.53_%E5%89%AF%E6%9C%AC-HfAM.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;开发背景&#34;&gt;&lt;a href=&#34;#开发背景&#34; class=&#34;headerlink&#34; title=&#34;开发背景&#34;&gt;&lt;/a&gt;开发背景&lt;/h2&gt;&lt;p&gt;上大学时，我是看着一堆独立开发者的故事毕业的，Kavin、Magabits、八爷等等，他们在我的心里留下了一个执念。&lt;/p&gt;
&lt;p&gt;在具备了实力（系统学习了编程）和财力（工作后有钱购买 💻 Macbook Pro）之后，我也终于着手开发出了一款自己的 App：唯记&lt;/p&gt;
&lt;p&gt;那可是 2020 年，AI 还无法使用，SwiftUI 的文档也散落在互联网的各个角落的时代。「唯记」开发出来后，我想着如果有人也想用，就象征性地付费给我一块钱，这样我们都有光明的未来🐶。&lt;/p&gt;
&lt;h2 id=&#34;当前营收状况&#34;&gt;&lt;a href=&#34;#当前营收状况&#34; class=&#34;headerlink&#34; title=&#34;当前营收状况&#34;&gt;&lt;/a&gt;当前营收状况&lt;/h2&gt;&lt;p&gt;但，既然只有很少人看得到这个帖子，我也就不嫌丢人了：实际上这三年来用户数量始终没有突破1000，好吧，甚至没有突破500。&lt;/p&gt;
&lt;p&gt;错误当然在我，因为我也并没有真正把它当作一个正经的可以盈利的 App 在运作。截止到目前也就3～400人在使用。相对应的，我这几年的 App Store 开发者账号付费已经轻松超过 1k 了 。&lt;/p&gt;
&lt;p&gt;我必须承认我不是一个合格的独立开发者（本来也不是……）😭，这款 App 也过于平庸，我现在终于接受了它的平庸，但我仍旧还没接受自己的平庸，即使 Github 的废案仓库一个接着一个地建，我还在努力爬行，我知道现在早已不是一个独立开发者的黄金时代，但心里总是放不下那种执念。&lt;/p&gt;
&lt;h2 id=&#34;如果你真的喜欢&#34;&gt;&lt;a href=&#34;#如果你真的喜欢&#34; class=&#34;headerlink&#34; title=&#34;如果你真的喜欢&#34;&gt;&lt;/a&gt;如果你真的喜欢&lt;/h2&gt;&lt;p&gt;咳咳，总而言之，既然我一直没打算靠 唯记 赚钱，那设置这一块钱的付费反而是画蛇添足，现在永久免费啦～&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/Icon%201024.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果你真的真的喜欢唯记的话：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;App 本身的安装后占用是不超过15MB 的，应该足够轻量；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;使用的是 iCloud 同步 Sqlite 数据库，绝对的隐私友好；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;对苹果即将到来的 AI 支持应该是很好的（适配了 App Intent，方便 siri 调用）；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;无内购、无广告、无账号绑定，现在也无需付费了，放心食用～&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;%5B%E7%BD%91%E9%A1%B5%E9%93%BE%E6%8E%A5%5D(https://sspai.com/post/102845)&#34;&gt;搭配 Quote&amp;#x2F;0 ，也很好玩哦～&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%88%AA%E5%B1%8F%202026-04-01%2015.55.10-FcRx.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;下载地址&#34;&gt;&lt;a href=&#34;#下载地址&#34; class=&#34;headerlink&#34; title=&#34;下载地址&#34;&gt;&lt;/a&gt;下载地址&lt;/h2&gt;&lt;p&gt;下载地址：&lt;a href=&#34;https://apps.apple.com/us/app/v2rmb/id6502951931&#34;&gt;‎V2RMB App - App Store&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;或者直接 App Store 搜索：v2rmb&lt;/p&gt;
</content>
        <category term="iOS" />
        <category term="独立开发" />
        <category term="唯记" />
        <category term="V2RMB" />
        <category term="Way 2 Remember" />
        <category term="倒数日" />
        <updated>2026-04-02T08:28:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/copilot-token-monitoring/</id>
        <title>为了解决 Openclaw 的 Token 恐怖消耗，我做了这些事……</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/copilot-token-monitoring/"/>
        <content type="html">&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/IMG_0809.jpg&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ Agent failed before reply: All models failed (17): github-copilot&amp;#x2F;claude-haiku-4.5: Provider github-copilot is in cooldown (all profiles unavailable) (rate_limit) | ……………………………… github-copilot&amp;#x2F;gpt-5: Provider github-copilot is in cooldown (all profiles unavailable) (rate_limit).&lt;/p&gt;
&lt;p&gt;Logs: openclaw logs –follow&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;从 2 月给树莓派装上 Openclaw 开始，我的 Copilot Pro 订阅就被过度消耗了，自己平时写代码拼命去用也很难用完的 300 次 PR （高级模型请求次数），Openclaw 两天就可以用完，所以对这种消耗焦虑就一直萦绕在我心中。到了 3 月，我就尝试了些折腾方式来跟踪我的 Token（PR） 用量。&lt;/p&gt;
&lt;h2 id=&#34;使用低速率模型（Flash、-mini）&#34;&gt;&lt;a href=&#34;#使用低速率模型（Flash、-mini）&#34; class=&#34;headerlink&#34; title=&#34;使用低速率模型（Flash、 mini）&#34;&gt;&lt;/a&gt;使用低速率模型（Flash、 mini）&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/lowCostModel.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;使用低速率模型的确可以给消耗打三折，但低速率模型也会带来模型降智，降智后好多任务需要我反复纠错，一来二去省掉的模型用量还是浪费了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/clawbot.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;增加监控手段&#34;&gt;&lt;a href=&#34;#增加监控手段&#34; class=&#34;headerlink&#34; title=&#34;增加监控手段&#34;&gt;&lt;/a&gt;增加监控手段&lt;/h2&gt;&lt;p&gt;Openclaw 有时候经常会不声不响地跑大半天，在我看不到的地方消耗大量的 Token 但没有产出任何有效的产物；有时候又会摆烂，跟聊天网页一样，我说一句，他后台跑10分钟就歇菜了，我还得频繁去打开网页问他状态，所以监控 Token 的消耗趋势可以得知 Openclaw 是否在后台正常的工作。&lt;/p&gt;
&lt;h3 id=&#34;1、Quote-0-墨水屏监控&#34;&gt;&lt;a href=&#34;#1、Quote-0-墨水屏监控&#34; class=&#34;headerlink&#34; title=&#34;1、Quote&amp;#x2F;0 墨水屏监控&#34;&gt;&lt;/a&gt;1、Quote&amp;#x2F;0 墨水屏监控&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/quote_copilot_monitor.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;2、iOS-小组件监控-（Http-Widget）&#34;&gt;&lt;a href=&#34;#2、iOS-小组件监控-（Http-Widget）&#34; class=&#34;headerlink&#34; title=&#34;2、iOS 小组件监控 （Http Widget）&#34;&gt;&lt;/a&gt;2、iOS 小组件监控 （Http Widget）&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/HttpWidget.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;3、Android-小组件监控-HTTP-快捷指令&#34;&gt;&lt;a href=&#34;#3、Android-小组件监控-HTTP-快捷指令&#34; class=&#34;headerlink&#34; title=&#34;3、Android 小组件监控 ( HTTP 快捷指令 )&#34;&gt;&lt;/a&gt;3、Android 小组件监控 ( HTTP 快捷指令 )&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/http_shortcuts.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/copilot_widget_1.png&#34;&gt;&lt;/p&gt;
&lt;figure class=&#34;highlight javascript&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;const&lt;/span&gt; payload = &lt;span class=&#34;title class_&#34;&gt;JSON&lt;/span&gt;.&lt;span class=&#34;title function_&#34;&gt;parse&lt;/span&gt;(response.&lt;span class=&#34;property&#34;&gt;body&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;const&lt;/span&gt; usageItems = payload &amp;amp;&amp;amp; payload.&lt;span class=&#34;property&#34;&gt;usageItems&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;let&lt;/span&gt; gross = &lt;span class=&#34;number&#34;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;if&lt;/span&gt; (usageItems &amp;amp;&amp;amp; usageItems.&lt;span class=&#34;property&#34;&gt;length&lt;/span&gt;) &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;  &lt;span class=&#34;keyword&#34;&gt;for&lt;/span&gt; (&lt;span class=&#34;keyword&#34;&gt;let&lt;/span&gt; i = &lt;span class=&#34;number&#34;&gt;0&lt;/span&gt;; i &amp;lt; usageItems.&lt;span class=&#34;property&#34;&gt;length&lt;/span&gt;; i++) &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;const&lt;/span&gt; item = usageItems[i]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;if&lt;/span&gt; (item &amp;amp;&amp;amp; item.&lt;span class=&#34;property&#34;&gt;product&lt;/span&gt; === &lt;span class=&#34;string&#34;&gt;&amp;#x27;Copilot&amp;#x27;&lt;/span&gt;) &amp;#123;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;      gross += &lt;span class=&#34;title class_&#34;&gt;Number&lt;/span&gt;(item.&lt;span class=&#34;property&#34;&gt;grossQuantity&lt;/span&gt; || &lt;span class=&#34;number&#34;&gt;0&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;  &amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;// 计算百分比&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;const&lt;/span&gt; usagePercent = (gross / &lt;span class=&#34;number&#34;&gt;300&lt;/span&gt;) * &lt;span class=&#34;number&#34;&gt;100&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;// 使用 toFixed(1) 保留一位小数&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;const&lt;/span&gt; formattedPercent = usagePercent.&lt;span class=&#34;title function_&#34;&gt;toFixed&lt;/span&gt;(&lt;span class=&#34;number&#34;&gt;1&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;title function_&#34;&gt;setVariable&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;quot;Copilot&amp;quot;&lt;/span&gt;, &lt;span class=&#34;string&#34;&gt;&amp;#x27;Copilot: &amp;#x27;&lt;/span&gt; + formattedPercent + &lt;span class=&#34;string&#34;&gt;&amp;#x27;%&amp;#x27;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;JavaScript&lt;/p&gt;
&lt;h2 id=&#34;改用-Github-Agent-Action&#34;&gt;&lt;a href=&#34;#改用-Github-Agent-Action&#34; class=&#34;headerlink&#34; title=&#34;改用 Github Agent + Action&#34;&gt;&lt;/a&gt;改用 Github Agent + Action&lt;/h2&gt;&lt;p&gt;当你深入使用 Openclaw 了一段时间之后，你很快就会发现他的瓶颈，你让他做简单的事情，他可以很快帮你搞定，但你如果让他帮你开发项目，随着项目的功能复杂度上升、业务逻辑逐渐展开给大模型后，Openclaw 很快就开始失控了：它会反复在一个地方出错，或者改好了一个地方后又会在另一个地方出问题。这不仅仅消耗你大量 Token，还会消耗你大量时间和精力，反反复复好几次之后，你会像我一样萌生这样一个想法：我自己写都比让他改要强。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/thumbnails/2026/w1600/iShot2026-03-2614.02.15.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;但好在 Openclaw 已经搅动了 Agent 的整个格局，现在其他家也已经在自动化 Agent 助手功能方面做了不小的升级，以我现在在用的 Github Copilot 的订阅为例，如果你是开发工程师，并且有一定的框架思维的话，你完全可以站在架构师的层面上（其实没有也行，问 AI 就好了），使用 Github 的 Agent + Action 实现不输于 Openclaw 的工程开发能力，这种方式会让整个工程在规模逐渐庞大之后仍旧保证基本可控，而且消耗的 Token 量要小非常多。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2026-03-26_13.49.02-fajE.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;同样可以运行测试，甚至可以运行无头浏览器测试！！&lt;/p&gt;
&lt;p&gt;当然了，Copilot 也有犯蠢的时候：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2026-03-26_13.28.57-ImKA.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;但相对于 Openclaw 项目复杂度上升后 Token 消耗也指数级上升，这种可控的消耗方式还是更容易让人（我）接受～&lt;/p&gt;
&lt;h2 id=&#34;升级-Copilot-Pro&#34;&gt;&lt;a href=&#34;#升级-Copilot-Pro&#34; class=&#34;headerlink&#34; title=&#34;升级 Copilot Pro +&#34;&gt;&lt;/a&gt;升级 Copilot Pro +&lt;/h2&gt;&lt;p&gt;如果你已经开始用起来这个 Github Copilot，那么恭喜你，你已经使用 10 美元雇佣了一个能力超强的开发工程了，他任劳任怨，随叫随到，你可以一天分配给他 10 个开发任务，然后坐等他叫你验收就好了。&lt;/p&gt;
&lt;p&gt;如果你还想继续扩大你的公司规模，可以升级 Github Copilot Pro +，39 刀，你就可以额外再雇佣 4 名能力非凡的开发工程师。&lt;/p&gt;
</content>
        <category term="程序员" />
        <category term="AI" />
        <category term="Copilot" />
        <category term="Openclaw" />
        <updated>2026-03-26T12:28:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/smile-pro/</id>
        <title>上海复旦五官科医院，2026 年全飞秒激光二代，手术分享</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/smile-pro/"/>
        <content type="html">&lt;h2 id=&#34;我的眼部情况&#34;&gt;&lt;a href=&#34;#我的眼部情况&#34; class=&#34;headerlink&#34; title=&#34;我的眼部情况&#34;&gt;&lt;/a&gt;我的眼部情况&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;超过 15 年戴眼镜的经历，受够了眼镜雾气、下雨躲雨、低头扶镜框、不戴眼镜啥也看不清等等各种不便&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;大概近视度数：左边 300 + 100 散光，右眼 350&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2023 年做过一次检查，当时医生说我可能有青光眼，不适合做全飞秒，可以尝试准分子，我拒绝了&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;当时我还额外挂了专家号，专家说需要一年后复查，看下青光眼的可能性&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2026-年-1-月-5-号，术前检查，耗时：整个下午&#34;&gt;&lt;a href=&#34;#2026-年-1-月-5-号，术前检查，耗时：整个下午&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 5 号，术前检查，耗时：整个下午&#34;&gt;&lt;/a&gt;2026 年 1 月 5 号，术前检查，耗时：整个下午&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;医院：上海复旦大学附属眼耳鼻喉科医院（宝庆路分院）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;挂号：刘盛涛（那天下午只有他有号，其他医生的号都满了，哈哈）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;过程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;网上银行或者医院一楼挂号，可以在一楼缴费或者挂号处缴费&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;到对应医生所在楼层（一般在 4、5 楼）进行就医签到&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;签到后，在同楼层，找到服务台，领取必要的术前检查流程指导书，指导书会详细告诉你每一步需要做什么检查&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;按照指示到不同的房间做各种检查，这个过程会持续超过 2～3 小时，其中包含但不限于：&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;角膜地形图&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;验光（精确查看近视程度、散光度数）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;扩瞳，也叫散瞳，做完之后会有一点儿畏光，因为眼睛的瞳孔被用扩瞳药水强行散开，进光量无法控制，应该是为了方便医生检查眼内的各种细节&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;眼底检查（青光眼、眼部各种潜在病变）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多说一句，排在我前边的哥们儿，查到这一项的时候，医生说他眼睛里有个小洞，需要赶紧用激光手术封上，否则会越来越大……显然，在封上之前，他没办法做激光手术，医生说做完修补手术后，如果一切正常，可以再考虑做激光手术。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;各种红色、白色的激光照射检查……&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;&lt;p&gt;所有检查做完之后，就可以拿着检查报告去找最初你挂号的医生去做诊断了，医生会告诉你，你适不适合做手术，以及什么时候可以做手术（预约手术时间）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;如果你决定要做手术，就直接上 6 楼，护士服务站会给你一个术前准备说明，还会跟你讲术前几天需要准备的&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2026-年-1-月-13-号，手术前抽血，检查血常规、梅毒、艾滋等等（为了自己也是为了医生的安全）&#34;&gt;&lt;a href=&#34;#2026-年-1-月-13-号，手术前抽血，检查血常规、梅毒、艾滋等等（为了自己也是为了医生的安全）&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 13 号，手术前抽血，检查血常规、梅毒、艾滋等等（为了自己也是为了医生的安全）&#34;&gt;&lt;/a&gt;2026 年 1 月 13 号，手术前抽血，检查血常规、梅毒、艾滋等等（为了自己也是为了医生的安全）&lt;/h2&gt;&lt;p&gt;因为是 1 月 14 号手术，如果在手术相同的医院抽血检查，只需要提前一天，而且抽完血直接就可以走，不用等报告，同医院的信息系统是相通的，如果不是在同一家医院抽血，就需要把其他医院的抽血报告在手术当天带到医院。&lt;/p&gt;
&lt;h2 id=&#34;2026-年-1-月-14-号，手术&#34;&gt;&lt;a href=&#34;#2026-年-1-月-14-号，手术&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 14 号，手术&#34;&gt;&lt;/a&gt;2026 年 1 月 14 号，手术&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;因为做完手术之后，眼睛有接近半小时几乎什么都看不到，就算能看到，重影也会非常严重，所以强烈建议带一个人陪同。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;到场之后，直接到 6 楼签到，护士站会给你额头上标记，还会带一个手术信息手环&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;到自动缴费机去交费（2W+）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;到 1 楼提前把后期要用的眼药水领了（主要作用：消炎、人工泪水）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;等待手术叫号（根据情况而定，可能持续两个小时，所以该吃吃、该睡睡）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;叫号后，把眼镜、外套等等内容全部给家属，到手术准备室门口&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;穿鞋套、手术服、坐在等待区&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;首先，会有一个护士过来确定你的身份和信息，以及你的手术内容、主刀医生&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;其次，会有一个护士过来帮你做眼部消毒，消完毒之后眼睛会有点儿难受，不好睁开，闭起来就好了，等待最终手术叫号&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;然后，会有一个护士过来叫你，带你去手术室（扶着你）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;躺在手术床上，护士会再次确认你的身份、手术内容、主治医生信息&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;主治医师到场，让你躺在床（手术台）上，开始手术准备&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;护士会帮你滴眼药水（眼球表皮麻醉）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;医生把眼皮撑放在你的右眼，把激光工具放在你眼睛上，你盯着激光的绿点，大概十秒钟左右，机器吸附到你的眼球（因为麻醉了，所以几乎不会有任何感觉），完成扫描、锁定、激光作业，完成后你的右眼会变成模糊的白色，这个时候什么也看不到（因为已经在角膜里切出来了一个镜片，中间有空隙，所以一片白），持续大概十几秒钟。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;医生会立刻取出右眼眼撑，放到左眼，再重复刚刚右眼的步骤，这样之后，你两只眼都是白茫茫的一片了。这个过程也是持续大概十多秒钟&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;医生会立刻使用镊子，取出激光切割的左眼的多余角膜，取出后，立刻把眼撑切换到右边，继续取出右边的多余角膜，眼撑可以取出了。这个过程大概也就半分钟。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;截止到目前为止，手术过程基本上就结束了，这个时候你基本上什么也看不清，世界非常的模糊，只能看到大概的轮廓，护士会协助你走到术后观察室，坐大概 5 分钟，这个过程中，护士会告诉你术后注意事项和用药注意事项（你大概记不住，但她给你的单子里什么都有写，拿着给当日陪同的家属就行）。然后会告诉你：觉得没什么异常就可以走了，因为你这个时候已经可以模糊的看清走廊的大概轮廓了，但是非常模糊，需要去找家属，然后坐下来休息一下。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;没错，整个手术过程，从开始准备手术，到手术结束，一共就十几分钟。而&lt;strong&gt;真正的手术部分可能就短短一两分钟&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&#34;2026-年-1-月-14-号，手术后半小时&#34;&gt;&lt;a href=&#34;#2026-年-1-月-14-号，手术后半小时&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 14 号，手术后半小时&#34;&gt;&lt;/a&gt;2026 年 1 月 14 号，手术后半小时&lt;/h2&gt;&lt;p&gt;需要每隔 5 ～ 10 分钟滴一种眼药水，具体眼药水会有说明清单（手术后护士给你的那张），可以坐在医院的等候室把最近半小时的眼药水滴完，这个过程中，眼睛会从完全模糊，变成逐渐能够看到一定的内容了，只是有非常严重的重影。眼睛开始有点酸，但不怎么痛。&lt;/p&gt;
&lt;h2 id=&#34;2026-年-1-月-14-号，手术后一到两小时&#34;&gt;&lt;a href=&#34;#2026-年-1-月-14-号，手术后一到两小时&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 14 号，手术后一到两小时&#34;&gt;&lt;/a&gt;2026 年 1 月 14 号，手术后一到两小时&lt;/h2&gt;&lt;p&gt;眼睛逐渐可以看到世界的一些原本的样貌了，会一点点怕强光，还有手机基本上看不清楚，重影非常严重，但是看远处的房子、树木、都能够看到了，只是有一定的重影，会有点儿激动，尤其是戴了眼镜超过 10 年以上的人，会有一种隐隐的解脱感。&lt;/p&gt;
&lt;h2 id=&#34;2026-年-1-月-14-号，手术后半天&#34;&gt;&lt;a href=&#34;#2026-年-1-月-14-号，手术后半天&#34; class=&#34;headerlink&#34; title=&#34;2026 年 1 月 14 号，手术后半天&#34;&gt;&lt;/a&gt;2026 年 1 月 14 号，手术后半天&lt;/h2&gt;&lt;p&gt;手机基本上可以看到，但是重影比较严重，看久了眼睛会累，看电视、看远处、都只是有一些重影，但已经基本上可以看清了。感觉效果已经非常好了。&lt;/p&gt;
&lt;h2 id=&#34;手术后第一天，复查&#34;&gt;&lt;a href=&#34;#手术后第一天，复查&#34; class=&#34;headerlink&#34; title=&#34;手术后第一天，复查&#34;&gt;&lt;/a&gt;手术后第一天，复查&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;到院后直接去 2 或者 5 楼签到，找到术后复查的机器做签到&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;签到后，在大厅找到测视力的医生做视力检查，我这个时候已经双眼 1.2 了&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;到 206 专用复查室检查眼部状况（角膜地形图等等吧，我不太专业）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;带着检查的报告去找主刀医生复诊，医生说：非常棒，按照用药单正常用药即可。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;手术后第一周&#34;&gt;&lt;a href=&#34;#手术后第一周&#34; class=&#34;headerlink&#34; title=&#34;手术后第一周&#34;&gt;&lt;/a&gt;手术后第一周&lt;/h2&gt;&lt;h3 id=&#34;注意事项：&#34;&gt;&lt;a href=&#34;#注意事项：&#34; class=&#34;headerlink&#34; title=&#34;注意事项：&#34;&gt;&lt;/a&gt;注意事项：&lt;/h3&gt;&lt;p&gt;眼睛不能进水。&lt;/p&gt;
&lt;p&gt;正常用眼（不要过度用眼），我就正常使用手机、电脑、看电视。&lt;/p&gt;
&lt;p&gt;重影（炫光）仍旧存在，医生说需要大概一个月左右才会彻底消失。&lt;/p&gt;
&lt;p&gt;早上起床后，尤其是被公司顶灯的强光照久了之后，重影会比较严重，暗光下视力正常。&lt;/p&gt;
&lt;h3 id=&#34;你会：&#34;&gt;&lt;a href=&#34;#你会：&#34; class=&#34;headerlink&#34; title=&#34;你会：&#34;&gt;&lt;/a&gt;你会：&lt;/h3&gt;&lt;p&gt;虚空扶镜框多次&lt;/p&gt;
&lt;p&gt;睁开眼睛就能看到清晰的世界，不用再去找眼镜了&lt;/p&gt;
&lt;p&gt;努力克服摘眼镜羞耻，现在是另一种模样了&lt;/p&gt;
&lt;h2 id=&#34;术后第二周&#34;&gt;&lt;a href=&#34;#术后第二周&#34; class=&#34;headerlink&#34; title=&#34;术后第二周&#34;&gt;&lt;/a&gt;术后第二周&lt;/h2&gt;&lt;p&gt;保持正常滴眼药水，此时炫光的情况渐渐少了很多，眼睛也可以正常进水了，除了要定时滴眼药水，基本上不影响正常生活了。&lt;/p&gt;
&lt;p&gt;早上视力会有点儿差，不知道是不是我的个人体质问题，之前带眼镜的时候，眼睛早上视力也比较差，眼部视力到下午和晚上之后就正常了。&lt;/p&gt;
&lt;p&gt;看近处时间长了有点儿吃力，比如手机、捣鼓手工之类的东西等等，看久了眼睛会有点儿累，看不清，看远处一会儿可以缓解。&lt;/p&gt;
&lt;h2 id=&#34;术后第三周（最新时间线-2026-02-04）&#34;&gt;&lt;a href=&#34;#术后第三周（最新时间线-2026-02-04）&#34; class=&#34;headerlink&#34; title=&#34;术后第三周（最新时间线 2026-02-04）&#34;&gt;&lt;/a&gt;术后第三周（最新时间线 2026-02-04）&lt;/h2&gt;&lt;p&gt;眼药水已经滴完了，也停了，没有干眼症、没有飞蚊症、视力仍旧是早上会比较差，到了下午会好很多，考虑到做手术之前眼睛状态也是这样，所以应该跟手术没关系，单纯是眼睛自己的状态如此。&lt;/p&gt;
&lt;p&gt;做了第 20 天的复查，左眼仍旧 1.2，右眼视力来到了 1.5 ，我最开始以为是我的左眼视力下降了，没想到是右眼视力变得更好了。&lt;/p&gt;
&lt;p&gt;平时也可以正常揉眼睛了（轻轻地），复查的时候医生也没说有任何问题，所以我这次手术大概率算成功啦 ～ ？&lt;/p&gt;
&lt;h2 id=&#34;后记&#34;&gt;&lt;a href=&#34;#后记&#34; class=&#34;headerlink&#34; title=&#34;后记&#34;&gt;&lt;/a&gt;后记&lt;/h2&gt;&lt;p&gt;如果你要做全飞秒激光手术，一定记得在手术前记录你眼睛的各种状态，方便在术后做对比，方可知道哪些是眼睛本来就有的症状，哪些是手术后出现的症状。&lt;/p&gt;
&lt;p&gt;以上就是我做眼部全飞秒二代的全部过程了，后期如果有任何其他状况，我会继续更新。&lt;/p&gt;
</content>
        <category term="全飞秒" />
        <category term="全飞秒二代" />
        <category term="近视" />
        <category term="眼睛" />
        <category term="眼镜" />
        <category term="上海五官科医院" />
        <updated>2026-02-04T17:28:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/device-sale-and-changes/</id>
        <title>手中设备的巨大变动，以及从 iPad mini 7 换到红米 K Pad 的感受</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/device-sale-and-changes/"/>
        <content type="html">&lt;p&gt;10 月份到 11 月份期间，我手里的各种设备经历了较大变化，在此记录。&lt;/p&gt;
&lt;h2 id=&#34;卖掉了手里的很多设备&#34;&gt;&lt;a href=&#34;#卖掉了手里的很多设备&#34; class=&#34;headerlink&#34; title=&#34;卖掉了手里的很多设备&#34;&gt;&lt;/a&gt;卖掉了手里的很多设备&lt;/h2&gt;&lt;h3 id=&#34;1、Google-Pixel-5-草绿色-🤖&#34;&gt;&lt;a href=&#34;#1、Google-Pixel-5-草绿色-🤖&#34; class=&#34;headerlink&#34; title=&#34;1、Google Pixel 5 草绿色 🤖&#34;&gt;&lt;/a&gt;1、Google Pixel 5 草绿色 🤖&lt;/h3&gt;&lt;p&gt;买入理由：&lt;strong&gt;原生安卓、可以刷非常多第三方系统、轻、小、手感好&lt;/strong&gt;，我需要安装一些 iOS 平台没有的第三方 App&lt;/p&gt;
&lt;p&gt;买入价格：¥1000&lt;/p&gt;
&lt;p&gt;卖出价格：¥520&lt;/p&gt;
&lt;p&gt;持有时间：超过一年半&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/pixel5.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;卖出理由：&lt;strong&gt;定位跟主力机 iPhone 冲突&lt;/strong&gt;，屏幕不够大（相比较下边换购的安卓平板），电池容量小，电池健康82%，作为备用机也要两天一充。&lt;/p&gt;
&lt;h3 id=&#34;2、iPad-mini-7-256GB-星光色🫆&#34;&gt;&lt;a href=&#34;#2、iPad-mini-7-256GB-星光色🫆&#34; class=&#34;headerlink&#34; title=&#34;2、iPad mini 7 256GB 星光色🫆&#34;&gt;&lt;/a&gt;2、iPad mini 7 256GB 星光色🫆&lt;/h3&gt;&lt;p&gt;买入理由：需要性能强劲的小平板玩游戏、看视频&lt;/p&gt;
&lt;p&gt;买入价格：¥3599&lt;/p&gt;
&lt;p&gt;卖出价格：¥2550&lt;/p&gt;
&lt;p&gt;持有时间：大半年&lt;/p&gt;
&lt;p&gt;卖出理由：&lt;strong&gt;指纹识别经常失灵，经常需要手动输入密码&lt;/strong&gt;，&lt;strong&gt;指尖稍微有点儿汗就识别不了&lt;/strong&gt;！而且生态跟 iPhone 重合，在卖出了 Pixel 5 之后，手里没有设备用来安装 Android 软件，为后续购买安卓平板埋下伏笔。&lt;/p&gt;
&lt;h3 id=&#34;3、汉密尔顿（Hamilton）墨菲-38-mm-全自动机械手表&#34;&gt;&lt;a href=&#34;#3、汉密尔顿（Hamilton）墨菲-38-mm-全自动机械手表&#34; class=&#34;headerlink&#34; title=&#34;3、汉密尔顿（Hamilton）墨菲 38 mm 全自动机械手表&#34;&gt;&lt;/a&gt;3、汉密尔顿（Hamilton）墨菲 38 mm 全自动机械手表&lt;/h3&gt;&lt;p&gt;买入理由：星际穿越🛰️&lt;/p&gt;
&lt;p&gt;买入价格：¥5500&lt;/p&gt;
&lt;p&gt;卖出价格：¥4000&lt;/p&gt;
&lt;p&gt;持有时间：超过一年半&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/hamilton.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;卖出理由：&lt;strong&gt;不伺候了&lt;/strong&gt;，上弦效率差、日误差接近 15 秒、三天不戴就不走了、戴一周时差超过一分钟、需要反复上弦和反复调时间、只能看时间、机械表热情退烧了。&lt;/p&gt;
&lt;h3 id=&#34;4、iPhone-5-16GB&#34;&gt;&lt;a href=&#34;#4、iPhone-5-16GB&#34; class=&#34;headerlink&#34; title=&#34;4、iPhone 5 16GB&#34;&gt;&lt;/a&gt;4、iPhone 5 16GB&lt;/h3&gt;&lt;p&gt;买入理由：&lt;strong&gt;iOS 6 很精致&lt;/strong&gt;，很超前，补偿当年没买过这款设备的遗憾。&lt;/p&gt;
&lt;p&gt;买入价格：¥150&lt;/p&gt;
&lt;p&gt;卖出价格：¥50&lt;/p&gt;
&lt;p&gt;持有时间：超过两年&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iphone5.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;卖出理由：&lt;strong&gt;玩腻了&lt;/strong&gt;。没有最新的软件生态支撑，这就是一个 MP4 + 诺基亚功能机，况且没有 4G 网络的支持也让它完全无法胜任带出门的重任。最最最主要的：我手里主力机 iPhone 13 mini 跟他体积也差不多。&lt;/p&gt;
&lt;h2 id=&#34;买入了新的设备&#34;&gt;&lt;a href=&#34;#买入了新的设备&#34; class=&#34;headerlink&#34; title=&#34;买入了新的设备&#34;&gt;&lt;/a&gt;买入了新的设备&lt;/h2&gt;&lt;p&gt;设备买买卖卖，这一波设备置换基本上没花钱，但给到的情绪价值却实打实的高。感谢雷总，尤其感谢搞定了小米手环 NFC 的那位技术人员，还要感谢拓竹，让我可以在如此价格体验世界一流的 3D 打印。&lt;/p&gt;
&lt;h3 id=&#34;1、红米-K-Pad-12GB-256-GB-流金白&#34;&gt;&lt;a href=&#34;#1、红米-K-Pad-12GB-256-GB-流金白&#34; class=&#34;headerlink&#34; title=&#34;1、红米 K Pad 12GB + 256 GB 流金白&#34;&gt;&lt;/a&gt;1、红米 K Pad 12GB + 256 GB 流金白&lt;/h3&gt;&lt;p&gt;购入价格：¥2650&lt;/p&gt;
&lt;p&gt;购入理由：尺寸与 mini 7 类似，只有一个摄像头（简洁），支持人脸识别（但是 2D 人脸），卖掉了 iPad mini 7 和 Pixel 5 之后，一个安卓平板就可以同时替代这两款产品，它既可以方便地看视频、玩游戏，也可以安装非常多只有安卓平台才有的第三方软件，如果你稍微懂一些技术，相信我，这款平板肯定要比 iPad mini 强&lt;/p&gt;
&lt;p&gt;推荐体验：🌟🌟🌟🌟🌟&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/redmikpad.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;备注说明：如果选择白色以外的颜色的话，价格可以便宜400以上，但没办法，俺就是喜欢白色，而且红米的白色背板质感非常高级，至少拿在手上不比 iPad mini 差。以及，现在流金白好像都买不到了，哈哈哈哈哈，庆幸我下单早～&lt;/p&gt;
&lt;h3 id=&#34;2、小米手环-10-NFC-版-💳&#34;&gt;&lt;a href=&#34;#2、小米手环-10-NFC-版-💳&#34; class=&#34;headerlink&#34; title=&#34;2、小米手环 10 NFC 版 💳&#34;&gt;&lt;/a&gt;2、小米手环 10 NFC 版 💳&lt;/h3&gt;&lt;p&gt;购入价格：¥288&lt;/p&gt;
&lt;p&gt;购入理由：冬天手腕上不想戴卡西欧的小银块，太冷了，而且太大体积了，本来就是抱着试一试的心态买的 NFC 版，没想到给我最多惊喜的也是这个 NFC，我&lt;strong&gt;小区的门禁卡、公司的电梯卡、公司机房的门禁卡，全部都可以被这个 NFC 版本所替代&lt;/strong&gt;，真的是太强了！！！对了，他甚至可以看时间！！！而且这东西正常续航两周一充（14天以上），开了超级省电模式（仅开启计步、NFC、时间）之后，续航起码奔着一个月甚至两个月去了！！！&lt;/p&gt;
&lt;p&gt;推荐体验：🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/xiaomiband10.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;多说一句：相比较之前戴过的 Apple Watch S5、全自动机械表-墨菲38 这类需要频繁 “人去伺候它” 的设备，我更喜欢像小米手环 10 NFC 这类解决问题而且不用过多维护的设备，更何况，200 多的价格，心率、血氧、运动、睡眠检测都可以用，还要啥自行车？&lt;/p&gt;
&lt;h3 id=&#34;3、拓竹-P2SC-🖨️&#34;&gt;&lt;a href=&#34;#3、拓竹-P2SC-🖨️&#34; class=&#34;headerlink&#34; title=&#34;3、拓竹 P2SC 🖨️&#34;&gt;&lt;/a&gt;3、拓竹 P2SC 🖨️&lt;/h3&gt;&lt;p&gt;购入价格：¥4266&lt;/p&gt;
&lt;p&gt;购入理由：&lt;del&gt;卖出墨菲38之后剩下的钱太多了&lt;/del&gt; 自己倒腾的一些 DIY 设备需要外壳，反复去找打印农场快递来回时间太久了。&lt;/p&gt;
&lt;p&gt;推荐体验：🌟🌟🌟🌟&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/p2sc.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;多说一句：在上海这种寸土寸金的地方，我住在公租房里，家里还有两只经常认为电线是老鼠尾巴所以经常咬线的猫咪的情况下，想要放置一款噪音大、需要干燥环境的打印机还是有些挑战的，所以暂时给 4 颗星，是评给自己的贫穷😭；另外，学习了 Fusion 360 之后，我才知道原来建一个模型原来可以如此简单～&lt;/p&gt;
&lt;p&gt;自己设计并打印的模型（给超市墨水屏设备更换 5V 电池盒、新的外壳和可插拔支架）：&lt;br&gt;&lt;img src=&#34;https://halo.gadore.top/upload/printerModel1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/printerModel2.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;安卓平板必装软件&#34;&gt;&lt;a href=&#34;#安卓平板必装软件&#34; class=&#34;headerlink&#34; title=&#34;安卓平板必装软件&#34;&gt;&lt;/a&gt;安卓平板必装软件&lt;/h2&gt;&lt;p&gt;以下链接皆为直链，部份可能需要更优质（🪜）的国际网络才能访问！！！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;B站第三方客户端：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/bggRGjQaUbCoE/PiliPlus&#34;&gt;PiliPlus&lt;/a&gt;（我认为 Android Pad 适配最好）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/guozhigq/pilipala/releases&#34;&gt;PiliPala&lt;/a&gt;（平板适配不如前者，但也很不错了）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Yotube 第三方客户端：&lt;a href=&#34;https://newpipe.net/&#34;&gt;NewPipe&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://mihon.app/&#34;&gt;Mihon&lt;/a&gt;：Komga 安卓第三方（最强）看漫画客户端&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://animeko.org/&#34;&gt;Animeko&lt;/a&gt;：Bangumi + Bilibili，你可以理解成使用网络公开（&lt;del&gt;盗版&lt;/del&gt;）资源的看番客户端，当然，阉割更少，可以看弹幕！！！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/deckerst/aves&#34;&gt;Aves&lt;/a&gt;：简单纯粹的安卓第三方相册&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RSS 工具：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/seazon/FeedMe/releases&#34;&gt;Feed Me&lt;/a&gt;：RSS 工具届的老大哥，支持批量图片预缓存，对图片较大的订阅源异常友好。我从 Android 5 一直用到 Android 16&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/ReadYouApp/ReadYou&#34;&gt;Read You&lt;/a&gt;：RSS新秀，仿照 iOS 端的重磅RSS 工具 Reeder 开发，界面现代且简洁&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/Anxcye/anx-reader&#34;&gt;Anx Reader&lt;/a&gt;：纯粹的 txt 阅读器，这不一定是最好的，但是我最近找到的最纯粹的&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;我还缺什么安卓平台的应用&#34;&gt;&lt;a href=&#34;#我还缺什么安卓平台的应用&#34; class=&#34;headerlink&#34; title=&#34;我还缺什么安卓平台的应用&#34;&gt;&lt;/a&gt;我还缺什么安卓平台的应用&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;管理 PDF（按照文件夹分类）的阅读应用&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;推特（X）第三方客户端&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你有什么好的推荐，评论区见～&lt;/p&gt;
</content>
        <category term="拓竹" />
        <category term="P2SC" />
        <category term="红米 K Pad" />
        <category term="小米手环 10 NFC" />
        <updated>2025-12-14T22:55:38.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/quote-0/</id>
        <title>借助捷径，不写代码也能玩转 Quote/0 墨水屏</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/quote-0/"/>
        <content type="html">&lt;p&gt;&lt;a href=&#34;https://sspai.com/post/102845&#34;&gt;少数派首发&lt;/a&gt;（少数派网站同名作者：千里之豪）&lt;/p&gt;
&lt;p&gt;墨水屏一直是我非常偏爱的产品形态：低功耗、不依赖背光，同时具备可刷新特性，几乎天生就是为信息看板而设计的。遗憾的是，我并非硬件工程师出身，始终没能亲手做出一块完全符合自己需求的墨水屏。&lt;/p&gt;
&lt;p&gt;几年前，我购买了两块超市电子价签，并在好奇心的驱动下，逆向分析出它们的蓝牙通信协议，由此写下了&lt;a href=&#34;https://sspai.com/post/78993&#34;&gt;《抓包解协议，代码造布局：电子墨水价签改造 NAS 监控屏小记》&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;也正因如此，当 &lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt; 出现时，我格外期待。它在官方丰富模板之外，还提供了更灵活的数据更新方式，可以直接通过苹果的捷径（Shortcuts）进行扩展，让墨水屏的玩法不再局限于预设场景。&lt;/p&gt;
&lt;h2 id=&#34;如何驱动-Quote-0-更新&#34;&gt;&lt;a href=&#34;#如何驱动-Quote-0-更新&#34; class=&#34;headerlink&#34; title=&#34;如何驱动 Quote&amp;#x2F;0 更新&#34;&gt;&lt;/a&gt;&lt;strong&gt;如何驱动 Quote&amp;#x2F;0 更新&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;要在日常中使用 Quote&amp;#x2F;0，主要依赖以下三点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;对捷径 App 的基本操作（Shortcuts）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;官方或第三方 App 对 Siri Intent 的支持&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quote&amp;#x2F;0 的设备码和 API Key&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通过这些条件，就能构建出灵活的自动化更新方案。下面以几个场景为例。&lt;/p&gt;
&lt;h3 id=&#34;场景一：日程提醒&#34;&gt;&lt;a href=&#34;#场景一：日程提醒&#34; class=&#34;headerlink&#34; title=&#34;场景一：日程提醒&#34;&gt;&lt;/a&gt;&lt;strong&gt;场景一：日程提醒&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;捷径 + 日历 App + Quote&amp;#x2F;0 文字 API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;苹果自带的日历应用可以与捷径配合，获取即将到来的日程信息，再通过 &lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt; 展示在墨水屏上。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/55543381ffe41369a7891f708732c0dd.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;iOS 日历日程安排，在 Shortcuts 里用来请求更新 Quote&amp;#x2F;0&lt;/p&gt;
&lt;p&gt;效果示例：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/7ca1b2138ebe29b26987f8061916b0b0.jpg&#34; alt=&#34;7ca1b2138ebe29b26987f8061916b0b0jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;场景二：节假日查询&#34;&gt;&lt;a href=&#34;#场景二：节假日查询&#34; class=&#34;headerlink&#34; title=&#34;场景二：节假日查询&#34;&gt;&lt;/a&gt;&lt;strong&gt;场景二：节假日查询&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;捷径 + 休息日 App + Quote&amp;#x2F;0 文字 API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;「休息日」是一款提供节假日信息查询的 App，全面支持 Siri Intent。通过配置捷径触发流程，可以快速获取节假日安排并同步到 &lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/fe43e9e0f49e4b5f39847c7fce0aa7af.png&#34; alt=&#34;fe43e9e0f49e4b5f39847c7fce0aa7afpng&#34;&gt;&lt;/p&gt;
&lt;p&gt;休息日模板 - 复制上一个配置 - 休息日提供的 Siri Intent&lt;/p&gt;
&lt;p&gt;示例效果：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/3346da6e176bbe39e48736c02485b5ef.jpg&#34; alt=&#34;3346da6e176bbe39e48736c02485b5efjpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;场景三：生日-纪念日提醒&#34;&gt;&lt;a href=&#34;#场景三：生日-纪念日提醒&#34; class=&#34;headerlink&#34; title=&#34;场景三：生日 &amp;#x2F; 纪念日提醒&#34;&gt;&lt;/a&gt;&lt;strong&gt;场景三：生日 &amp;#x2F; 纪念日提醒&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;捷径 + 唯记 App + Quote&amp;#x2F;0 文字 API&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;「&lt;a href=&#34;https://apps.apple.com/cn/app/%E5%94%AF%E8%AE%B0/id6502951931&#34;&gt;唯记&lt;/a&gt;」是一款专注于生日和纪念日提醒的 App，同样支持 Siri Intent 调用。借助捷径，你可以灵活获取倒数日信息并投放到墨水屏。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/00a23de10c94585a8fcd473498598d51.png&#34; alt=&#34;00a23de10c94585a8fcd473498598d51png&#34;&gt;&lt;/p&gt;
&lt;p&gt;效果示例：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/f167b589c34d752893631b60e87efb61.jpg&#34; alt=&#34;f167b589c34d752893631b60e87efb61jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;自动化轮播&#34;&gt;&lt;a href=&#34;#自动化轮播&#34; class=&#34;headerlink&#34; title=&#34;自动化轮播&#34;&gt;&lt;/a&gt;&lt;strong&gt;自动化轮播&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;在捷径 App 中切换到底部的&lt;strong&gt;「自动化」&lt;/strong&gt;标签，点击右上角&lt;strong&gt;「添加」&lt;/strong&gt;，选择&lt;strong&gt;「特定时间」&lt;/strong&gt;后，绑定之前配置好的快捷指令。接着，可以根据需求设置不同时间段展示的不同信息。&lt;/p&gt;
&lt;p&gt;这样一来，&lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt; 就能与手机信息保持同步，实现自动摘要与定时轮播，让它真正成为一个动态更新的桌面信息小组件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/41242ca6228949aa07003f65ee47f2ab.png&#34; alt=&#34;41242ca6228949aa07003f65ee47f2abpng&#34;&gt;&lt;/p&gt;
&lt;p&gt;iOS 捷径自动化配置&lt;/p&gt;
&lt;h2 id=&#34;进阶玩法：图片-API&#34;&gt;&lt;a href=&#34;#进阶玩法：图片-API&#34; class=&#34;headerlink&#34; title=&#34;进阶玩法：图片 API&#34;&gt;&lt;/a&gt;&lt;strong&gt;进阶玩法：图片 API&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;文字展示并不是终点。&lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt; 更强大的能力在于 &lt;strong&gt;图片 API 更新&lt;/strong&gt;。在 Node.js 环境下，可以使用虚拟 Canvas （无需借助浏览器或客户端）动态生成画布，并输出图片，再推送到墨水屏，实现更丰富的视觉效果。&lt;/p&gt;
&lt;p&gt;例如下图的黄金走势图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/000d94c0a6c898e6d5e0eb3a0ea69c07.jpg&#34; alt=&#34;000d94c0a6c898e6d5e0eb3a0ea69c07jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;相关示例代码已更新至 &lt;a href=&#34;https://sspai.com/link?target=https://github.com/gadore/ink-screen-bluetooth&#34;&gt;GitHub 仓库&lt;/a&gt;，供参考与拓展。&lt;/p&gt;
&lt;h2 id=&#34;写在最后&#34;&gt;&lt;a href=&#34;#写在最后&#34; class=&#34;headerlink&#34; title=&#34;写在最后&#34;&gt;&lt;/a&gt;&lt;strong&gt;写在最后&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://sspai.com/s/eOyP&#34;&gt;Quote&amp;#x2F;0&lt;/a&gt; 的出现，让墨水屏的使用方式变得前所未有的灵活。通过捷径、Siri Intent 和 API 的结合，每个人都可以根据自身需求，快速定制出独一无二的应用场景。&lt;/p&gt;
&lt;p&gt;当然，这种玩法也高度依赖应用开发者对 Siri Intent 的&lt;strong&gt;适配&lt;/strong&gt;，如果没有适配，就只能走写代码这条老路了，但借助 AI 大模型，现在好像也不是不可逾越的高墙了，勇敢的少年啊，赶紧去尝试吧～&lt;/p&gt;
</content>
        <category term="程序员" />
        <category term="墨水屏" />
        <updated>2025-11-13T11:00:00.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/raspberrypi-fan-control-pcb/</id>
        <title>用刚学的 PCB 知识做一个优雅的树莓派风扇控制板</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/raspberrypi-fan-control-pcb/"/>
        <content type="html">&lt;blockquote&gt;
&lt;p&gt;首先我不是EE（电子电路工程师），所以对电路一窍不通，但人就是这样，越菜越爱玩。所以如果你是EE的话，不要被我的电路图蠢到（不要骂我）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我的家里就好几个树莓派，一些是我大学的时候做小任务的低功耗服务器用，另外一些是工作的时候，自己测试一些硬件用，跑一些边缘服务之类的。&lt;/p&gt;
&lt;h2 id=&#34;树莓派旧风扇长期通电运行报废&#34;&gt;&lt;a href=&#34;#树莓派旧风扇长期通电运行报废&#34; class=&#34;headerlink&#34; title=&#34;树莓派旧风扇长期通电运行报废&#34;&gt;&lt;/a&gt;树莓派旧风扇长期通电运行报废&lt;/h2&gt;&lt;p&gt;我大学期间给树莓派 3B 配备的风扇在通电时间超过三年之后还是在最近寿终正寝了（作为一个4块钱的风扇而言，已经很抗造了），于是我就在想，为什么不做一个根据 CPU 温度动态控制风扇转速的模块，来延长风扇的寿命呢？说干就干。&lt;/p&gt;
&lt;p&gt;众所周知，树莓派最新的 5B 系列已经有了成熟的风扇控制接口了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%A0%91%E8%8E%93%E6%B4%BE5.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;图片来自：树莓派官网&lt;/p&gt;
&lt;h2 id=&#34;网络上风扇开关电路简单明确，但不够优雅简洁&#34;&gt;&lt;a href=&#34;#网络上风扇开关电路简单明确，但不够优雅简洁&#34; class=&#34;headerlink&#34; title=&#34;网络上风扇开关电路简单明确，但不够优雅简洁&#34;&gt;&lt;/a&gt;网络上风扇开关电路简单明确，但不够优雅简洁&lt;/h2&gt;&lt;p&gt;但我手里的好几个 3B 和 4B 这两个系列都没有呀，我也想要一个更加优雅的、模块化的接口，而不是临时的像这种：&lt;/p&gt;
&lt;p&gt;基础原理图，来自 shumeipai.nxez.com&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/20170713170656938-0.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/CSDN_luzze__123.jpeg&#34; alt=&#34;CSDNluzze123jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;图片来自：CSDN 用户 luzze_123&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/CSDN_qq_40251961.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;图片来自：CSDN 用户 qq_40251961&lt;/p&gt;
&lt;h2 id=&#34;PCB-速成，嘉立创启动！&#34;&gt;&lt;a href=&#34;#PCB-速成，嘉立创启动！&#34; class=&#34;headerlink&#34; title=&#34;PCB 速成，嘉立创启动！&#34;&gt;&lt;/a&gt;PCB 速成，嘉立创启动！&lt;/h2&gt;&lt;p&gt;但我不会画电路板，更不了解各种电子电路相关的知识，只好去折磨 AI 了 😄。&lt;/p&gt;
&lt;p&gt;但其实每个人都是有一定的电路基础的，正负极、开关。所以我选择了更加速成的方式：&lt;br&gt;&lt;a href=&#34;https://www.bilibili.com/video/BV1J24y1Z7cY/&#34;&gt;&lt;strong&gt;【保姆级】二十分钟零基础PCB绘制打样一条龙教程（立创EDA专业版）&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;只需要按照这个视频教程，你就可以在半小时左右学会最基础的 PCB 板的绘制技巧，我也是顺利地完成了第一版绘制&lt;/p&gt;
&lt;h3 id=&#34;第一版电路图&#34;&gt;&lt;a href=&#34;#第一版电路图&#34; class=&#34;headerlink&#34; title=&#34;第一版电路图&#34;&gt;&lt;/a&gt;第一版电路图&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2025-10-11_14.46.51.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2025-10-11_14.47.15.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2025-10-11_14.47.33.png&#34;&gt;  &lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2025-10-16_19.24.08.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果你是比较懂电路的话，你肯定已经看到问题所在了，没错，我把三极管放在了 5V 正极了，导致板子到手后风扇的转速非常慢，有时候甚至转不起来，即使已经通过 GPIO 把电路导通了，风扇还是不转或者转的非常慢，我就不瞎分析了，放出 AI 的分析：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;把 8050 放在正极（高侧）当“开关”用了&lt;/strong&gt; —— 8050 是 NPN 晶体管，做高侧开关时它会工作在发射跟随（emitter-follower）模式，发射极电压 ≈ 基极电压 − 0.7V。GPIO 给的是 3.3V，发射极最多 ~2.6V，风扇的电源是 5V → 风扇只拿到 ~2.6V，自然转得很慢。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我理解下来就是：三极管放正极会对电压电流有较大损耗，导致风扇工作所需功率不足。&lt;/p&gt;
&lt;h3 id=&#34;第二版电路图&#34;&gt;&lt;a href=&#34;#第二版电路图&#34; class=&#34;headerlink&#34; title=&#34;第二版电路图&#34;&gt;&lt;/a&gt;第二版电路图&lt;/h3&gt;&lt;p&gt;于是重新去嘉立创领券，重新打板，重新焊接电路，重新测试，可以了！！！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%88%AA%E5%B1%8F2025-10-16%2017.53.58.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;再配合 Python 脚本，和亿点点配置，一个全自动的风扇控制模块就做好了！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/IMG_0568.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;安装效果图&lt;/p&gt;
&lt;p&gt;模块大小示意（对比 Type-C 接口）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/IMG_0569.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;总花销：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;买电子元器件（S8050、排针、排母）：9元&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;电烙铁基础套装（松香、焊锡丝、锡棉，支架）36.9元&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然而这一趟折腾下来，我发现花销已经足够我买好多小风扇了，好在电烙铁可以反复使用，电子元器件也只消耗了一小部份，以后折腾其他东西也能用～&lt;/p&gt;
&lt;h2 id=&#34;解除-GPIO-14-的串口占用，用来当做开关信号&#34;&gt;&lt;a href=&#34;#解除-GPIO-14-的串口占用，用来当做开关信号&#34; class=&#34;headerlink&#34; title=&#34;解除 GPIO 14 的串口占用，用来当做开关信号&#34;&gt;&lt;/a&gt;解除 GPIO 14 的串口占用，用来当做开关信号&lt;/h2&gt;&lt;p&gt;当前这个模块占地较小，但也有代价，它使用的是GPIO 14进行电路开关控制，GPIO 14 在树莓派上原本是被串口通信功能占用，如果你跟我一样不使用串口功能，可以这样关闭掉：&lt;br&gt;&lt;code&gt;sudo raspi-config&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Interface Options → Serial Port&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Would you like a login shell to be accessible over serial?&lt;/code&gt; → &lt;strong&gt;No&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Would you like the serial port hardware to be enabled?&lt;/code&gt; → &lt;strong&gt;No&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;完成后退出并选择 &lt;strong&gt;Finish&lt;/strong&gt;，允许它重启。&lt;/p&gt;
&lt;p&gt;重启后：&lt;/p&gt;
&lt;p&gt;sudo vim &amp;#x2F;boot&amp;#x2F;firmware&amp;#x2F;config.txt&lt;/p&gt;
&lt;p&gt;确认或添加以下内容（顺序重要）：&lt;/p&gt;
&lt;figure class=&#34;highlight ini&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 禁用蓝牙，释放 UART&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;attr&#34;&gt;dtoverlay&lt;/span&gt;=disable-bt&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 确保主 UART 关闭&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;attr&#34;&gt;enable_uart&lt;/span&gt;=&lt;span class=&#34;number&#34;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;


&lt;figure class=&#34;highlight bash&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;sudo systemctl &lt;span class=&#34;built_in&#34;&gt;disable&lt;/span&gt; hciuart.service&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;figure class=&#34;highlight bash&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;sudo systemctl mask hciuart.service&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;


&lt;figure class=&#34;highlight bash&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;sudo reboot&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;


&lt;p&gt;验证 GPIO 14 状态：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pinctrl get 14&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;应显示：&lt;/p&gt;
&lt;figure class=&#34;highlight bash&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;GPIO 14: level=0 func=INPUT&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;


&lt;p&gt;（或类似 &lt;code&gt;function INPUT&lt;/code&gt;），&lt;strong&gt;没有出现&lt;/strong&gt; &lt;code&gt;ALT0&lt;/code&gt; &lt;strong&gt;&amp;#x2F;&lt;/strong&gt; &lt;code&gt;TXD0&lt;/code&gt; &lt;strong&gt;&amp;#x2F;&lt;/strong&gt; &lt;code&gt;RXD0&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;此时即可用作普通 GPIO。&lt;/p&gt;
&lt;h2 id=&#34;如果你需要串口功能，则可以使用另一种方案代替&#34;&gt;&lt;a href=&#34;#如果你需要串口功能，则可以使用另一种方案代替&#34; class=&#34;headerlink&#34; title=&#34;如果你需要串口功能，则可以使用另一种方案代替&#34;&gt;&lt;/a&gt;如果你需要串口功能，则可以使用另一种方案代替&lt;/h2&gt;&lt;p&gt;这是另一个版本，它不占用串口功能，使用 GPIO 4 进行开关控制，最终组件也会相对应长一些&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%88%AA%E5%B1%8F2025-10-16%2017.57.17.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/%E6%88%AA%E5%B1%8F2025-10-16%2018.02.05.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/iShot_2025-10-16_19.41.25.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/IMG_0571.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;风扇控制脚本&#34;&gt;&lt;a href=&#34;#风扇控制脚本&#34; class=&#34;headerlink&#34; title=&#34;风扇控制脚本&#34;&gt;&lt;/a&gt;风扇控制脚本&lt;/h2&gt;&lt;p&gt;Python 脚本：&lt;/p&gt;
&lt;figure class=&#34;highlight python&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;34&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;35&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;36&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;37&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;38&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;39&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;40&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;41&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;42&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;43&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;44&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;45&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;46&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;47&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;48&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;49&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;50&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;51&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;52&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;53&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;54&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;55&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;56&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;57&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;58&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;59&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;60&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;61&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;62&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;63&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;64&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;65&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;66&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;67&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;68&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;69&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;70&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;71&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;72&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;73&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;74&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;75&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;76&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;77&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;78&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;import&lt;/span&gt; RPi.GPIO &lt;span class=&#34;keyword&#34;&gt;as&lt;/span&gt; GPIO&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;import&lt;/span&gt; time&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;import&lt;/span&gt; signal&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;import&lt;/span&gt; sys&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 控制风扇的GPIO（BCM编号）&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;FAN_GPIO = &lt;span class=&#34;number&#34;&gt;14&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 温度阈值（摄氏度）&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;HIGH_TEMP = &lt;span class=&#34;number&#34;&gt;45.0&lt;/span&gt;  &lt;span class=&#34;comment&#34;&gt;# 高于此温度开启风扇&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;LOW_TEMP = &lt;span class=&#34;number&#34;&gt;42.0&lt;/span&gt;   &lt;span class=&#34;comment&#34;&gt;# 低于此温度关闭风扇&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 检查间隔（秒）&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;CHECK_INTERVAL = &lt;span class=&#34;number&#34;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 设置GPIO模式&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;GPIO.setmode(GPIO.BCM)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;GPIO.setup(FAN_GPIO, GPIO.OUT)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 初始状态关闭风扇&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;GPIO.output(FAN_GPIO, GPIO.HIGH)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;fan_status = &lt;span class=&#34;literal&#34;&gt;False&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 获取CPU温度的函数&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;title function_&#34;&gt;get_cpu_temperature&lt;/span&gt;():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;try&lt;/span&gt;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;keyword&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;built_in&#34;&gt;open&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;#x27;/sys/class/thermal/thermal_zone0/temp&amp;#x27;&lt;/span&gt;, &lt;span class=&#34;string&#34;&gt;&amp;#x27;r&amp;#x27;&lt;/span&gt;) &lt;span class=&#34;keyword&#34;&gt;as&lt;/span&gt; f:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            temp = &lt;span class=&#34;built_in&#34;&gt;float&lt;/span&gt;(f.read()) / &lt;span class=&#34;number&#34;&gt;1000.0&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;keyword&#34;&gt;return&lt;/span&gt; temp&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;except&lt;/span&gt; Exception &lt;span class=&#34;keyword&#34;&gt;as&lt;/span&gt; e:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;无法读取CPU温度: &lt;span class=&#34;subst&#34;&gt;&amp;#123;e&amp;#125;&lt;/span&gt;&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;keyword&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;literal&#34;&gt;None&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 控制风扇的函数&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;title function_&#34;&gt;control_fan&lt;/span&gt;(&lt;span class=&#34;params&#34;&gt;temperature&lt;/span&gt;):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;global&lt;/span&gt; fan_status&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;if&lt;/span&gt; temperature &amp;gt;= HIGH_TEMP &lt;span class=&#34;keyword&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;keyword&#34;&gt;not&lt;/span&gt; fan_status:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        GPIO.output(FAN_GPIO, GPIO.HIGH)  &lt;span class=&#34;comment&#34;&gt;# 开启风扇&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        fan_status = &lt;span class=&#34;literal&#34;&gt;True&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;温度: &lt;span class=&#34;subst&#34;&gt;&amp;#123;temperature&amp;#125;&lt;/span&gt;°C - 风扇开启&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;elif&lt;/span&gt; temperature &amp;lt;= LOW_TEMP &lt;span class=&#34;keyword&#34;&gt;and&lt;/span&gt; fan_status:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        GPIO.output(FAN_GPIO, GPIO.LOW)  &lt;span class=&#34;comment&#34;&gt;# 关闭风扇&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        fan_status = &lt;span class=&#34;literal&#34;&gt;False&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;温度: &lt;span class=&#34;subst&#34;&gt;&amp;#123;temperature&amp;#125;&lt;/span&gt;°C - 风扇关闭&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;else&lt;/span&gt;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        status = &lt;span class=&#34;string&#34;&gt;&amp;quot;开启&amp;quot;&lt;/span&gt; &lt;span class=&#34;keyword&#34;&gt;if&lt;/span&gt; fan_status &lt;span class=&#34;keyword&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;string&#34;&gt;&amp;quot;关闭&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;温度: &lt;span class=&#34;subst&#34;&gt;&amp;#123;temperature&amp;#125;&lt;/span&gt;°C - 风扇保持&lt;span class=&#34;subst&#34;&gt;&amp;#123;status&amp;#125;&lt;/span&gt;&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 优雅退出处理&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;title function_&#34;&gt;signal_handler&lt;/span&gt;(&lt;span class=&#34;params&#34;&gt;sig, frame&lt;/span&gt;):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;quot;\n正在关闭程序...&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    GPIO.output(FAN_GPIO, GPIO.LOW)  &lt;span class=&#34;comment&#34;&gt;# 确保风扇关闭&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    GPIO.cleanup()  &lt;span class=&#34;comment&#34;&gt;# 清理GPIO资源&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;quot;风扇已关闭，程序退出&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    sys.exit(&lt;span class=&#34;number&#34;&gt;0&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 注册信号处理&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;signal.signal(signal.SIGINT, signal_handler)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;signal.signal(signal.SIGTERM, signal_handler)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 主循环&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;quot;开始监控CPU温度并控制风扇...&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;温度阈值: 高于&lt;span class=&#34;subst&#34;&gt;&amp;#123;HIGH_TEMP&amp;#125;&lt;/span&gt;°C开启, 低于&lt;span class=&#34;subst&#34;&gt;&amp;#123;LOW_TEMP&amp;#125;&lt;/span&gt;°C关闭&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;&amp;quot;按 Ctrl+C 退出程序&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;try&lt;/span&gt;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;keyword&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;literal&#34;&gt;True&lt;/span&gt;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        temperature = get_cpu_temperature()&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;span class=&#34;keyword&#34;&gt;if&lt;/span&gt; temperature &lt;span class=&#34;keyword&#34;&gt;is&lt;/span&gt; &lt;span class=&#34;keyword&#34;&gt;not&lt;/span&gt; &lt;span class=&#34;literal&#34;&gt;None&lt;/span&gt;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            control_fan(temperature)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        time.sleep(CHECK_INTERVAL)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;except&lt;/span&gt; KeyboardInterrupt:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    signal_handler(&lt;span class=&#34;literal&#34;&gt;None&lt;/span&gt;, &lt;span class=&#34;literal&#34;&gt;None&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;keyword&#34;&gt;except&lt;/span&gt; Exception &lt;span class=&#34;keyword&#34;&gt;as&lt;/span&gt; e:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;span class=&#34;built_in&#34;&gt;print&lt;/span&gt;(&lt;span class=&#34;string&#34;&gt;f&amp;quot;程序运行出错: &lt;span class=&#34;subst&#34;&gt;&amp;#123;e&amp;#125;&lt;/span&gt;&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    GPIO.output(FAN_GPIO, GPIO.LOW)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    GPIO.cleanup()&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;Python&lt;/p&gt;
&lt;h2 id=&#34;自动化服务配置&#34;&gt;&lt;a href=&#34;#自动化服务配置&#34; class=&#34;headerlink&#34; title=&#34;自动化服务配置&#34;&gt;&lt;/a&gt;自动化服务配置&lt;/h2&gt;&lt;figure class=&#34;highlight makefile&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;[Unit]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Description=Fan control Service&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;After=network.target&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;[Service]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Type=simple&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;WorkingDirectory= &lt;span class=&#34;comment&#34;&gt;# 这里替换成python脚本所在目录&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;ExecStart=/usr/bin/python3 &lt;span class=&#34;comment&#34;&gt;# 这里替换成python脚本的绝对路径&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Restart=always&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;RestartSec=10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;StandardOutput=syslog&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;StandardError=syslog&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;SyslogIdentifier=fan-control&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;comment&#34;&gt;# 环境变量（如果需要）&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Environment=PYTHONUNBUFFERED=1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;[Install]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;WantedBy=multi-user.target&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;Makefile&lt;/p&gt;
&lt;p&gt;把上边这个脚本保存到&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/etc/systemd/system/fan-control.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;然后依次执行:&lt;/p&gt;
&lt;p&gt;重新加载服务文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo systemctl daemon-reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;启动风扇控制脚本服务&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo systemctl start fan-control.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;检查运行状态&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo systemctl status fan-control.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;设置服务开机自启动&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo systemctl enable fan-control.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;如果发现服务启动异常，可以通过这个命令来查看异常原因&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo journalctl -u fan-control.service -n 50&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;效果&#34;&gt;&lt;a href=&#34;#效果&#34; class=&#34;headerlink&#34; title=&#34;效果&#34;&gt;&lt;/a&gt;效果&lt;/h2&gt;&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:23:42 raspberrypi fan-control[2004]: 温度: 44.008°C - 风扇保持关闭&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:23:47 raspberrypi fan-control[2004]: 温度: 44.546°C - 风扇保持关闭&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:23:52 raspberrypi fan-control[2004]: 温度: 45.084°C - 风扇开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:23:57 raspberrypi fan-control[2004]: 温度: 45.084°C - 风扇保持开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:02 raspberrypi fan-control[2004]: 温度: 44.008°C - 风扇保持开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:07 raspberrypi fan-control[2004]: 温度: 43.47°C - 风扇保持开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:12 raspberrypi fan-control[2004]: 温度: 43.47°C - 风扇保持开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:17 raspberrypi fan-control[2004]: 温度: 42.932°C - 风扇保持开启&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:22 raspberrypi fan-control[2004]: 温度: 41.856°C - 风扇关闭&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:27 raspberrypi fan-control[2004]: 温度: 41.856°C - 风扇保持关闭&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:32 raspberrypi fan-control[2004]: 温度: 41.856°C - 风扇保持关闭&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;Oct 16 13:24:37 raspberrypi fan-control[2004]: 温度: 41.318°C - 风扇保持关闭&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;


&lt;h2 id=&#34;备注&#34;&gt;&lt;a href=&#34;#备注&#34; class=&#34;headerlink&#34; title=&#34;备注&#34;&gt;&lt;/a&gt;备注&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&#34;https://www.jlc.com/newOrder/#/collectCoupons?spm=JLC.MEMBER&#34;&gt;嘉立创领券链接&lt;/a&gt;，感谢嘉立创！😄&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;我跑通了这个PCB验证，也写完了这篇文章后，才发现很久之前（2021年）就有其他人做过：可以参考「&lt;a href=&#34;https://www.quarkbook.com/?p=1194&#34;&gt;夸克之书&lt;/a&gt;」的文章，哎，早点儿看到就能少走很多弯路了。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
        <category term="PCB" />
        <category term="树莓派" />
        <category term="嘉立创" />
        <updated>2025-10-16T19:52:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/google-pixel-5-with-lineage-os/</id>
        <title>Google Pixel 5 更换 Lineage OS</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/google-pixel-5-with-lineage-os/"/>
        <content type="html">&lt;blockquote&gt;
&lt;p&gt;当过社畜的都知道，以季度为施工周期的项目，进入 8、9 月份基本上到了项目的加速或是冲刺期，所以整个 8 月份都在赶项目进度；&lt;/p&gt;
&lt;p&gt;外包项目倒是也接触了好几个，但都停留在了技术咨询阶段，0 入账；&lt;/p&gt;
&lt;p&gt;尝试用 Raspberry Pi 4B 和 Qwen3 0.6B 模型进行 Edge Ai + 自动联网分析的应用开发，用 Python 做出来之后发现效果略差于手机上的 App ，又是无功而返的三个晚上；&lt;/p&gt;
&lt;p&gt;8 月就这么碌碌无为地溜了过去，整个人感觉好像什么都没做，那就刷个机吧！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我的备用 Android 手机是 Pixel 5，官方已经永久停止系统支持了，当前的系统最新版本停留在 Android 14.&lt;/p&gt;
&lt;p&gt;但我看到了 Android 15 有非常吸引人的优化系统系能的更新（ page size 16 kb），所以就特想升级，由于之前使用过 Lineage OS，所以就打开了它的官网，果然支持，直接刷入～&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/ChatGPT%20Image%202025%E5%B9%B48%E6%9C%8828%E6%97%A5%2013_45_34.png&#34; alt=&#34;ChatGPT Image 2025年8月28日 13_45_34.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://wiki.lineageos.org/devices/redfin/&#34;&gt;Lineage OS for Pixel 5&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;刷入后发现了很多原生系统不支持的特性，太惊喜了！&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;官方支持的 16kb 分页，App 打开效率提升&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;电池健康度检测&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;充电控制（最大充到多少）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;状态栏展示网速（老传统了，其实没啥可说的，但原生没有）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/1-LVWz.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/2-jEiy.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/3-xxGr.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/4-apgs.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://halo.gadore.top/upload/5.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;还得是 Pixel，官方不支持社区也会支持。&lt;/p&gt;
&lt;p&gt;我感觉下一个版本的 Lineage OS （Android 16）理论上来说也能支持，&lt;/p&gt;
&lt;p&gt;感谢 Lineage OS 。&lt;/p&gt;
&lt;p&gt;期待一波～&lt;/p&gt;
</content>
        <category term="手机" />
        <category term="刷机" />
        <category term="Pixel 5" />
        <category term="LineageOS" />
        <updated>2025-08-28T17:28:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/shanghai-Neighborhood-Committee/</id>
        <title>在上海公租房：一名租客的首次居委会体验</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/shanghai-Neighborhood-Committee/"/>
        <content type="html">&lt;p&gt;&lt;strong&gt;⚠️ 无图警告 ⚠️&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;背景：新居的烦恼&#34;&gt;&lt;a href=&#34;#背景：新居的烦恼&#34; class=&#34;headerlink&#34; title=&#34;背景：新居的烦恼&#34;&gt;&lt;/a&gt;&lt;strong&gt;背景：新居的烦恼&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;刚搬进上海某社区的公租房🏠不久，我就和邻居们遇到了两个棘手问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;电梯故障频发🛗：&lt;/strong&gt; 三个月内报修四次！在一梯四户的高层单元楼里，这简直是灾难。高峰期拥堵不堪。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;停车位严重短缺🅿️：&lt;/strong&gt; 小区地下车库有上千车位，但划给公租房租客的仅有约80个。更糟的是，大量车位被锁死或遭占用，租客停车难上加难。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;线上群聊沟通无效后，有邻居拨打了 &lt;strong&gt;12345&lt;/strong&gt; 市民热线☎️投诉。很快啊，街道办就在两天后组织召开了这次居委会会议。&lt;/p&gt;
&lt;h2 id=&#34;会议进行时&#34;&gt;&lt;a href=&#34;#会议进行时&#34; class=&#34;headerlink&#34; title=&#34;会议进行时&#34;&gt;&lt;/a&gt;&lt;strong&gt;会议进行时&lt;/strong&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;时间调整⏰：&lt;/strong&gt; 最初通知是周三下午两点半，立刻在公租房群被集体“Diss”——工作日上班时间谁有空？最终会议改到了晚上 &lt;strong&gt;7:30&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;地点：&lt;/strong&gt; XXX小区街道办会议室&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;参会方：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;政府代表：工商局XX老师、住建局XX老师、网格员、区XX书记&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;管理方：物业公司经理（2位）、公租房管家XX&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;租户代表：公租房租客代表（2人）、普通公租房租客（8人）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;会议记录员（1人）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;议题一：电梯困局🛗&#34;&gt;&lt;a href=&#34;#议题一：电梯困局🛗&#34; class=&#34;headerlink&#34; title=&#34;议题一：电梯困局🛗&#34;&gt;&lt;/a&gt;&lt;strong&gt;议题一：电梯困局🛗&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;问题核心：&lt;/strong&gt; 电梯频繁显示“Out of Service”，迫使所有人挤用另一部电梯，在20+层、每层8户、仅2部电梯的情况下，高峰期完全瘫痪。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;物业分析故障原因：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;垃圾堵门🗑️：&lt;/strong&gt; 乘客遗留的垃圾被踢到门缝，遮挡光栅，导致电梯无法关门，触发保护机制停运。（监控曾拍到保洁🧹阿姨将垃圾扫入门缝！）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;快递堵门📦：&lt;/strong&gt; 快递员用小推车或快递故意挡住电梯门，以便一趟送完所有楼层。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;设备替换件故障🔧：&lt;/strong&gt; 硬件老化或损坏。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;可见，人为因素（有意或无意）是主因。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;讨论与解决方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;垃圾堵门🗑️：&lt;/strong&gt; 物业已通知保洁🧹部门重点清扫电梯门缝区域，杜绝垃圾堆积。→ &lt;strong&gt;此方案获一致好评👍。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;快递堵门📦：&lt;/strong&gt; 物业提议在一楼设置快递柜和外卖柜🥡，让居民自取，减少电梯占用。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;遭遇强烈反对👎：&lt;/strong&gt; 住户认为这反而会增加大家下楼取件的次数，&lt;strong&gt;加剧电梯🛗使用负担&lt;/strong&gt;。提议作罢。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;设备故障🔧：&lt;/strong&gt; 住户建议&lt;strong&gt;增加预防性检修频次&lt;/strong&gt;，避免故障后才更换配件。→ &lt;strong&gt;电梯维保🔧部门采纳。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;议题二：停车位争夺战🅿️&#34;&gt;&lt;a href=&#34;#议题二：停车位争夺战🅿️&#34; class=&#34;headerlink&#34; title=&#34;议题二：停车位争夺战🅿️&#34;&gt;&lt;/a&gt;&lt;strong&gt;议题二：停车位争夺战🅿️&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;这是小区的“老大难”问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;现状：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;小区规划车位超1600个，租客固定车位仅约80个，其余属业主和开发商。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;即使这80个“专属”车位，也常被业主或临时车占用！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;更甚者，开发商为逼迫业主购买车位，&lt;strong&gt;锁死🔒了大量包含租客车位的临时区域&lt;/strong&gt;，导致办了长期停车证的租客也无位可停。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;会议交锋与决议：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;居委会强硬指令📢：&lt;/strong&gt; 责令物业&lt;strong&gt;一周内解决问题&lt;/strong&gt;，必须确保政策规定数量的车位切实留给公租房租客。&lt;strong&gt;“到期不拆锁🔒，住建局将强拆💥！”&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;物业经理的“难题”（与态度）：&lt;/strong&gt; 一位经理提出（带着被多位在场租客形容为“幸灾乐祸😏”的表情）：“负一层租客车位只有20个，负二层的又离你们单元楼太远，怎么安排呢？”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;书记的机智回应💡：&lt;/strong&gt; “能申请上公租房的租客，智商比我们这些人都高！这个问题&lt;strong&gt;不用你操心&lt;/strong&gt;，你只管拆锁🔒！”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;租客提议（获认可✅）：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;采用&lt;strong&gt;车牌登记制📝&lt;/strong&gt;，租客提交私家车信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;通过&lt;strong&gt;公平抽签🎲&lt;/strong&gt;分配80个固定车位。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;物业根据抽签结果，&lt;strong&gt;将车牌号与车位绑定&lt;/strong&gt;，严格管理，防止占用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;感想：被看见的租客&#34;&gt;&lt;a href=&#34;#感想：被看见的租客&#34; class=&#34;headerlink&#34; title=&#34;感想：被看见的租客&#34;&gt;&lt;/a&gt;&lt;strong&gt;感想：被看见的租客&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;在上海工作多年，这是我&lt;strong&gt;第一次作为租客感受到如此切实的尊重&lt;/strong&gt;，说实话，有点受宠若惊。&lt;/p&gt;
&lt;p&gt;以往租住合租公寓或二房东的房子，我们既无时间也无渠道接触居委会（疫情😷封控时期除外）。这次能直接反馈问题，并看到问题被认真对待、推动解决，感觉&lt;strong&gt;非常棒✨&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;至少在这一刻，我想感谢公租房制度。它让我第一次在大城市里，真切地体会到自己是一个&lt;strong&gt;手握议事权利、能参与社区事务的公民🗳️&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果租房环境都能有这样一套机制来保障租客的合法权益，那么，&lt;strong&gt;一直租房下去，又有何不可呢？&lt;/strong&gt;&lt;/p&gt;
</content>
        <category term="公租房" />
        <category term="生活" />
        <updated>2025-07-05T22:28:19.000Z</updated>
    </entry>
    <entry>
        <id>https://blog.gadore.top/archives/they-are-not-paying-me-enough-to-care/</id>
        <title>“They’re not paying me enough to care”（转载）.md</title>
        <link rel="alternate" href="https://blog.gadore.top/archives/they-are-not-paying-me-enough-to-care/"/>
        <content type="html">&lt;b&gt;
This is an understandable sentiment. As jobs push people to be automatons and often offer little in the way of respect, it’s easy to quietly quit.

&lt;p&gt;But perhaps, they’re not paying you enough to &lt;em&gt;not&lt;/em&gt; care.&lt;/p&gt;
&lt;p&gt;Spending your days, day after day, not caring is a tragedy.&lt;/p&gt;
&lt;p&gt;They might not deserve your focus and effort, but you do.&lt;br&gt;&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;DeepL 翻译：&lt;br&gt;“他们付给我的钱不够我关心”&lt;/p&gt;
&lt;p&gt;这种情绪是可以理解的。因为工作会把人逼得像机器一样，而且往往不会给人什么尊重，所以很容易悄悄辞职。&lt;/p&gt;
&lt;p&gt;但也许，他们付给你的薪水不足以让你不在乎。&lt;/p&gt;
&lt;p&gt;日复一日地漠不关心是一种悲剧。&lt;/p&gt;
&lt;p&gt;他们可能不值得你关注和努力，但你值得。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本文来自于博友 &lt;a href=&#34;http://luozx.org/&#34;&gt;Luozx&lt;/a&gt; 在本博客《&lt;a href=&#34;https://blog.gadore.top/archives/work-isnt-life&#34;&gt;有些工作不值得投入太多&lt;/a&gt;》文章中的评论推荐，转载自 seths.blog ，&lt;a href=&#34;https://seths.blog/2025/05/theyre-not-paying-me-enough-to-care/&#34;&gt;原文链接&lt;/a&gt;。&lt;/p&gt;
</content>
        <updated>2025-07-05T20:28:19.000Z</updated>
    </entry>
</feed>
