hurelhuyag / libserialport.dart

Serial Port for Dart

Home Page:https://pub.dev/packages/libserialport

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dart FFI bindings to libserialport

pub CI license: LGPL3+

TIP: See also flutter_libserialport for automatic building and deploying of libserialport.

This Dart package is based on libserialport, which is a minimal C-library created by the sigrok project, and released under the LGPL3+ license.

Supported platforms:

  • Linux
  • macOS
  • Windows
  • Android

This package uses dart:ffi to call libserialport's C APIs, which implies that libserialport must be bundled to or deployed with the host application. It can be tedious to build and deploy libserialport on all target platforms, but in case you are building a Flutter app instead of a pure Dart app, there is a ready-made drop-in solution called flutter_libserialport that utilizes Flutter's build system to build and deploy libserialport on all supported platforms:

Usage

import 'package:libserialport/libserialport.dart';

final name = SerialPort.availablePorts.first;
final port = SerialPort(name);
if (!port.openReadWrite()) {
  print(SerialPort.lastError);
  exit(-1);
}

port.write(/* ... */);

final reader = SerialPortReader(port);
reader.stream.listen((data) {
  print('received: $data');
});

To use this package, add libserialport as a dependency in your pubspec.yaml file.

About

Serial Port for Dart

https://pub.dev/packages/libserialport

License:GNU Lesser General Public License v3.0


Languages

Language:Dart 100.0%