diff --git a/lib/base/mqtt/mqtt.dart b/lib/base/mqtt/mqtt.dart index e39e43d..b5b664d 100644 --- a/lib/base/mqtt/mqtt.dart +++ b/lib/base/mqtt/mqtt.dart @@ -3,6 +3,7 @@ import 'dart:typed_data'; import 'package:mqtt5_client/mqtt5_client.dart'; import 'package:mqtt5_client/mqtt5_server_client.dart'; +import 'package:typed_data/src/typed_buffer.dart'; class Mqtt { final MqttConfig _config; @@ -125,6 +126,21 @@ class Mqtt { return false; } } + + Future publishBuff(String topic, Uint8List data, {int qos = 0}) async { + try { + var payload = MqttPayloadBuilder(); + // data.buffer + payload.addBuffer(Uint8Buffer()..addAll(data)); + + _client?.publishMessage( + topic, MqttUtilities.getQosLevel(qos), payload.payload!); + return true; + } catch (e) { + print(e); + return false; + } + } } class MqttConfig {