tpms_processor 0.1.1
tpms_processor: ^0.1.1 copied to clipboard
This is a tool for parsing tpms data
example/lib/main.dart
import 'package:tpms_processor/AlarmType.dart';
import 'package:tpms_processor/config.dart';
import 'package:tpms_processor/receive_model.dart';
import 'package:tpms_processor/tpms_processor.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:tpms_processor/tpms_processor.dart';
void main() async {
final tpms = TPMSProcessor();
// 1. 初始化配置
await tpms.initializeWithConfig(Config(
tireNum: 4,
pStandardF: 230,
pStandardR: 230,
highTThreshold: 85,
speedThreshold: 35,
timeout: Duration(minutes: 10)
));
final testData = [0x02, 0x10, 0x01, 0x42, 0x6E, 0xC4, 0xC1, 0xC7, 0x03, 0x66, 0x00, 0x54, 0x00, 0x00, 0x01, 0x5D];
// 2. 处理蓝牙数据
final bleData = ReceiveModel("TPMS", "AA:BB:CC:DD:EE:FF",
// AdvertisementData(advName: "TPMS", appearance: 0, connectable:true, manufacturerData: {0x0B35: testData}, txPowerLevel:-50, serviceData:{}, serviceUuids:[]), -50);
AdvertisementData(advName: "TPMS", appearance: 0, connectable:true, manufacturerData: {0x0B35: testData}, txPowerLevel:-50, serviceData:{}, serviceUuids:[]));
final result = await tpms.inputBleData(bleData);
// 3. 更新车速
await tpms.inputGpsSpeed(40.0);
print("压力: ${result.pressure}kPa, 温度: ${result.temperature}℃, 报警类型: ${AlarmType.decodeFromMask(result.alarmtype)}");
bool fastLeak = AlarmType.FAST_LEAK.isContainedIn(result.alarmtype);
bool lowPressure = AlarmType.LOW_PRESSURE.isContainedIn(result.alarmtype);
bool highPressure = AlarmType.HIGH_PRESSURE.isContainedIn(result.alarmtype);
bool highTemperature = AlarmType.HIGH_TEMPERATURE.isContainedIn(result.alarmtype);
bool lowBattery = AlarmType.LOW_BATTERY.isContainedIn(result.alarmtype);
bool lost = AlarmType.LOST.isContainedIn(result.alarmtype);
// 5. 重置状态
await tpms.reset();
}