ARTICLE DETAIL

资讯详情

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

基于树莓派打造开源平板:Diskio Pi硬件选型与系统配置指南

基于树莓派打造开源平板:Diskio Pi硬件选型与系统配置指南 1. 为什么我要折腾一台“开源平板”第一次看到 Diskio Pi 这个项目的时候我正在给手头一块吃灰的树莓派 4B 找归宿。它原本是买来做家庭自动化网关的结果跑了一段时间发现用网页控制台就够了板子本身反而闲了下来。后来刷到有人用树莓派加一块触摸屏、几节 18650 电池硬生生拼出一台能揣兜里的平板我第一反应是“这不就是个大号电子相框吗”但仔细看完方案之后发现它解决的是一个很实际的问题你手上那些零散的树莓派、屏幕、电池、扩展板能不能组合成一个真正每天愿意拿起来用的设备。Diskio Pi 的核心定位就是“终极开源平板”它不是一个商业产品而是一套完整的 DIY 方案。你可以把它理解成用树莓派作为大脑用一块带触摸的 IPS 屏幕作为脸面用锂电池组和电源管理板作为心脏再通过 GPIO 和 USB 把各种传感器、摄像头、扩展模块接上去最后塞进一个 3D 打印或者亚克力切割的外壳里。它跑的是标准 Raspberry Pi OS 或者 Ubuntu意味着你熟悉的apt、pip、systemd、docker全都能用没有任何封闭生态的限制。适合看这篇内容的人我大致分三类。第一类是手里已经有树莓派 4B 或者树莓派 5想给它找个“正经用途”的玩家第二类是在做树莓派毕设或者课程设计的学生需要一个能展示完整硬件集成能力的项目第三类是对开源硬件有执念、不愿意被 iPad 或者安卓平板锁在生态里的开发者。如果你属于这三类中的任何一类接下来的内容应该能帮你省下不少试错时间。我自己的这台 Diskio Pi 前后改了三个版本从最初“能亮就行”的裸板状态到后来加了电池管理、散热风扇、摄像头模块和 GPIO 扩展排针中间踩过的坑包括屏幕触摸失灵、电池充放电管理板烧毁、系统在低电量时突然断电导致文件系统损坏等等。这些经验我会在后面的章节里逐一展开尽量让你一次做对。2. 整体方案设计与核心选型逻辑2.1 为什么是树莓派而不是 Odroid 或者其他开发板选树莓派作为 Diskio Pi 的核心最直接的理由是生态完整度。树莓派 4B 和树莓派 5 的官方系统支持最成熟社区里关于 GPIO、摄像头、屏幕驱动的资料也最丰富。你遇到任何问题搜索“树莓派 4b 引脚图”或者“树莓派 ov5647 摄像头模块”都能找到大量现成答案。Odroid 系列在性能上确实有优势比如 Odroid N2 的 CPU 跑分比树莓派 4B 高不少但它的系统镜像更新频率低很多外设驱动需要自己编译内核模块对于一台“日常使用”的平板来说稳定性比峰值性能重要得多。另一个关键因素是GPIO 的可用性。Diskio Pi 作为一个开源平板它的扩展能力很大程度上依赖 40 针 GPIO 排针。你可以接温湿度传感器做环境监测接舵机做物理交互接 ADC 模块读取模拟信号。树莓派的 GPIO 库比如RPi.GPIO、gpiozero、libgpiod已经非常成熟Python 和 C 都能直接调用。相比之下一些开发板的 GPIO 电平是 1.8V 而不是 3.3V接 3.3V 外设时还需要电平转换增加了不必要的复杂度。还有一点容易被忽略配件的通用性。树莓派的屏幕 HAT、摄像头排线、电源管理板、散热外壳在市面上都有大量第三方产品。你不需要为了一个特定型号去海淘或者等众筹。我手头这块 5 寸触摸屏就是标准 40 针接口直接插在树莓派 4B 的 GPIO 上就能用省去了焊接和转接的麻烦。2.2 屏幕选型尺寸、分辨率与触摸方式屏幕是 Diskio Pi 最影响使用体验的部件。我试过三种方案7 寸 1024x600 IPS 屏、5 寸 800x480 IPS 屏、以及 10.1 寸 1920x1200 的 HDMI 屏。最后留在成品上的是 5 寸 800x480 的版本原因很简单便携性和功耗的平衡。7 寸屏的显示面积确实更舒服但加上外壳和电池之后整机重量接近 800 克单手拿久了会累。10.1 寸屏就更不用说了基本只能放在桌面上当小显示器用失去了“平板”的意义。5 寸屏的整机重量可以控制在 400 克以内厚度也能压到 25 毫米左右揣进外套口袋勉强可行。分辨率方面800x480 在 5 寸屏幕上像素密度大约是 187 PPI看文字和图标够用但看高清视频或者写代码就有点吃力。如果你主要拿它做终端操作、GPIO 控制、简单的网页浏览这个分辨率完全没问题。如果你想要更细腻的显示效果可以考虑 5 寸 1280x720 的版本但要注意树莓派的 HDMI 输出在低分辨率下的兼容性有些屏幕需要手动修改config.txt里的hdmi_timings参数才能正常显示。触摸方式我强烈建议选电容触摸而不是电阻触摸。电阻触摸需要用力按压而且不支持多点触控在 Raspberry Pi OS 里操作起来很别扭。电容触摸的驱动通常通过 I2C 或者 USB 接口树莓派官方系统已经内置了大部分常见触摸芯片的驱动比如ft6236、gt911、edt-ft5x06。你只需要在config.txt里加上dtoverlay配置就能启用。注意有些廉价屏幕的触摸接口是 USB 的虽然免驱但会占用一个 USB 口。树莓派 4B 只有两个 USB 3.0 和两个 USB 2.0如果你还要接键盘、鼠标、摄像头USB 口很快就会不够用。优先选 I2C 触摸接口的屏幕把 USB 口留给其他外设。2.3 电源方案电池、充放电管理与电量监测电源是 Diskio Pi 最容易被低估的部分。很多人一开始会用普通的移动电源给树莓派供电但移动电源的问题是它不知道树莓派什么时候关机了。如果你直接拔掉移动电源树莓派会瞬间断电SD 卡上的文件系统很容易损坏。我至少有两张卡是因为这样挂掉的。正确的做法是使用锂电池组 充放电管理板 电量监测模块的组合。电池组我推荐 18650 电芯两节并联或者三节并联容量在 6000mAh 到 10000mAh 之间。并联的好处是电压不变3.7V 标称容量叠加而且不需要复杂的平衡充电电路。串联方案虽然电压更高但需要额外的平衡充电板对于新手来说复杂度太高。充放电管理板我试过两种一种是基于 IP5306 芯片的模块支持 5V/2.4A 输出和 5V/2A 充电自带电量指示灯另一种是基于 SW6115 的模块支持更高的充电电流和更精确的电量计量。IP5306 的方案便宜、简单、够用但它的电量显示只有四颗 LED精度很差。SW6115 可以通过 I2C 读取电压和电流配合 Python 脚本可以在屏幕上显示精确的剩余电量百分比。电量监测这块如果你不想折腾 I2C可以用一个简单的分压电路把电池电压降到 3.3V 以内然后接到树莓派的 ADC 引脚上。但树莓派本身没有 ADC你需要外接一个 MCP3008 或者 ADS1115 模块。我用的 ADS1115 是 16 位精度的 I2C ADC读取电池电压非常准配合Adafruit_ADS1x15库几行代码就能搞定。提示锂电池的放电截止电压一般设在 3.0V 到 3.2V 之间。低于这个电压继续放电会永久损坏电池。你可以在 Python 脚本里设置一个阈值当电压低于 3.3V 时自动执行shutdown -h now避免树莓派突然断电。2.4 外壳与结构3D 打印还是亚克力切割外壳决定了 Diskio Pi 的最终形态。我试过 3D 打印和亚克力激光切割两种方案。3D 打印的优点是形状自由度高你可以把电池仓、散热孔、摄像头开孔、GPIO 排针开口全部集成在一个模型里。缺点是打印时间长而且如果模型设计不合理装配的时候会发现螺丝孔对不上、屏幕压不紧、电池放不进去。亚克力切割的优点是精度高、表面平整、加工速度快。你只需要画好二维图纸激光切割机几分钟就能切好。缺点是只能做平板结构无法做复杂的立体造型。如果你想要一个“三明治”结构的外壳亚克力切割其实更合适底层放电池和电源板中层放树莓派顶层放屏幕用铜柱和螺丝固定。我最终用的是 3D 打印方案因为我想把散热风扇和摄像头模块也集成进去。模型是在 Fusion 360 里画的前后改了七版才最终定型。如果你不想自己画图Thingiverse 和 Printables 上已经有 Diskio Pi 的现成模型你可以直接下载打印。但要注意不同型号的屏幕和电池尺寸可能有差异打印之前一定要核对好尺寸。3. 核心细节解析与实操要点3.1 树莓派系统安装与基础配置Diskio Pi 的系统安装和普通树莓派没有本质区别但有几个针对平板场景的优化点值得注意。首先我建议使用Raspberry Pi OS Lite 版本作为基础然后手动安装桌面环境。这样做的好处是你可以精确控制哪些组件被安装避免官方桌面版里一堆用不上的软件占用存储空间和内存。烧录系统我用的还是官方的 Raspberry Pi Imager。如果你想把系统烧录到 SSD 而不是 SD 卡需要先通过 USB 转 SATA 或者 NVMe 转 USB 的硬盘盒把 SSD 接到电脑上。树莓派 5 支持 PCIe 接口你可以用 M.2 HAT 直接装 NVMe 固态硬盘速度比 SD 卡快很多系统响应也会更流畅。但树莓派 4B 只能通过 USB 3.0 启动 SSD需要先更新 bootloader 的固件。系统烧录完成后第一件事是修改软件源。默认的官方源在国内访问速度很慢换成国内镜像源之后apt update和apt install的速度会有质的提升。具体操作是编辑/etc/apt/sources.list和/etc/apt/sources.list.d/raspi.list把raspberrypi.org替换成对应的镜像地址。树莓派 5 上如果跑的是 Ubuntu 系统换源的方法类似但文件路径是/etc/apt/sources.list和/etc/apt/sources.list.d/ubuntu.sources。接下来是配置 SSH 和 VNC。虽然 Diskio Pi 有屏幕但在调试阶段用 SSH 从电脑远程连接会方便很多。你可以在raspi-config里启用 SSH然后在电脑上用ssh pi树莓派IP登录。VNC 则适合需要图形界面的场景比如调整屏幕分辨率或者测试触摸校准。树莓派官方系统自带 RealVNC Server启用之后用 VNC Viewer 连接即可。注意如果你用的是无桌面系统Lite 版本VNC 需要手动安装tightvncserver或者x11vnc。而且无桌面系统下 VNC 连接后看到的是空白桌面需要先安装一个轻量级的窗口管理器比如openbox或者fluxbox。3.2 GPIO 排针的引出与扩展板设计Diskio Pi 作为开源平板GPIO 的可用性是它区别于普通平板的核心卖点。但树莓派的 40 针排针在装上屏幕 HAT 之后会被占用你需要想办法把 GPIO 引出来。常见的做法有两种一种是使用堆叠排针把屏幕 HAT 插在堆叠排针上然后从堆叠排针的侧面引出杜邦线另一种是设计一块GPIO 扩展板把常用的引脚比如 I2C、SPI、UART、几个 GPIO引到标准的排针或者端子座上。我一开始用的是堆叠排针方案优点是简单、不需要额外画板子。缺点是杜邦线容易松动而且一堆线堆在一起很乱。后来我画了一块简单的扩展板把 I2C 的 SDA/SCL、SPI 的 MOSI/MISO/SCLK/CE0、UART 的 TX/RX、以及四个通用 GPIO 引到了 2.54mm 排针上还加了一个 3.3V 和 5V 的电源输出端子。这块板子是用嘉立创打的样成本不到十块钱。如果你不想画板子也可以用现成的T 型 GPIO 扩展板或者GPIO 排线。T 型扩展板的好处是不占用额外空间直接插在树莓派和屏幕之间。GPIO 排线则适合把 GPIO 引到外壳外面方便接传感器。GPIO 的使用要注意电平匹配。树莓派的 GPIO 是 3.3V 电平如果你接 5V 的外设比如某些继电器模块、舵机信号线需要加电平转换电路否则可能烧毁 GPIO 引脚。我见过有人直接把 5V 的超声波模块接到树莓派 GPIO 上结果树莓派的 3.3V 稳压芯片过热保护整个板子重启。3.3 触摸屏驱动配置与校准触摸屏的驱动配置是 Diskio Pi 最容易出问题的环节。不同品牌的屏幕用的触摸芯片不一样驱动配置也不同。我手头这块 5 寸屏用的是 GT911 触摸芯片I2C 地址是 0x5D。配置方法是编辑/boot/config.txt添加以下内容# 启用 I2C dtparami2c_armon # 加载 GT911 触摸驱动 dtoverlaygt911 # 如果屏幕通过 GPIO 控制背光 gpio18op,dh保存后重启然后用i2cdetect -y 1检查触摸芯片是否被识别。如果看到0x5D地址上有设备说明 I2C 通信正常。接下来用evtest或者libinput测试触摸事件是否正常上报。如果触摸方向不对比如上下颠倒、左右镜像可以通过dtoverlay的参数来调整。比如dtoverlaygt911:rotate180可以旋转 180 度。有些屏幕还需要在config.txt里设置display_rotate来旋转显示方向但要注意显示旋转和触摸旋转是分开配置的两个都要改才能保证触摸位置和显示位置一致。校准方面电容触摸屏一般不需要手动校准驱动会自动上报正确的坐标。但如果你的屏幕是电阻触摸就需要用xinput_calibrator工具来校准。运行xinput_calibrator之后按照提示点击四个角它会生成一段配置你把它保存到/etc/X11/xorg.conf.d/99-calibration.conf里即可。提示如果你在树莓派 5 上跑 Ubuntu 系统触摸屏的配置方式略有不同。Ubuntu 使用libinput作为输入驱动你需要在/usr/share/X11/xorg.conf.d/目录下创建配置文件指定MatchDevicePath和Option TransformationMatrix来调整触摸方向。3.4 电池管理与自动关机脚本电池管理是 Diskio Pi 能否“日常使用”的关键。我用的方案是 IP5306 充放电管理板 ADS1115 电压监测模块。IP5306 负责给树莓派提供稳定的 5V 输出同时管理锂电池的充电。ADS1115 通过 I2C 读取电池电压树莓派上的 Python 脚本根据电压判断剩余电量并在低电量时自动关机。ADS1115 的接线很简单VDD 接 3.3VGND 接 GNDSDA 接 GPIO2SCL 接 GPIO3。电池的正极经过一个分压电路比如两个 100kΩ 电阻串联之后接到 ADS1115 的 A0 通道。分压电路的作用是把电池电压最高 4.2V降到 ADS1115 的量程范围内默认 ±4.096V但单端模式下最大 4.096V。如果你用的是两节 18650 并联满电电压是 4.2V分压之后是 2.1V在 ADS1115 的量程内。Python 脚本的核心逻辑是每隔 10 秒读取一次 ADS1115 的 A0 通道电压乘以分压比2 倍得到实际电池电压然后根据电压值估算剩余电量。当电压低于 3.3V 时执行sudo shutdown -h now。脚本可以用systemd服务的方式在后台运行开机自启。import time import board import busio import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn import subprocess i2c busio.I2C(board.SCL, board.SDA) ads ADS.ADS1115(i2c) chan AnalogIn(ads, ADS.P0) VOLTAGE_DIVIDER_RATIO 2.0 LOW_BATTERY_THRESHOLD 3.3 while True: battery_voltage chan.voltage * VOLTAGE_DIVIDER_RATIO print(fBattery voltage: {battery_voltage:.2f}V) if battery_voltage LOW_BATTERY_THRESHOLD: print(Low battery, shutting down...) subprocess.run([sudo, shutdown, -h, now]) break time.sleep(10)这个脚本我实测下来很稳但有一个细节要注意ADS1115 的读数会有波动尤其是在树莓派 CPU 负载高的时候I2C 总线上的噪声会导致电压读数跳动。解决办法是在脚本里加一个滑动平均滤波比如连续读 5 次取平均值这样读数会稳定很多。4. 完整实操流程与关键环节实现4.1 硬件组装顺序与注意事项硬件组装我建议按照“先内后外、先低后高”的顺序来。具体来说准备电池组把两节或三节 18650 电芯用点焊机或者电池座并联起来。如果你没有点焊机可以用带引脚的 18650 电池座直接焊接导线。注意正负极不要接反否则会烧毁管理板。安装充放电管理板把电池组接到 IP5306 模块的 B 和 B- 端子上然后用万用表测量输出端的电压确认是 5V 左右。如果电压不对检查电池是否充电不足或者管理板是否损坏。安装树莓派和屏幕先把树莓派固定在外壳的底层然后把屏幕 HAT 插在 GPIO 排针上。如果你用了堆叠排针注意不要插歪否则可能损坏引脚。屏幕的排线要小心弯折FPC 排线很脆弱反复弯折容易断裂。连接电源和监测模块把 IP5306 的 5V 输出接到树莓派的 USB 电源口或者 GPIO 的 5V 引脚上。注意树莓派的 USB 电源口有保险丝而 GPIO 的 5V 引脚没有如果你从 GPIO 供电一定要确保电源电压稳定在 5V ± 0.25V 以内。安装散热风扇树莓派 4B 和树莓派 5 在高负载下都会发热尤其是跑图形界面或者编译代码的时候。我用的是一块 5V 的 30mm 风扇接在 GPIO 的 5V 和 GND 上风一直吹。如果你想要温控风扇可以用一个 NPN 三极管或者 MOSFET 来控制风扇的开关通过 GPIO 输出 PWM 信号调速。合壳与固定把所有部件塞进外壳之后用螺丝固定好。注意不要压到排线或者电池导线。合壳之前最好先通电测试一遍确认屏幕能亮、触摸能用、系统能启动。注意锂电池在组装过程中要避免短路。如果你不小心把正负极短接电池会瞬间大电流放电可能起火。建议在电池组输出端加一个保险丝或者自恢复保险丝PTC电流超过阈值时自动断开。4.2 系统镜像定制与开机自启配置系统安装完成之后我建议做一个自定义镜像把常用的软件和配置都打包进去。这样如果 SD 卡坏了或者系统崩了你可以直接烧录镜像恢复不用从头再来一遍。定制镜像的步骤大致是先在树莓派上安装好所有需要的软件比如python3-pip、git、vim、htop、docker等配置好触摸屏驱动、电池监测脚本、开机自启服务然后用dd命令把 SD 卡的内容备份成镜像文件。如果你用的是 SSD也可以用dd备份但镜像文件会比较大。开机自启我用了两种方式对于电池监测脚本我用systemd服务对于图形界面的应用比如浏览器或者终端我用autostart桌面项。systemd服务的配置文件放在/etc/systemd/system/battery-monitor.service内容如下[Unit] DescriptionBattery Monitor Service Aftermulti-user.target [Service] Typesimple ExecStart/usr/bin/python3 /home/pi/battery_monitor.py Restartalways Userpi [Install] WantedBymulti-user.target保存后执行sudo systemctl enable battery-monitor.service和sudo systemctl start battery-monitor.service服务就会在每次开机时自动运行。图形界面的自启动配置放在/etc/xdg/autostart/或者~/.config/autostart/目录下创建一个.desktop文件即可。比如你想开机自动打开一个终端窗口可以这样写[Desktop Entry] TypeApplication NameTerminal Execlxterminal X-GNOME-Autostart-enabledtrue4.3 散热与功耗实测数据散热和功耗是 Diskio Pi 能否长时间稳定运行的关键。我实测了几种场景下的功耗和温度数据供你参考场景树莓派 4B 功耗树莓派 5 功耗CPU 温度无风扇CPU 温度有风扇待机桌面空闲2.8W3.5W52°C38°C网页浏览Chromium4.5W6.2W68°C45°C视频播放1080p5.2W7.0W72°C48°C编译代码make -j46.8W9.5W82°C55°C从数据可以看出树莓派 5 的功耗和发热都比树莓派 4B 高不少。如果你用树莓派 5 做 Diskio Pi散热风扇是必须的否则在编译或者视频播放场景下很容易触发降频。树莓派 4B 的话如果外壳有足够的散热孔不加风扇也能勉强用但长时间高负载还是建议加一个。电池续航方面我用的是两节 18650 并联总容量 6800mAh3.7V 标称约 25Wh。在待机场景下树莓派 4B 的功耗约 2.8W加上屏幕约 1.5W和电源转换损耗约 0.5W总功耗约 4.8W。25Wh / 4.8W ≈ 5.2 小时。网页浏览场景下总功耗约 6.5W续航约 3.8 小时。这个续航水平不算出色但应付半天轻度使用没问题。如果你想要更长的续航可以考虑三节 18650 并联约 37Wh或者换用功耗更低的树莓派 Zero 2 W。但 Zero 2 W 的性能太弱跑图形界面会比较卡只适合做终端或者 GPIO 控制类的应用。4.4 外设扩展摄像头、传感器与音频Diskio Pi 的扩展能力是它区别于普通平板的核心优势。我在这台设备上接了一个 OV5647 摄像头模块、一个温湿度传感器DHT22、一个 USB 声卡和一个小喇叭。摄像头模块通过 CSI 排线连接到树莓派。树莓派 4B 和树莓派 5 都有 CSI 接口但树莓派 5 有两个 CSI 接口可以同时接两个摄像头。OV5647 是树莓派官方摄像头模块的经典款500 万像素支持 1080p 30fps 视频录制。在 Raspberry Pi OS 里启用摄像头的方法是运行raspi-config在Interface Options里启用Camera然后重启。测试摄像头可以用libcamera-hello或者raspistill命令。DHT22 温湿度传感器接在 GPIO4 上用Adafruit_DHT库读取数据。DHT22 的通信协议是单总线对时序要求比较严格在树莓派上读取偶尔会失败。解决办法是加一个 4.7kΩ 的上拉电阻并且在 Python 脚本里加重试逻辑。USB 声卡我用的是一块便宜的 CM108 芯片声卡插在 USB 口上就能被系统识别。喇叭接在声卡的 3.5mm 输出口上。如果你想要更好的音质可以用 I2S 音频模块比如 PCM5102 DAC通过 I2S 接口连接树莓派音质比 USB 声卡好很多但配置起来也更复杂。提示树莓派 5 的 GPIO 引脚功能和树莓派 4B 基本兼容但有一些细微差别。比如树莓派 5 的 UART 默认分配给调试口如果你想用 GPIO14/15 作为普通 UART需要在config.txt里添加dtoverlaydisable-bt来禁用蓝牙对 UART 的占用。5. 常见问题与排查技巧实录5.1 屏幕不亮或触摸失灵屏幕不亮是最常见的问题排查思路可以按照以下顺序检查背光用手机摄像头对着屏幕如果能看到微弱的图像说明背光没亮。检查背光控制引脚是否配置正确有些屏幕需要 GPIO 输出高电平才能点亮背光。检查排线FPC 排线是否插紧金手指是否有氧化或者污渍。可以用橡皮擦轻轻擦拭金手指然后重新插入。检查 config.txt确认dtoverlay配置是否正确hdmi_timings参数是否匹配你的屏幕型号。如果不确定可以先注释掉所有自定义配置用默认配置启动看屏幕是否能显示。检查电源有些屏幕需要额外的 5V 或 3.3V 供电如果只靠 GPIO 供电可能电流不够。用万用表测量屏幕的电源引脚电压是否正常。触摸失灵的话先用i2cdetect -y 1检查触摸芯片是否被识别。如果识别不到检查 I2C 接线是否正确SDA 和 SCL 是否接反。如果识别到了但触摸没反应检查dtoverlay是否加载了正确的驱动以及/dev/input/下是否有对应的 event 设备。5.2 电池供电时系统不稳定或重启电池供电时系统不稳定通常有以下几个原因电压不足锂电池在放电后期电压会降到 3.5V 以下经过 IP5306 升压到 5V 之后如果电流不够电压会进一步跌落导致树莓派欠压重启。解决办法是换用更大容量的电池或者用支持更高放电电流的管理板。电源线太细从管理板到树莓派的电源线如果太细线阻会导致电压跌落。建议用 20AWG 或者更粗的导线长度尽量短。树莓派 5 的峰值电流树莓派 5 在满载时峰值电流可以超过 3AIP5306 的 2.4A 输出可能不够。如果你用树莓派 5建议换用支持 5V/3A 以上输出的管理板比如基于 SW6115 或者 IP5389 的方案。USB 外设过多如果你同时接了摄像头、声卡、键盘、鼠标USB 总电流可能超过管理板的输出能力。可以加一个有源 USB Hub或者减少同时使用的外设数量。5.3 系统运行一段时间后卡顿或死机系统卡顿或死机的原因比较多我遇到过的情况包括SD 卡老化SD 卡的写入寿命有限频繁读写会导致坏块增多系统响应变慢。解决办法是换用 SSD 或者高质量的工业级 SD 卡。树莓派 5 支持 NVMe SSD强烈建议用 SSD 作为系统盘。散热不良CPU 温度超过 80°C 之后会触发降频系统会明显变卡。检查散热风扇是否正常工作散热片是否贴紧 CPU。如果外壳散热孔不够可以增加开孔或者换用金属外壳。内存不足树莓派 4B 有 2GB、4GB、8GB 版本如果你跑的是图形界面加浏览器2GB 版本会很快耗尽内存。用free -h查看内存使用情况如果 swap 使用率很高说明内存不够。可以考虑增加 swap 分区或者换用更大内存的版本。电源管理脚本冲突如果你同时装了多个电源管理相关的脚本或者服务它们可能会互相干扰。检查systemd服务列表禁用不必要的服务。5.4 常见问题速查表问题现象可能原因排查方法解决方案屏幕不亮背光未启用手机摄像头观察配置背光 GPIO触摸无反应I2C 未启用i2cdetect -y 1启用 I2C 并加载驱动系统频繁重启电源电压不足万用表测 5V 输出换更大容量电池或管理板系统卡顿CPU 降频vcgencmd measure_temp加散热风扇或散热片摄像头无法识别CSI 排线松动libcamera-hello重新插拔排线WiFi 断连电源管理策略iwconfig关闭 WiFi 省电模式电池电量显示不准分压电阻误差万用表对比校准分压比或换精密电阻提示树莓派的 WiFi 省电模式会导致网络间歇性断连尤其是在电池供电时。关闭方法是编辑/etc/rc.local在exit 0之前加上iwconfig wlan0 power off。或者创建一个systemd服务在开机时执行这个命令。6. 个人实操心得与后续扩展方向这台 Diskio Pi 我从第一版做到第三版前后花了大概两个月的时间大部分时间都花在等配件和调试驱动上。如果让我给新手一个建议那就是不要一开始就追求完美。先用手头的配件搭一个能跑起来的最小系统屏幕能亮、系统能启动、电池能供电这就够了。然后再逐步添加摄像头、传感器、散热风扇这些扩展功能。每加一个功能就测试一遍确保不会影响之前的稳定性。另一个心得是文档记录很重要。我在调试过程中改了很多配置文件有时候改着改着就忘了之前改过什么。后来我养成了习惯每次修改config.txt或者安装新软件之前先备份一份原始文件然后在笔记里记下修改的内容和原因。这样如果出了问题可以快速回滚到之前的状态。后续扩展方面我打算在这台 Diskio Pi 上跑一些本地 AI 应用。树莓派 5 的性能比树莓派 4B 强不少配合 NPU 加速棒或者 Hailo-8L 模块可以跑一些轻量级的视觉模型比如 YOLOv5 或者 MobileNet。我已经在树莓派 5 上部署过自己训练的 YOLOv5 模型推理速度大概 5 到 8 FPS做简单的物体检测够用了。如果你对这方面感兴趣可以先把系统跑通然后再折腾 AI 部分。最后分享一个小技巧如果你觉得树莓派的 USB 口不够用可以用 GPIO 的 UART 或者 I2C 接口接一些低速外设比如 GPS 模块、温湿度传感器、OLED 小屏幕。这样可以把 USB 口留给键盘、鼠标、摄像头这些必须用 USB 的设备。GPIO 的扩展能力是 Diskio Pi 相比普通平板最大的优势善用这个优势你能做出很多商业平板做不到的事情。
返回列表