当前位置:首页>python>体感灯光/音效玩具 [MicroPython/ESP32]

体感灯光/音效玩具 [MicroPython/ESP32]

  • 2026-07-02 16:37:04
体感灯光/音效玩具 [MicroPython/ESP32]

1. 系统结构

IMU 单元:5V 电池/充电宝 -> XIAO ESP32C3 -> 3.3V 给 MPU6050MPU6050 -> I2C -> XIAO -> BLE Notify 50Hz主控单元:USB-C PD 电源 -> HUSB238 -> 20V -> DCDC -> 5V 总线5V 总线 -> ESP32-S3 / WS2812B 灯带 / MAX98357A / 3.3V 稳压ESP32-S3 -> BLE 接收 IMU -> 灯效 + SD 卡 WAV 音效

核心思路:IMU 单元只负责稳定采集和广播 6 轴数据;主控单元负责连接、状态判断、方向识别、灯带渲染、SD 卡音频播放和故障降级。

2. 一些官方文档链接

  • ESP32-S3-DevKitC-1 可通过 USB、5V/GND 或 3V3/GND 供电,但这些是互斥供电方式;官方 v1.1 板载可编程 RGB LED 在 GPIO38,早期版本在 GPIO48。见 Espressif 文档:ESP32-S3-DevKitC-1 User Guidehttps://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide_v1.1.html)

  • Seeed XIAO ESP32C3 的 D4=SDA=GPIO6D5=SCL=GPIO75V 可作为输入,3V3 是板载稳压输出。见 Seeed Wiki:XIAO ESP32C3 Getting Started(https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started/)

  • Adafruit HUSB238 Breakout 的默认 I2C 地址是 0x08;I2C 没有板载上拉,需要接到外部逻辑电平;跳线/电阻设置会在上电启动时生效,I2C 命令只能在 MCU 启动后覆盖。见 Adafruit Guide:HUSB238 Pinouts(https://learn.adafruit.com/adafruit-husb238-usb-type-c-power-delivery-breakout/pinouts)

  • NeoPixel/WS2812 类灯带建议先接地,数据线串联 300-500Ω 电阻,灯带电源首端并 500-1000uF 电解电容。见 Adafruit Guide:Powering NeoPixels(https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels)

  • MAX98357A 支持 I2S 数字音频输入,VDD 工作范围 2.5V 到 5.5V;SD_MODE 拉低进入 shutdown。见 Analog Devices:MAX98357A datasheet(https://www.analog.com/media/en/technical-documentation/data-sheets/MAX98357A-MAX98357B.pdf)

  • 常规 microSD 卡工作电压范围是 2.7V 到 3.6V;多数 SPI microSD 模块若未明确自带稳压/电平转换,就按 3.3V 供电。见 SD Association:SD Standard Overview(https://www.sdcard.org/developers/sd-standard-overview/)

  • MicroPython ESP32 端内置 neopixel 模块,并提供 machine.I2S(id, sck, ws, sd, mode=I2S.TX, ...) 用于 I2S 输出。见 MicroPython 文档:neopixel(https://docs.micropython.org/en/latest/library/neopixel.html)machine.I2S(https://docs.micropython.org/en/latest/library/machine.I2S.html)

3. 材料清单

IMU 单元:

材料数量说明
Seeed XIAO ESP32C31BLE 外设,运行 imu_module/main.py
MPU6050 模块1I2C 六轴 IMU,地址默认 0x68
5V USB-C 电池/充电宝1直接给 XIAO USB-C 供电
杜邦线/短导线若干MPU6050 的 3V3/GND/SDA/SCL

主控单元:

材料数量说明
ESP32-S3-DevKitC-11BLE 主机、灯带、音频、SD、HUSB238 控制
HUSB238 PD Sink 模块1冷启动默认设为 20V 或适配器最高可用电压
6-35V 输入 DCDC 降压模块1输出 5V,建议可持续 6.5A 以上
5V WS2812B/NeoPixel 灯带1当前代码配置 108 颗,GPIO2
MAX98357A I2S 功放15V 供电,GPIO15/16/17 I2S,GPIO18 静音
MicroSD SPI 模块13.3V 供电,/sounds 下放 6 个 WAV
3.3V 稳压模块1给 SD 模块和 I2C 上拉供电,不反灌 ESP 的 3V3
20-22AWG 线若干HUSB238 到 DCDC、DCDC 到灯带等大电流路径
330Ω 电阻1ESP GPIO2 到灯带 DIN 串联
4.7kΩ 电阻2HUSB238 SDA/SCL 上拉到 3.3V
10kΩ 电阻1MAX98357A SD/MODE 上拉到 3.3V
470uF 或 1000uF 电解电容1灯带首端 5V-GND,耐压 6.3V 以上,16V 更好
100nF 陶瓷电容 104若干SD、功放、稳压模块附近去耦

4. 电源原则

主控实际使用时不接 ESP32-S3 的 Type-C。供电链路是:

USB-C PD 适配器  -> HUSB238 VOUT 20V  -> DCDC IN  -> DCDC OUT 5V  -> ESP32-S3 5V/VIN、灯带 5V、MAX98357A VIN、3.3V 稳压输入

注意事项:

  • HUSB238 必须靠硬件跳线/电阻先输出高于 DCDC 最低输入的电压;当前方案已设为 20V。不能指望“默认 5V 启动后让 ESP 软件改 20V”,因为 ESP 需要 DCDC 先启动才有电。

  • DCDC 输出设为 5.0V ±0.1V 后再接 ESP 和灯带。

  • 灯带满功率标称 18W,约 3.6A;加上 ESP、SD、功放、DCDC 余量,5V 输出建议按 6.5A 设计。当前软件把灯带亮度上限限制在 12%,日常电流远低于满白,但硬件仍按峰值留余量。

  • 灯带和 DCDC 的大电流不要走面包板或普通杜邦线。DCDC 到灯带建议用 20-22AWG 线;面包板只适合小电流逻辑、上拉、SD 等。

  • 所有模块必须共地:DCDC OUT-、ESP GND、灯带 GND、MAX98357A GND、SD GND、HUSB238 VOUT- 是同一个地。

  • 使用 DCDC 5V 给 ESP 的 5V/VIN 后,不要再把外部 3.3V 稳压输出硬接到 ESP 的 3V3

5. IMU 单元接线

XIAO ESP32C3MPU6050说明
USB-C5V 电池 USB-C 输出实际使用供电
3V3VCC 或 3V3给 MPU6050 模块供电
GNDGND共地
D4 / GPIO6SDAI2C 数据
D5 / GPIO7SCLI2C 时钟

如果 MPU6050 模块同时有 VCC_IN 和 3v3,优先按模块丝印和原理图确认。当前项目按 3.3V 供电,避免把裸 MPU6050 芯片暴露在 5V 逻辑下。

6. 主控接线

6.1 HUSB238 和 DCDC

HUSB238连接到说明
USB-CPD 适配器支持 20V/足够功率的 USB-C PD 充电器
VOUT / V+DCDC IN+20V,只能进 DCDC
VOUT- / GNDDCDC IN- / 公共 GND高压侧地
SDAESP32-S3 GPIO8I2C,需 4.7kΩ 上拉到 3.3V
SCLESP32-S3 GPIO10I2C,需 4.7kΩ 上拉到 3.3V

HUSB238 的电压跳线建议设为 20V/最高可用档;电流档按模块规则选择 3A 或更高。若是 Adafruit 式跳线板,20V 通常是所有电压跳线断开,3A 通常是 1A/2A 电流跳线都断开;最终以你手上模块丝印为准。

6.2 DCDC 5V 分配

DCDC OUT+ -> 5V 分线点  -> ESP32-S3 5V/VIN  -> 灯带 5V  -> MAX98357A VIN  -> 3.3V 稳压模块 INDCDC OUT- -> GND 分线点  -> ESP32-S3 GND  -> 灯带 GND  -> MAX98357A GND  -> 3.3V 稳压模块 GND

建议把 DCDC 输出先做成焊接分线点或端子排,再分别拉线到灯带、ESP、功放和 3.3V 稳压。不要把 6.5A 级别的主电流穿过面包板电源轨。

6.3 灯带

灯带连接到说明
5VDCDC 5V粗线,首端供电即可;当前亮度限制下通常不需要两端供电
GNDDCDC GND / 公共 GND粗线
DIN / DataESP32-S3 GPIO2 经 330Ω 电阻数据线方向必须从 DIN 进入

灯带首端 5V 和 GND 之间并一个 470uF-1000uF 电解电容,正极接 5V,负极接 GND。手头的 16V 470uF 可以用;如果以后经常高亮,再换 1000uF。

6.4 MicroSD 模块

MicroSD 模块ESP32-S3 / 电源说明
VCC / 3V3外部 3.3V 轨不接 5V,除非模块明确自带稳压和电平转换
GND公共 GND必须与 ESP 共地
CS / SSGPIO5SPI 片选
SCK / CLKGPIO4SPI 时钟
MOSI / DI / CMDGPIO6ESP 到 SD
MISO / DO / DAT0GPIO7SD 到 ESP

在 SD 模块电源附近并一颗 104 陶瓷电容。SD 卡建议 FAT32,根目录下建 sounds 文件夹,放 6 个 16-bit PCM WAV 文件。不要放 macOS 生成的 ._*.wav 隐藏资源文件。

6.5 MAX98357A 功放

MAX98357AESP32-S3 / 电源说明
VIN / VCCDCDC 5V5V 供电
GND公共 GND与 ESP、DCDC 共地
BCLK / BCKGPIO15I2S bit clock
LRC / LRCLK / WSGPIO16I2S word select
DIN / SDINGPIO17I2S 音频数据
SD / MODE / SHDNGPIO18 + 10kΩ 到 3.3V软件静音/关断
SPK+ / OUT+扬声器 +桥接输出
SPK- / OUT-扬声器 -不要接 GND

推荐 SD/MODE 接法:

3.3V -> 10kΩ -> SD/MODE 节点 -> MAX98357A SD/MODE                         |                         -> ESP32-S3 GPIO18

功放 VIN/GND 附近并一颗 104 陶瓷电容;若大音量爆音或电源抖动,再加 330uF/470uF 电解电容。

7. 代码上传

IMU 单元上传到 XIAO ESP32C3 根目录:

main.pyboot.pyble_peripheral.pympu6050.pyled.py

主控单元上传到 ESP32-S3 根目录:

main.pylib/ble_host.pylib/status_led.pylib/light_strip.pylib/light_fx.pylib/audio_mute.pylib/audio_player.pylib/sdcard.pylib/husb238.py

生产运行不需要上传 test_*.py。测试时可临时上传并运行:

test_husb238.pytest_light_strip.pytest_audio_sd.pytest_direction_sounds.py

8. 建议组装和测试流程

  1. 只接 HUSB238 和 DCDC。确认 HUSB238 冷启动输出 20V 左右,DCDC 输出稳定 5V。

  2. DCDC 5V 接 ESP32-S3 的 5V/VIN 和 GND。暂不接灯带、SD、功放,确认主控可启动。

  3. 接 HUSB238 I2C:GPIO8/10、4.7kΩ 上拉到 3.3V,运行 test_husb238.py,确认能读到 0x08 并看到 20V/PD 能力。

  4. 接灯带:先只跑 test_light_strip.py,从前 10 颗、低亮度开始。

  5. 接 SD 和 MAX98357A,运行 test_audio_sd.py,确认能读 /sd/sounds 且 6 个 WAV 都是 RIFF/WAVE PCM。

  6. 启动 IMU 单元,确认它持续广播 IMU-Controller

  7. 运行主控 main.py,观察主控从搜索、连接、工作、待机、故障等状态切换。

每一步上电前都先测短路:5V-GND 不应接近 0Ω;3.3V-GND 不应接近 0Ω;20V 只允许到 DCDC 输入。

9. 当前代码设计

9.1 IMU 单元

imu_module/main.py 启动后:

  • 初始化 XIAO 的 I2C:SDA=GPIO6SCL=GPIO7、100kHz。

  • 扫描并初始化 MPU6050,使用 ±2g、±250dps;原始加速度保留重力,陀螺仪做零偏校准。

  • 若没有 calib.json,首次启动会静止采样约 1 秒,只校准陀螺仪零偏,不会把单一姿态的重力错误扣掉。

  • 6 面加速度校准只在手动 BLE 命令 0x02 时执行,属于开发/装配阶段功能。

  • 进入 50Hz 主循环,发送 13 字节数据包:ax ay az gx gy gz flags,格式为 little-endian "<hhhhhhB"

  • 如果 MPU6050 缺失或读失败,BLE 仍继续广播/连接,但发送 FLAG_MPU_ERROR,让主控显示故障而不是误判为离线。

9.2 主控单元

main_controller/main.py 启动后:

  • 板载 RGB 状态灯:默认 GPIO48;如果是官方 v1.1 且不亮,改 STATUS_LED_PIN = 38

  • HUSB238:I2C0,SDA=GPIO8SCL=GPIO10、地址 0x08;启动后优先请求 20V,其次 12V/15V/9V。软件请求只做验证和重新协商,不能替代硬件冷启动跳线。

  • 灯带:GPIO2,108 颗,最大亮度 STRIP_MAX_BRIGHTNESS = 0.12

  • 音频:SD 卡 SPI 用 GPIO5/4/6/7;MAX98357A I2S 用 GPIO15/16/17;GPIO18 控制功放静音。

  • BLE 主机扫描目标名 IMU-Controller。找不到 IMU 时先快扫 60 秒,之后低占空比慢扫,但不会停止搜索。

  • 收到 IMU 后以当前姿态建立方向基线;方向分为 up/down/left/right/front/back,灯效和音效都按这个相对方向触发。

  • 静止未满 60 秒时,灯带会冻结上一帧动作效果;超过 60 秒进入软件待机后切到低亮彩虹,音频静音,BLE 不断开。当前 ESP_SLEEP_AFTER_STANDBY = False,所以 IMU 再晃动可以自动恢复。

  • SD 卡缺失或运行中拔出时,主控不会崩溃;音频会静音并每 8 秒尝试重新挂载。SPI SD 不是真正热插拔设备,仍建议不要在播放中拔卡。

9.3 状态灯和灯带逻辑

板载 RGB 只作为低亮状态提示;板上红色电源灯不是程序状态灯。

状态板载 RGB灯带
启动暖黄低亮启动色
搜索 IMU蓝色脉冲蓝色扫描
连接中橙色脉冲橙色脉冲
工作低亮蓝色呼吸IMU 方向/强度驱动
待机低亮慢呼吸低亮彩虹
故障红色闪烁红色闪烁

灯带效果由 lib/light_fx.py 非阻塞渲染。动作越强,亮度、速度、尾迹长度越明显;不同方向使用不同色系和效果组。当前避免强闪烁,峰值可亮,但对比不过分刺激。

9.4 音频逻辑

主控启动时扫描 /sd/sounds,把前 6 个合法 WAV 按这个顺序映射:

up, down, left, right, front, back

方向音效触发比灯效更保守:需要超过阈值并稳定若干包,同方向有冷却时间,不同方向可较快打断。音量按动作强度动态映射,当前范围:

AUDIO_VOLUME_MIN = 0.15AUDIO_VOLUME_MAX = 0.9

如果小动作不出声,主要调:

AUDIO_DIRECTION_TRIGGER_THRESHOLDAUDIO_DIRECTION_RESET_THRESHOLDAUDIO_VOLUME_MINAUDIO_ACCEL_DELTA_THRESHOLD

10. 运行时边界情况

情况当前行为
主控先启动,IMU 没启动主控持续搜索;60 秒后慢扫待机,不会停止
IMU 先启动,主控没启动IMU 持续广播,等待主控连接
两者连接后 IMU 断电主控断开后重新扫描,音频静音
MPU6050 断线但 XIAO 仍在线IMU 发送故障包,主控进入故障灯效并静音
SD 卡未插灯光/BLE 正常,音频禁用并定期重试
SD 卡运行中拔出播放/健康检查失败后静音,释放 I2S/SD 并重试
SD 卡重新插入尝试重新挂载并恢复方向音效
HUSB238 只默认 5V如果 DCDC 最低输入 6V,整机不能冷启动
ESP 进入 deep sleep当前未启用;如果启用,IMU 无线动作不能直接唤醒 ESP,需要复位/断电重启或另加唤醒硬件

11. 常用调参位置

目标文件参数
板载 RGB 引脚main_controller/main.pySTATUS_LED_PIN
板载 RGB 亮度main_controller/main.pySTATUS_LED_BRIGHTNESS
灯带引脚/数量main_controller/main.pySTRIP_PINSTRIP_LED_COUNT
灯带最大亮度main_controller/main.pySTRIP_MAX_BRIGHTNESS
静止进入待机时间main_controller/main.pySTANDBY_AFTER_STILL_MS
方向识别灵敏度main_controller/main.pyDIRECTION_ACCEL_THRESHOLDDIRECTION_SWITCH_MARGIN
音效触发灵敏度main_controller/main.pyAUDIO_DIRECTION_TRIGGER_THRESHOLDAUDIO_DIRECTION_STABLE_PACKETS
音量范围main_controller/main.pyAUDIO_VOLUME_MINAUDIO_VOLUME_MAX
IMU 采样频率imu_module/main.pySEND_INTERVAL_MS
MPU I2C 引脚imu_module/main.pyPIN_SDAPIN_SCL

12. 最小复现思路

  1. 一个 BLE IMU 节点:任意 ESP32-C3/S3 + 任意 6 轴 IMU,50Hz 发送 6 轴数据。

  2. 一个主控节点:ESP32-S3 或类似 MCU,能跑 BLE Central、灯带驱动、I2S 音频。

  3. 一条 5V 可寻址灯带:电源单独供,数据由主控 GPIO 输出,必须共地。

  4. 一个音频输出:I2S 功放 + SD 卡或内置 Flash 音频。

  5. 软件分层:采集端只发数据;主控端做连接状态、动作分类、灯效、音效和故障处理。

  6. 参考源码:https://github.com/Zhiqi123/imu_toy。

这个项目关键的是电源和状态机:大电流单独走粗线,所有模块共地;主控即使没有 IMU、没有 SD、IMU 传感器故障,也要继续运行并给出可见状态。

13. 疯狂的线💩

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 12:16:41 HTTP/2.0 GET : https://f.mffb.com.cn/a/495606.html
  2. 运行时间 : 0.356241s [ 吞吐率:2.81req/s ] 内存消耗:4,571.79kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=005d0bb8cae81a7dabdff41d7d29d712
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000592s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000611s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000467s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.005313s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000908s ]
  6. SELECT * FROM `set` [ RunTime:0.003183s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000842s ]
  8. SELECT * FROM `article` WHERE `id` = 495606 LIMIT 1 [ RunTime:0.038146s ]
  9. UPDATE `article` SET `lasttime` = 1783052201 WHERE `id` = 495606 [ RunTime:0.004732s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000374s ]
  11. SELECT * FROM `article` WHERE `id` < 495606 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009065s ]
  12. SELECT * FROM `article` WHERE `id` > 495606 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.015720s ]
  13. SELECT * FROM `article` WHERE `id` < 495606 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.081171s ]
  14. SELECT * FROM `article` WHERE `id` < 495606 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.096305s ]
  15. SELECT * FROM `article` WHERE `id` < 495606 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.028871s ]
0.357800s