flutter_usb_serial 0.0.1
flutter_usb_serial: ^0.0.1 copied to clipboard
A Flutter project for CH340 on Android and Windows.
flutter_usb_serial #
发布U转串插件
Getting Started #
CH340芯片:在windows平台可直接视为串口使用,在android平台被视为Usb设备。 windows平台 CH340官方给了一个驱动文件https://www.wch.cn/downloads/CH341SER_EXE.html(安装完又卸了程序正常运行)
windows平台使用插件 :https://pub.flutter-io.cn/packages/serial_port_win32 android平台使用插件:https://pub.dev/packages/usb_serial
serial_port_win32: ^0.5.2 usb_serial: ^0.3.0
使用方式封装为usb_serial包下内容; 基本方法有:
abstract class UsbSerial {
///初始化
create();
///打开串口
Future<bool> open();
///关闭串口
Future<bool> close();
///写入字节列表
Future<void> write(Uint8List data) async {}
///写入字符串
Future<void> writeString(String data) async {}
///设置读数监听
void readByteOnListen(Function(Uint8List value) onData);
///串口状态
bool isOpen();
///设置参数
Future<void> setPortParameters() async {}
///获取可用串口
Future<List<String>> getAvailablePorts();
}
使用案例(同main.dart type值为3时):
UsbSerial usbSerialWindows = UsbSerialFactory().getUsbSerial();//封装的结果
usbSerialWindows.create();//初始化
debugPrint('MyTest ${(await usbSerialWindows.getAvailablePorts()).toString()}');//打印可用串口
usbSerialWindows.open();//打开串口
///读数据
usbSerialWindows.readByteOnListen((value) {
print(value);
// String str = utf8.decode(value.sublist(0, value.length - 1));
String str = utf8.decode(value);
print(str);
setState(() {
receive = str;
});
});
usbSerialWindows.writeString(editingController.text);//写数据
usbSerialWindows.close();//关闭串口