A Flutter plugin integrated with Android-SerialPort-API.

This plugin works only for Android devices.

Usage

List devices

Future<List<Device>> findDevices() async {
  return await FlutterSerialPort.listDevices();
}

Create SerialPort for certain device

Device theDevice = Device("deviceName", "/your/device/path");
int baudrate = 9600;
Serial serialPort = await FlutterSerialPort.createSerialPort(theDevice, baudrate);

Open/Close device

bool openResult = await serialPort.open();
print(serialPort.isConnected) // true
bool closeResult = await serialPort.close();
print(serialPort.isConnected) // false

Read/Write data from/to device

// Listen to `receiveStream`
serialPort.receiveStream.listen((recv) {
  print("Receive: $recv");
});

serialPort.write(Uint8List.fromList("Write some data".codeUnits));

Example

Check out the example.

Issues

Build failed on Android

If you bump into a issue like below.

Change the android:label in AndroidManifest.xml.

Check out this commit fix: ? Fix Android build failed issue

App crashed on Android x86

This is all about Android permission problem.
Please check out Issue #4.

GitHub

View Github