ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

树莓派 Pico 智能自动化实战:低成本打造稳定闭环控制

树莓派 Pico 智能自动化实战:低成本打造稳定闭环控制 从树莓派 Pico 扯到智能自动化很多人第一反应不是“能不能做”而是“一块二十块钱级别的开发板真能把家里设备变聪明吗”。我第一次用 Pico 时想给书桌旁的植物补光灯做一个自动开关。当时桌面上正好放了一块完整的树莓派能跑系统、能开网页但为了一盏灯每天定时亮两小时让一整块开发板背后多一个持续运行的 Linux怎么想都不划算。最后换成树莓派 Pico配了一个光敏电阻和一个继电器模块写了一个很简单的循环环境变暗就开环境够亮就关。第一版代码不到 30 行板子上电后不需要任何人工干预。那次经历让我重新理解了一个问题很多所谓智能自动化真正难点不是“不够聪明”而是控制成本、功耗和长期维护的复杂度降不下来。树莓派 Pico 恰好把这件事情推到另一个极端没有操作系统没有桌面没有网络协议栈只有一个很便宜的控制核心加一堆 GPIO上电就跑断点重启后接着跑。它带给人的启发不是“二十块能买到什么黑科技”而是“很多自动化任务根本不需要用一台完整电脑去控制”。这篇文章就从 Pico 实际能做什么、怎么搭出一个最小自动化闭环、以及要长期稳定运行还要注意什么三部分展开。1. 为什么我建议用 Pico 而不是整套开发板做自动化控制1.1 先分清树莓派 Pico 不是一台迷你电脑很多第一次接触树莓派 Pico 的人会把它和树莓派弄混。树莓派是一台小型电脑可以运行完整操作系统接显示器、键盘也能通过命令行安装各种软件。树莓派 Pico 则是完全不同的东西它是一块微控制器开发板核心是 RP2040 芯片不能跑 Linux也不能直接接显示器当桌面电脑使用。Pico 的开发方式更像是给单片机写固件。你用一种语言把逻辑写好然后烧录到板上它会脱离电脑独立运行。官方提供 C/C SDK也有 MicroPython 固件可以用。MicroPython 的方式对大对数入门者更友好写脚本、传到板子里、看串口输出整个流程和 Python 写小程序很像但运行环境比 Python 运行在计算机上要简单得多。在自动化控制场景里这个区别不是缺点反而是核心优势。完整树莓派开机要先启动系统加载服务再运行你的程序。Pico 没有这一步GPIO 逻辑一开始执行USB 供电后几乎立即进入工作状态。对很多需要 7x24 小时运行的小型自动化任务来说少一层操作系统就少一层不确定性。1.2 低成本自动化场景里Pico 的定位很明确为什么我会说“自动化控制先用 Pico而不是一上来就用完整开发板”原因有三个。第一是成本。标题把 Pico 说成“20块搞定智能自动化”这不是一个严格的官方价格实际采购可能会略高或略低但和动辄几百元的完整开发板相比Pico 所在的价格区间确实非常低。如果自动化项目需要的只是几个 GPIO、一个传感器和一个继电器用更高成本的板子对总预算并不友好尤其是当你想做多个点位时每个点位必须独立控制成本差异会成倍放大。第二是功耗。Pico 不需要跑操作系统正常工作时的电流消耗比完整开发板低很多。长期挂在墙内、弱电箱、桌面角落或者设备旁边发热、供电压力、电费都会小很多。很多自动化项目不怕控制逻辑复杂怕的反而是长时间在线后的稳定性低功耗和简单运行模型有助于稳定。第三是启动即运行。完整树莓派如果遇到断电恢复通电后要先经历系统启动再加载用户程序。Pico 不是这样的启动过程是一个固件执行过程核心逻辑在 main.py 或编译后的固件里通电后快速恢复。如果配合电路设计还能做到断电前保持安全状态来电后恢复自动控制这比带着操作系统重启要直接得多。不过这里也需要说明边界Pico 的优势不意味着它能替代一切开发板。如果需要跑摄像头识别、运行网页服务、处理大量网络请求甚至把视频流发送到局域网那还需要完整开发板。Pico 真正擅长的是物理量输入、状态判断、动作输出的闭环控制而不是一个“会思考的家庭服务器”。1.3 哪些自动化任务不该交给 Pico列出不适合 Pico 的场景和列出适合的一样重要。如果自动化任务需要实时视频推理比如通过摄像头识别有没有人、识别车牌、判断宠物位置Pico 不适合。这类任务需要大量内存和算力普通微控制器上跑不了 YOLO 级别的模型即使勉强跑也体验很差。应该考虑带 NPU 的板卡或者完整树莓派。如果任务需要复杂的 Web 后台、数据库、用户账号体系也不应该交给 Pico。Pico 可以联网通过外接无线模块或者 Pico W 连接网络但要实现复杂的 Web 服务会很吃力更适合的模式是“Pico 只上报状态后端服务在服务器或完整开发板上跑”。如果设备控制需求涉及大功率电机、多个执行器、强电电路复杂只靠 Pico 本身也不够。Pico 的作用是控制逻辑真正的功率驱动环节需要单独的电机驱动板、继电器模块或交流接触器。硬件选型时要明确 Pico 只是大脑外围驱动电路才是力量来源。反过来如果需求属于“按钮或传感器输入 继电器动作 定时/状态判断”这一类Pico 几乎是最合适的入门选择。下面就从最小系统开始一步步把它跑起来。2. 搭建最小自动化系统从 GPIO 点灯到继电器控制2.1 最省事的第一套物料不用一开始买很多模块。第一套自动化实验的物料可以控制得很精简一块树莓派 Pico一根 USB 数据线最好是能传数据的线不要只拿充电线一块面包板几根杜邦线公对公、母对母都准备一些一个发光二极管和一个限流电阻220 欧姆到 330 欧姆都可以一个光敏电阻模块或者一个继电器模块这里要注意标题里的“20块”更多是描述 Pico 核心板的价位不是整套物料的价格。算上传感器、继电器模块、杜邦线和面包板总成本会更高一点。但即使翻倍通常也比一台完整开发板便宜很多而且这些外围模块以后做其他项目还能继续用。很多第一次上手的人会把钱浪费在不必要的外设上比如一上来买一堆传感器、屏幕、温控模块、电机驱动板。更好的做法是先用手头最简单的东西跑通一个流程让 Pico 读到某个输入状态然后根据状态翻转一个 GPIO 输出再看最终动作是否发生。跑通之后再往项目里加真实传感器和执行器。2.2 把 MicroPython 刷进 Pico并确认板子能运行当前常见的树莓派 Pico 使用方式之一是安装 MicroPython 固件。烧录方法比较统一先按住 Pico 板子上的 BOOTSEL 按钮再插上 USB 线松开按钮电脑上就会出现一个名为 RPI-RP2 的移动存储盘。然后把 MicroPython 的 .uf2 固件文件拖入这个盘Pico 会自动重启MicroPython 就刷好了。这个过程看起来简单实际遇到最多的问题是“电脑不认盘”。通常原因不是板子坏了而是 USB 线只支持充电不支持数据传输或者换一台电脑的口就正常了。如果第一步插上后 Pico 什么反应都没有换一根数据线永远是最先要检查的点。刷好固件之后可以打开 Thonny 编辑器选择 MicroPython 设备在交互窗口输入这样一行print(hello pico)如果能输出 hello pico说明固件和串口都正常。此时可以尝试点亮板载 LED。普通 Pico 的板载 LED 通常接在 GPIO25 上传统写法是from machine import Pin import time led Pin(25, Pin.OUT) while True: led.toggle() time.sleep(0.5)保存为 main.py 文件然后通过 Thonny 保存到 Pico 的根目录。只要文件命名为 main.pyPico 每次通电都会自动执行它。如果你用的是 Pico W板载 LED 的驱动方式和普通 Pico 不同因为无线芯片参与控制如果想省心第一块实验板建议先选普通 Pico跑通基础逻辑后再考虑要不要试 Pico W 的网络功能。到此为止你还没有接触继电器模块但“固件烧录—代码执行—文件重启自动运行”这条链路已经打通了。很多自动化项目最后出问题的不是程序逻辑而是板子没有按你想的方式自动运行所以这个最小验证非常重要。2.3 第一个可运行的自动化代码LED 没问题后接继电器如果用板载 LED 验证流程太单调可以做一个更接近“自动化”的实验用一个光敏电阻模块判断环境亮度然后控制一个继电器继电器再控制一个小灯泡或小风扇。先看光敏电阻接入方式。常见的光敏电阻模块一般有三个引脚VCC、GND、DO/AO。如果是数字输出模块可以直接接到 Pico 的 GPIO 上当作高/低电平读取如果是模拟输出需要接到 Pico 的 ADC 引脚普通 Pico 的 ADC 引脚一般是 GP26 到 GP28。读取模拟值时需要注意Pico 的 ADC 输入范围是 0 到 3.3V别把模块输出的 5V 信号直接接进去否则可能损坏芯片。继电器模块则需要接电源和控制信号。很多模块自带驱动三极管GPIO 输出一个高/低电平就能控制继电器吸合或释放。但继电器线圈电流通常比单个 GPIO 能提供的电流大所以模块的 VCC 和 GND 经常需要外部 5V 供电再和 Pico 共地。这里的“共地”是很多新手容易漏掉的重点如果继电器模块的 GND 和 Pico 的 GND 没有连在一起控制信号很难形成稳定的回流。一个基于 ADC 的光控继电器示例结构可以是from machine import Pin, ADC import time sensor ADC(28) relay Pin(15, Pin.OUT) while True: value sensor.read_u16() if value 20000: relay.value(1) else: relay.value(0) time.sleep(1)这里read_u16()返回 0 到 65535 的原始值。具体阈值要你实际打印几次再调整不同光敏电阻模块在相同光线下的读数可能相差很大。不要直接照搬数字而要先运行一个打印脚本把读到的值记录下来再设置阈值。这个习惯在以后做所有传感器项目都会用到。接继电器时还要注意模块是高电平触发还是低电平触发。有的模块板载跳线可以切换有的默认固定。如果第一次发现逻辑反了优先检查模块规格不要急着改程序。安全提醒如果继电器控制的是 220V 设备切换和测试前一定要断开电源规范接线不能带电操作。继电器只是隔离控制不代表它可以抵消操作不当的风险。3. 把单路开关扩展到场景化自动控制3.1 多路开关控制继电器模块不是直接接设备是隔离控制跑通一路光控之后下一个自然需求是控制更多设备比如“白天检测到人再开风扇晚上按时间开灯”。这类多路开关控制的核心是允许一个 Pico 控制多个继电器但并不能把多个大功率设备全部直接接到 Pico 的 GPIO 上。Pico 的 GPIO 用于输出信号不能直接驱动大功率电机、加热棒、灯具。继电器模块的作用是用小信号控制一个大电流的开关通路。Pico 只是控制继电器线圈的通断真正连接强电或高压设备的是继电器输出侧的触点和外部电路。多路控制时最需要注意两点。第一是供电能力。一路继电器可能需要几十毫安线圈电流如果 Pico 通过 USB 口给多个继电器模块同时供电很容易把 USB 电压拉低轻则继电器抖动重则 Pico 自动重启。常见做法是单独使用 5V 适配器给继电器模块供电Pico 与模块只共地不共用供电路径。第二是 GPIO 引脚资源管理。普通 Pico 有几十个 GPIO但每个引脚并不都能任意复用。有些引脚被板载功能占用有些用于 ADC有些用于 I2C/SPI/UART如果只是为了普通电平输出很多引脚都可以用但接线前最好看一遍引脚图避免把输出接错到特殊功能引脚上。多路控制的代码并不复杂。通常可以把不同输出定义成不同 Pin然后在主循环里按顺序读输入、做判断、翻转输出。这时候你会意识到一个问题如果所有设备都靠同一个 while True 循环依次检查逻辑会随着设备数量增加越来越乱。到了这个阶段就该考虑把不同功能封装成函数或者用状态机去组织逻辑。3.2 Pico 控制舵机频率、占空比和独立供电很多搜索里会问“Pico 如何控制舵机”这也是智能自动化里很常见的一类需求比如自动开窗、自动投食、机械臂调节角度。舵机控制的本质不是简单的给高/低电平而是输出一个特定频率的 PWM 信号通过脉冲宽度指定目标角度。标准舵机通常接收 50Hz 的 PWM 信号也就是一个周期 20ms。不同品牌的舵机具体脉宽和角度的对应关系不完全相同常见范围大约在 1ms 到 2ms 之间具体以舵机说明书为准。在 MicroPython 中可以用 machine.PWM 输出 PWM 信号。一个最小例子是from machine import Pin, PWM import time servo PWM(Pin(15)) servo.freq(50) servo.duty_u16(3276) time.sleep(1) servo.duty_u16(4915) time.sleep(1) servo.duty_u16(6553) time.sleep(1)duty_u16 的范围是 0 到 65535对应整个周期的 0% 到 100%。在 50Hz 下一个周期是 20msduty_u16 为 3270 左右时大约是 1ms为 4915 左右时大约是 1.5ms为 6553 左右时大约是 2ms。但这不是绝对精确值因为每个固件和舵机的信号解析都有偏差。实际使用时建议先用小幅度测试观察舵机到达的位置再确定要用的值和角度对应关系。舵机项目里最容易翻车的不是 PWM 代码而是供电。普通小舵机转动时会拉出较大电流如果直接从 Pico 的 3.3V 引脚供电电压会瞬间跌落导致 Pico 复位。常见做法是给舵机单独准备一个足够输出电流的 5V 电源并把舵机电源地、Pico 的地连在一起。不要为了省一根线而漏掉共地否则控制信号会非常不稳定。另一个容易忽视的点是初始化角度。很多舵机上电时会先执行程序里的第一个 PWM 值。如果程序要求上电后先回到 0 度而你在初始化时直接把一个危险角度写进去执行器可能会突然动作。工程上更稳妥的办法是先把舵机电源断开程序设置好安全角度再给舵机通电或者在主循环开始前先用一个短延时让控制信号稳定。3.3 传感器 继电器做一个温度控制小系统当单路开关和舵机都跑过之后可以做一个小型综合实验读取温度当温度过高时打开风扇继电器温度降回阈值后关闭风扇。这个系统足够小但已经包含“采集输入—阈值判断—控制输出”的完整自动化闭环是很多温度控制、大棚控制、恒温箱项目的最小原型。用 DHT11 或 DHT22 作为温度传感器。常见 MicroPython 固件里可以直接导入 dht 模块import dht from machine import Pin import time d dht.DHT11(Pin(14)) d.measure() print(d.temperature(), d.humidity())然后加上继电器控制import dht from machine import Pin import time d dht.DHT11(Pin(14)) relay Pin(15, Pin.OUT) def set_fan(status): relay.value(status) while True: try: d.measure() temp d.temperature() if temp 28: set_fan(1) elif temp 26: set_fan(0) except OSError: pass time.sleep(2)这段代码里有两个细节值得说明。第一个是滞回区间。如果只写temp 28 就开temp 28 就关风扇会在一两个阈值边界点附近频繁切换。28 度开26 度关形成两度间隔的滞回区间继电器就不会一直抖。自动化控制里这种避免输出在临界点反复跳变的设计非常重要。第二个是传感器读取节奏。DHT11 本身采样速度慢不能像读 ADC 一样高频读取连续读取间隔至少一秒钟以上。代码里用 sleep(2) 算是保守做法可以降低因为读取太快报错的概率。到这里一个“树莓派 Pico 搞定智能自动化”的典型案例已经成立输入是温度输出是继电器Pico 只是中间负责判断和控制的控制中枢。接下来真正考验你的不是功能能不能加上而是系统能不能长期稳定运行。4. 别把代码传上去就结束长期稳定运行还要过这几关4.1 上电无反应、代码不跑、输出不动按这个顺序查我刚接触 Pico 的时候最大的挫败不是写不出代码而是“明明代码逻辑没问题为什么接上以后没有反应”。后来发现绝大多数问题其实可以按固定顺序排查。第一步看现象。是完全没有反应还是反应不对完全没有反应可能是供电、固件或代码没启动反应不对通常是输入信号或输出接线反了。第二步查供电和 USB 线。很多 Pico 无反应问题的根源是一条不支持数据传输的充电线。先换数据线测试如果电脑能看到 RPI-RP2 盘说明板子没坏固件可能丢了或者代码有语法错误。按住 BOOTSEL 按钮重新拖入固件是恢复优先级很高的操作。第三步查代码启动路径。如果 main.py 保存在 Pico 根目录Pico 上电会自动运行。但如果代码在开机第一句就报 SyntaxError程序会进入 REPL而不是继续运行。可以先在 Thonny 里手动运行一遍看到具体错误再修正。第四步查接线和引脚编号。Pico 的引脚丝印很多标的是 GPxx对应代码里 Pin(xx)比如 GP15 对应 Pin(15)。如果接到 3V3、GND、ADC_VREF 等特殊引脚上用它当普通输出很可能不正常。第五步查模块供电和共地。很多传感器模块标称可以 3V3 供电实际工作不稳定或者模块需要一个外部 5V 供电但用户只接了 GPIO 信号线没有把 GND 和 Pico 连起来。检查“信号线连了吗、共地了吗、模块自己的电供了吗”这三条可以解决大量接触不良和信号漂移问题。4.2 按钮抖动、继电器误触发、断电重启都要单独处理如果自动化系统里使用机械按钮、按键开关或者微动开关经常会遇到“按一下程序却执行了好几次”的问题。原因是机械触点按下和弹起的瞬间会有微小的震动电平在几毫秒内跳变多次程序如果读得太快就会把一次操作误判成多次操作。最简单的软件去抖方案是检测到电平变化后延时十几到二十毫秒再读取一次确认if button.value() 0: time.sleep_ms(20) if button.value() 0: # 确认真的按下了对于大多数自动化场景这个简单方法已经够用。更严格的情况还可以用状态机来记录上一次状态只在状态跳变时触发动作。继电器误触发则是另一类问题。Pico 上电瞬间GPIO 可能处于短暂的不确定状态如果某个 GPIO 直接连接到继电器模块可能出现上电瞬间继电器快速吸合又释放的情况导致被控设备闪断。解决方向有两个硬件上用下拉或上拉电阻让输出引脚平时保持安全状态软件上在 main.py 最开头就把所有输出引脚设置为安全状态再进入主循环。不要把“设置安全状态”放在程序执行的最后一秒而应该放在启动后的第一时间。断电重启也值得专门考虑。很多自动化设备是放在现场长期运行的如果发生断电恢复后系统应该按什么状态启动比如一个定时喂食设备Pico 重启后是直接执行当前时间段的动作还是先回到待机状态这些在最初设计时就要想清楚而不是等项目上线了再补。经验控制继电器的代码里至少设计一个“安全默认状态”。程序启动、异常退出、断电恢复时所有输出都应该先落到一个不会引发危险动作的状态再根据输入重新判断。4.3 自动化跑起来了不代表能长期跑日志和状态恢复代码上传到 Pico 后能跑一个小时和在现场连续跑一个月完全是两回事。长期稳定运行的关键是让系统在出错后具备可观察性和可恢复性。可观察性来自日志和状态指示。Pico 没有屏幕控制台通常也不在现场。这就需要你把关键事件记下来比如“继电器在几点几分被打开”“温度传感器连续几次读取失败”。简单做法是把日志写到串口用一个 USB 转串口或 Thonny 连接观察如果想保存现场也可以写到文件。但 flash 写入寿命有限不能每秒都写高频写入日志会加速 flash 磨损最好只在状态变化或异常发生时写一次。异常恢复也很重要。如果用户代码写得比较随意程序遇到 OSError 或 ValueError 会退出并跑回 REPL自动化逻辑就停了。常见处理方法是在主逻辑外套一个 try/except捕获异常后打印信息延时几秒再调用 machine.reset() 重启板子。代码可以这样组织def main(): while True: # 你的自动化逻辑 pass try: main() except Exception as e: print(Exception:, e) import machine time.sleep(5) machine.reset()这个模式不算复杂但对长期无人值守的自动化项目很有价值。它保证了某个瞬间的传感器误读取、网络超时、模块数据错误不会导致整个系统一直卡死在控制台里而是自动恢复。依赖和固件版本也要纳入管理。同样的代码在 MicroPython 不同版本里可能有差异Pico W 的某些引脚和普通 Pico 也不同。升级固件前最好先在备用板子上测试不要在生产现场直接升级。涉及外部驱动库时把依赖库文件也放到项目目录里不要只记一份代码否则换一台板子重建环境会非常麻烦。5. 把一次“跑通”沉淀成可复用的自动化方法5.1 每次动手前先画一张“输入-条件-输出”表我刚上手时喜欢直接写代码但做了几个项目后发现真正效率高的方式是先画表。树莓派 Pico 自动化项目看起来有很多零碎硬件但抽象后其实都逃不出同一个结构输入、条件、输出。举个例子一个自动补光系统可以这样画场景输入条件输出植物补光光敏电阻 ADC 值光强低于阈值且时间在白天范围打开补光灯继电器桌面风扇DHT11 温度温度高于 28 度开低于 26 度关打开风扇继电器舵机自动窗户外部按钮按下开启到某个角度舵机转到开窗角度摄像头识别图像识别到特定对象不适合 Pico这张表不复杂但它能逼你先想清楚几个关键问题输入信号从哪来触发条件是什么输出动作怎么执行如果断线或数据异常系统应该怎么处理当需求不在表里时很容易被“接一个传感器、写几行代码”的表面任务带偏最后发现做的只是一个 demo不是真正能用的自动化设备。对于新手来说强烈建议每一个项目都先用一张类似的小表把自己的目标描述出来。等到表里的每一行都能跑通再考虑做成多场景组合。这比看到哪个模块好玩就买哪个模块、最后拼出一个无法维护的“全屋实验台”要高效得多。5.2 从单点自动化到多状态自动化的演进路径“输入-条件-输出”表解决了单点自动化但真实场景往往是多状态组合。举个典型例子自动监控温室的温度、湿度和光照然后根据三组数据综合判断要不要开通风、补光、灌溉。这种自动化已经不是简单的 if/else 能清楚表达的最好按状态机思路组织。所谓状态机就是把系统分成几个明确状态比如“待机状态”“降温状态”“补光状态”。每个状态下Pico 只执行对应动作并根据输入和事件跳转到其他状态。这样做的最大好处是避免多条件互相打架。比如一个窗户控制器至少有三个状态关闭状态、打开状态、正在切换状态。如果在代码里直接用 if 判断“当前舵机角度”和“新目标角度”可能会在窗口切换过程中重复发指令。状态机则要求先记录当前状态只有切换到“动作完成”后才允许进入下一轮流程。对普通用户来说不一定要引入复杂的状态机框架。可以先把一个主循环拆成几个函数def read_sensors(): pass def decide_action(): pass def control_output(): pass while True: read_sensors() decide_action() control_output() time.sleep(1)这种分层逻辑看着朴素却能让程序更接近真实工程。以后要增加新传感器只需要改 read_sensors要改变量阈值只需要改 decide_action。控制逻辑不会像一长串 if 一样越堆越乱。5.3 什么时候该升级到完整开发板一张判断清单讨论 Pico 的时候我习惯先说明“它适合什么”再说明“它不适合什么”。因为很多人在选型时被性能数字迷惑最后选了与实际需求不匹配的方案。下面这张清单可以作为参考如果你满足 1 到 3 个条件Pico 是不错的选择如果同时命中更多内容请认真考虑是否要换更完整的板子。需求点Pico 适合需要升级到算力更强的开发板控制继电器、舵机、LED非常适合杀鸡用牛刀长时间低功耗运行非常适合不太必要传感器简单读取和阈值判断非常适合不太必要摄像头实时识别不适合需要复杂网页服务不适合需要大量数据存储和数据库不适合需要并发网络连接不太适合更适合还有一个经验性建议如果一个自动化项目已经写了很久但代码里全是复杂的字符串处理、HTTP 请求、多用户权限管理那说明需求已经超出了 Pico 的计算舒适区。这时候不要硬把一个应用塞进单片机应该选用完整开发板或一台低功耗服务器来跑上层逻辑而把 Pico 降级为“执行层”也就是继续让它读取 GPIO、控制继电器通过串口或网络向上层汇报。这种“大系统用小控制器做执行末端”的架构在实际项目里非常常见也比用一块大板子包揽所有事情更容易维护。最后说一个更容易踩坑点不要把所有自动化都做成“遥控型”。很多技能树点在网络连接和 App 控制上但智能自动化最核心的价值其实是无人干预。Pico 这类微控制器的强项恰恰在于“不需要别人干预也能持续做正事”。如果你只是想远程开一盏灯有很多现成智能插座可以做到如果你想体验“自己写逻辑、自己接线、自己调试让设备按你的规则自动运行”树莓派 Pico 是一块非常合适的起点板。真正动手时不建议一开始追求复杂。先做一个最简单的自动开关哪怕只是用 Pico 读取一个按钮、控制一颗小 LED也要完整走完“接硬件—写代码—观察运行—重启验证”的流程。等这个最小闭环稳定了再加继电器加传感器加舵机加更多自动化场景。二十块钱带来的不是一台能跑很多服务的电脑而是一个能让你把想法固化成动作的小小控制器。它不会替你完成所有工程化的事却能让你意识到自动化离日常其实已经很近。
返回列表