<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System-Monitoring on All about Raspberry Pi</title><link>https://hugozhu.site/tags/system-monitoring/</link><description>Recent content in System-Monitoring on All about Raspberry Pi</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 04 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hugozhu.site/tags/system-monitoring/index.xml" rel="self" type="application/rss+xml"/><item><title>人应该主动去适配 AI 任务执行范式</title><link>https://hugozhu.site/post/2026/431-poll-to-blocking-hid-read/</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>https://hugozhu.site/post/2026/431-poll-to-blocking-hid-read/</guid><description>&lt;p&gt;十一假期，今天早上我翻出一个搁了很久的单片机项目想做实验——不为别的，就想亲自感受一下现在的 AI 到底能把活干到什么程度。模型用的是 DeepSeek V4.1 Flash，9 月刚发布，图它便宜（输入 $0.30/百万 token）。&lt;/p&gt;
&lt;p&gt;先交代一下实验对象：&lt;strong&gt;Stream Deck Mini&lt;/strong&gt; 是 Elgato 出的一块小实体键盘，6 个按键，每个键就是一块小 LCD 屏，USB 一插即用（标准 HID 设备）。它本来是给主播切场景、绑快捷键用的，但按键能显示任意图案、也能上报按键事件——拿来做常驻监控面板，是块现成的好料。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hugozhu.site/img/2026/poll-to-blocking-hid-read.jpg"&gt;&lt;img src="https://hugozhu.site/img/2026/poll-to-blocking-hid-read-thumb.jpg" alt="Stream Deck Mini 监控面板实拍"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Stream Deck Mini 监控面板实拍：CPU、温度、负载、内存、磁盘、运行时长，六键两页，长按熄屏&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;我新开一个工程，直接把 Stream Deck Mini 的驱动库拖进来，建了个子目录 &lt;a href="https://github.com/hugozhu/python-elgato-streamdeck/tree/master/mybox"&gt;mybox&lt;/a&gt;，然后用 OpenCode 下了一条任务指令：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;读一下本工程，实现能显示系统 CPU、Load、温度信息，要能翻页，长按灭屏，再按亮屏，图标显示要美观。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;十几分钟不到，原型就出来了：Stream Deck Mini 挂在我那台 8 核 ARM 小主机上，成了一个常驻的系统监控面板——任务指令里列的功能，一条不少全都有。跑通之后我 &lt;code&gt;top&lt;/code&gt; 了一下，排在最前面的不是哪个服务，而是这个监控程序自己：python 进程占着约 &lt;strong&gt;3%&lt;/strong&gt; 的 CPU，比它监控的大部分服务都费电。一个监控工具，把自己变成了最该被监控的对象。&lt;/p&gt;
&lt;p&gt;于是我提了个更高的要求——&lt;strong&gt;降低它对 CPU 的占用&lt;/strong&gt;。接下来一个小时，是 AI 在给我方案，而我在 &lt;strong&gt;配合&lt;/strong&gt; 它（注意，是配合）：它让我测按键灵敏性、对比不同方案的优劣，一步步逼近，最后给出了一个我过去想都没想过的做法——&lt;strong&gt;用阻塞式读取按键，替代我一直用的轮询&lt;/strong&gt;。落地效果很好，一句话：&lt;strong&gt;更跟手，反而更省 CPU&lt;/strong&gt;，空闲占用从 &lt;strong&gt;3% 压到 0.4%&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这次实验给我最大的一句话感受是：&lt;strong&gt;代码人写不过 AI，这件事不可逆——人应该主动去适配 AI 的任务执行范式，而不是反过来。&lt;/strong&gt; 整个过程里最值得单独讲的，是中间那个坑：在 SDK 里把「非阻塞读」改成「阻塞读」会死锁。它不只属于 Stream Deck，任何「轮询 → 事件驱动」的改造都会遇到。下面拆开讲。&lt;/p&gt;</description></item></channel></rss>