Last updated:
0 purchases
serial communication
Serial communication! #
An Android Plugin for Serial Communication which allow you to read
and write the data through the available ports
The supported features are:
Listing the available serial ports on the device, including USB to serial adapters
Configuring serial ports (baud rate, stop bits, permission, ...)
Providing standard InputStream and OutputStream
Description #
This PlugIn enables the communication with the
USB
RS232
RS485
UART
Supported platforms:
Android
Video tutorial #
In order to completely understand you can view our sample video in which we are using an android Lcm module.
Click the image below to watch the video:
Getting Started #
Add a dependency to your pubspec.yaml
dependencies:
serial_communication: 0.0.2
copied to clipboard
include the usbserial package at the top of your dart file.
import 'package:serial_communication/serial_communication.dart';
copied to clipboard
❓ Usage #
If you encounter any issues please refer to the API docs and the sample code in the example directory before opening a request on Github.
Example app #
The example directory has a sample application that demonstrates the features of this plugin.
🔧 Android Setup #
Initialisation
The first step is to call the startSerial() method and subscribe the
StreamSubscription
Start Serial #
startSerial method will open the transaction stream
SerialCommunication serialCommunication = SerialCommunication();
@override
void initState() {
super.initState();
serialCommunication.startSerial().listen(_updateConnectionStatus);
getSerialList();
}
void _updateConnectionStatus(SerialResponse? result) async {
logData = result!.logChannel ?? "";
receivedData = result.readChannel ?? "";
});
}
copied to clipboard
By calling the startSerial() it will provide you with the SerialResponse in the form of stream data
SerialResponse
In Serial Response you will get the following type
1) Log Channel (type:String)
2) Read Channel (type:String)
Log Channel:
In the log channel you wll get the repsone when you open any port
,close any port , transmit data (TX).
Read Channel:
In the Read channel you wll get the Recived data (RX)
Available Ports #
The getAvailablePorts() method will return you all the
available ports on a device
serialList = await serialCommunication.getAvailablePorts();
copied to clipboard
Open #
openPort method will open the serial communication
Its has 3 required parameter
{ DataFormat dataFormat, String serialPort, int baudRate }
serialCommunication.openPort(
dataFormat: DataFormat.ASCII,
serialPort: serialList.first,
baudRate: serialCommunication.baudRateList.first)
copied to clipboard
Close #
closePort method will close the port if you have opened any port
serialCommunication.closePort();
copied to clipboard
Send Command #
sendCommand method will send your message
Its has 1 required parameter {String message}
serialCommunication.sendCommand(message: "message");
copied to clipboard
Clear #
clearLog method will clear the Log channel
clearRead method will clear the Read channel
serialCommunication.clearLog();
serialCommunication.clearRead();
copied to clipboard
Destroy #
destroy method will eliminate the resources
@override
void dispose() {
serialCommunication.destroy();
super.dispose();
}
copied to clipboard
Baud Rate
To get the Standard baud rates list
call the SerialCommunication().baudRateList
it will return the integer list of standard baud rate
Data Format
The Data format is used to convert the data type
To pass the data format in the open() method parameter
For ascii format
call the DataFormat.ASCII
For hex_String format
call the DataFormat.HEX_STRING
Contribution #
Any help from the open-source community is always welcome and needed:
Found an issue?
Please fill a bug report with details.
Wish a feature?
Open a feature request with use cases.
Are you using and liking the project?
Promote the project: create an article, do a post or make a donation.
Are you a developer?
Fix a bug and send a pull request.
Implement a new feature.
Improve the Unit Tests.
Have you already helped in any way?
Many thanks from me, the contributors and everybody that uses this project!
Maintainers #
Mahad Asghar
Zain Ul Abideen
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.