高速数据采集模块
这是一个基于MicroPython的高速数据采集模块,专门设计用于ESP32平台,可以进行高频率模拟信号采样并通过UDP网络传输。
主要功能
- 高速ADC采样(12位精度)
- WiFi网络连接
- UDP数据传输
- 看门狗保护机制
- 自动重试机制
技术规格
- 采样频率:20Hz
- 每次采样包含50个数据点
- ADC分辨率:12位
- 网络协议:UDP
- 看门狗超时时间:20秒
配置参数
SSID = "Obscura" # WiFi名称
PASSWORD = "Obscura2024" # WiFi密码
UDP_HOST = "222.186.10.253" # UDP服务器地址
UDP_PORT = 6002 # UDP端口
SERIAL_NUMBER = "ES01-208742cf95-efe5fb" # 设备序列号
使用方法
- 导入模块:
from boot import HighSpeedCollector
- 创建采集器实例:
collector = HighSpeedCollector()
- 连接WiFi并启动采集:
collector.connect_wifi()
collector.setup_udp()
collector.start()
- 停止采集:
collector.stop()
数据格式
每个UDP数据包的格式如下:
- 时间戳(2字节)
- 分片索引(2字节)
- 50个采样数据点(每个2字节)
错误处理
- WiFi连接超时:30秒后触发异常
- 自动重试机制:最多重试3次
- 看门狗保护:防止程序死机
注意事项
- 确保WiFi配置正确
- 确保UDP服务器地址可访问
- 程序运行时会自动进行内存回收(GC)
- 设备会定期发送序列号用于身份识别
依赖
- MicroPython
- ESP32开发板
- 需要ADC功能支持