Skip to content

nfrancois/serial_port

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Serial Port

pub package Build Status Build status Coverage Status

SerialPort is a Dart Api to provide access read and write access to serial port.
Binaries are provided for:

  • Win 64 bits
  • Linux 64 bits
  • MacOS 64 bits

Inspiration come from node-serialport.

How use it ?

Echo

Simple program :

  • Arduino repeat all character send to it.
  • Dart send "Hello !" and print what Arduino send.

Dart part:

import 'package:serial_port/serial_port.dart';
import 'dart:async';

main() async {
  var arduino = new SerialPort("/dev/tty.usbmodem1421");
  arduino.onRead.map(BYTES_TO_STRING).listen(print);
  await arduino.open();
  // Wait a little bit before sending data
  new Timer(new Duration(seconds: 2), () => arduino.writeString("Hello !"));
}

Arduino part:

void setup(){
  Serial.begin(9600);
}

void loop(){
  while (Serial.available() > 0) {
    Serial.write(Serial.read());
  }
}

List connected serial ports

import 'package:serial_port/serial_port.dart';

main() async {
  final portNames = await SerialPort.availablePortNames;
  print("${portNames.length} devices found:");
  portNames.forEach((device) => print(">$device"));
}

Executable

Install serial_port with as pub global executable.

pub global activate serial_port

And use it to list available serial ports.

serial_port list

Nexts developments

  • Have a better implementation for writing bytes.
  • Wait for TODO(turnidge): Currently handle_concurrently is ignoredfrom Dart VM.
  • Support serial port communication parameter like (FLOWCONTROLS, ...).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages