MPU6050 六轴陀螺仪
使用通用传感器(type=38),在外设配置中选择注册驱动 MPU6050。运行要求驱动已编入、功能配置中的 i2cSensors 已启用、预算允许且外设已启用。仅保存外设不会创建周期采集规则。
接线与配置
VCC/GND 按具体模块额定电压接入并共地,SDA/SCL 电平需与 ESP32 兼容。GPIO21/22 是经典 ESP32 示例;C3/C6/S3 或专用板须使用其能力和引脚预检允许的组合。设备地址为 0x68 / 0x69,JSON 使用数字地址。共享总线须通过资源检查,地址不能冲突。
下例为 peripherals 数组中的单个条目;通过受管导入预览确认接线和资源后再启用:
{
"id": "mpu6050_1",
"name": "MPU6050 六轴陀螺仪",
"type": 38,
"enabled": false,
"pinCount": 2,
"pins": [
21,
22
],
"params": {
"driver": "MPU6050",
"address": 104,
"frequency": 100000,
"sampleInterval": 5000,
"mode": 0
}
}| 参数 | 说明 |
|---|---|
| driver | MPU6050,与实际传感器匹配 |
| address | 数字 I2C 地址;省略时使用该驱动默认地址 |
| frequency | 100000 或 400000 Hz,共享客户端须兼容 |
| sampleInterval | ms;允许 100~86400000,0 使用默认 1000;实际最小读取间隔还受驱动下限 100ms 限制 |
| busPeripheralId | 可选已保存的 I2C 主总线 ID;引用时 pins=[]、pinCount=0,不能同时指定两个引脚 |
| mode | 0=加速度、1=角速度;切换后重新确认采集动作通道 |
sensorCategory 是采集动作参数,外设持久配置使用 driver;采样间隔字段为 sampleInterval。旧 type=2 示例属于 I2C 总线与规则选驱动的兼容方式,新增实体传感器推荐上述 type=38 配置。
周期采集与上报
- 在外设执行创建间隔定时规则,例如每 5 秒触发。
- 添加读取传感器动作(19),目标 mpu6050_1,测量通道 accelX。
- 物模型字段填 accelerationX,与平台属性 ID 一致;单位使用通道单位。
- 按需勾选执行后上报、记录数值历史,保存后明确启用规则。
下面是 actions 数组中的动作,actionValue 为 JSON 字符串:
{
"targetPeriphId": "mpu6050_1",
"actionType": 19,
"actionValue": "{\"periphId\":\"mpu6050_1\",\"sensorCategory\":\"MPU6050\",\"channelField\":\"accelX\",\"dataField\":\"accelerationX\",\"decimalPlaces\":2,\"sensorLabel\":\"MPU6050 六轴陀螺仪\",\"unit\":\"m/s²\"}",
"useReceivedValue": false,
"syncDelayMs": 0
}channelField 选择驱动通道,dataField 指定 MQTT 属性 ID。本动作正常上报形如 [{"id":"accelerationX","value":"数值"}];多个属性需分别配置采集动作,不会自动拼成包含全部字段的逗号字符串。
本地缓存来源为 mpu6050_1_accelX,数据源事件为 ds:mpu6050_1_accelX,显示模板使用 ${mpu6050_1.accelX}。报警规则先确认来源质量和年龄,再配置比较操作与阈值。
可采集通道
| channelField | 含义 | 单位 |
|---|---|---|
| accelX / accelY / accelZ | mode=0 的三轴加速度 | m/s² |
| gyroX / gyroY / gyroZ | mode=1 的三轴角速度 | rad/s |
| temperature | 两种 mode 都有的芯片温度 | °C |
mode=0 为加速度,mode=1 为角速度;每种提供三轴与温度共四个通道。当前固定 ±8g、±500°/s、21Hz 低通,没有 accelRange/gyroRange 配置,也没有 tilt、欧拉角或姿态融合通道。gyro_x 等旧别名会规范化为 gyroX;角速度单位为 rad/s。
失败、过期或缺失样本不会伪装成有效零,旧缓存不会刷新测量时刻。功能关闭、总线繁忙、地址冲突、初始化失败与接线错误应分别排查。
单项验证
确认接线后启用外设,检查 GET /api/peripherals/read?id=mpu6050_1 的初始化、驱动错误、通道与质量;再执行保存的采集规则,核对结果、数据源和平台属性。实际精度、断线恢复及长期运行须在对应板卡验证。

