搜索插件、代码仓与 APP 分类

插件详情v0.2.8

flutter_serial_communication

用于串行通信的库。目前支持通过 Android USB(OTG)与 Android 上的 Arduino 及其他 USB 串行硬件通信,且无需使用 root 权限。

Android
近 30 天下载
2090
喜欢数
32
Pub 分数
160

安装插件

flutter pub add flutter_serial_communication

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 包,通过 USB OTG 在 Android 设备上启用串行通信,允许与 Arduino 及其他 USB 串行硬件进行交互,无需 root 权限。它利用 Android 的 USB 主机 API 建立可靠的连接以实现数据交换。该库专为需要通过串行协议与外部硬件(如传感器或微控制器)交互的开发者设计。它简化了在 Android 上的 Flutter 应用中设置和处理串行端口的过程。

适合场景

  • 通过 USB OTG 连接到 Arduino
  • 从外部硬件读取传感器数据
  • 通过串行协议控制物联网设备
  • 开发工业或实验室自动化应用程序
  • 为嵌入式系统构建移动界面

主要特点

  • Android上的USB OTG支持
  • 无需根访问权限
  • 串口管理的简单API
  • 实时数据流
  • 跨平台兼容(仅限 Android)
  • 内置错误处理

适合对象

  • 物联网应用开发者
  • 硬件接口项目
  • 教育机器人
  • 嵌入式系统控制应用
  • 仅限 Android 的串行通信需求

使用建议

  • 仅限Android平台
  • 需要 USB OTG 硬件
  • 可能需要权限处理
  • 设备特定的USB兼容性
  • 不适用于iOS或桌面端

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

About Flutter Serial Communication

This library aims to ease Flutter Developers to do serial communcation with their peripherals without too much hassle.

Currently supports Android USB (OTG) to communicate with Arduinos and other USB serial hardware on Android WITHOUT using root access.

Installing

1. Install it to your flutter project

flutter pub add flutter_serial_communication

or by adding dependencies to your package's pubspec.yaml then run dart pub get

dependencies:
  flutter_serial_communication: 0.2.8

2. Import it in your .dart file

import 'package:flutter_serial_communication/flutter_serial_communication.dart';

Features

  • Doesn't require root in Android
  • Easy to use
  • Using listener for reading message & device connection status

Functions

  • Get All Available Devices:
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

List<DeviceInfo> availableDevices = await _flutterSerialCommunicationPlugin.getAvailableDevices();
  • Connect:
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

DeviceInfo device = DeviceInfo(); // DeviceInfo from getAvailableDevices()
int baudRate = 0; // Your device's baud rate
bool isConnectionSuccess = await _flutterSerialCommunicationPlugin.connect(device, baudRate);
  • Disconnect:
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

await _flutterSerialCommunicationPlugin.disconnect();
  • Write:
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

bool isMessageSent = await _flutterSerialCommunicationPlugin.write(Uint8List.fromList([0xBB, 0x00, 0x22, 0x00, 0x00, 0x22, 0x7E]));
debugPrint("Is Message Sent:  $isMessageSent");
  • Read (Listener):
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

EventChannel eventChannel = _flutterSerialCommunicationPlugin.getSerialMessageListener();
eventChannel.receiveBroadcastStream().listen((event) {
  debugPrint("Received From Native:  $event");
});
  • Device Connection Status (Listener):
final _flutterSerialCommunicationPlugin = FlutterSerialCommunication();

EventChannel eventChannel = _flutterSerialCommunicationPlugin.getDeviceConnectionListener();
eventChannel.receiveBroadcastStream().listen((event) {
  debugPrint("Received From Native:  $event");
});

Implementation

所属分类

依赖

依赖清单 1 项

  • plugin_platform_interface^2.0.2

源码仓库

使用此插件的项目

暂无相关数据。