#serial-port #tauri-app #serial-communication #tauri-plugin #applications #process #devices

sys tauri-plugin-serialplugin

Access the current process of your Tauri application

2 releases

2.0.0-beta.1 Feb 5, 2024
2.0.0-beta.0 Feb 4, 2024

#471 in Hardware support

Download history 1/week @ 2024-02-04 18/week @ 2024-02-18 31/week @ 2024-02-25 1/week @ 2024-03-03 16/week @ 2024-03-31 47/week @ 2024-04-07

63 downloads per month

Apache-2.0 OR MIT

91KB
924 lines

Based on the provided code snippet and following the structure of the example you shared, here's a README for the Tauri plugin for serial port communication.


Tauri Plugin - SerialPort

This plugin enables Tauri applications to communicate with serial ports, allowing for the reading and writing of data to and from connected serial devices. To manage child processes instead, consider using the shell plugin.

Installation

This plugin requires Rust version 1.70 or higher.

There are three recommended methods for installing this plugin:

  1. Using crates.io and npm (easiest, requires trust in our publishing pipeline)
  2. Directly from GitHub using git tags/revision hashes (most secure)
  3. Git submodule in your Tauri project, then using the file protocol for source inclusion (most secure but less convenient)

Core Plugin

Add the following to your Cargo.toml file under src-tauri/Cargo.toml:

[dependencies]
tauri-plugin-serialport = "2.0.0-beta"

JavaScript Bindings

Install using your preferred package manager:

pnpm add tauri-plugin-serialplugin
# or
npm add tauri-plugin-serialplugin
# or
yarn add tauri-plugin-serialplugin

# For direct GitHub installation:
pnpm add https://github.com/s00d/tauri-plugin-serialplugin#v2
# or
npm add https://github.com/s00d/tauri-plugin-serialplugin#v2
# or
yarn add https://github.com/s00d/tauri-plugin-serialport#v2

Usage

First, register the core plugin within your Tauri application's main setup:

src-tauri/src/main.rs

fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_serialplugin::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

After registration, you can access the plugin's APIs through the provided JavaScript bindings:

import { SerialPort } from "tauri-plugin-serialplugin";

// Example: Listing available serial ports
async function listPorts() {
  const ports = await SerialPort.available_ports();
  console.log(ports);
}

listPorts();

Contributing

We welcome pull requests! Please ensure you read our Contributing Guide before submitting a pull request.

Partners

Support for this plugin is provided by our generous partners. For a complete list, please visit our website and our Open Collective.

License

This code is dual-licensed under MIT or Apache-2.0, where applicable, © 2019-2023 Tauri Programme within The Commons Conservancy.


This README provides an overview, installation instructions, and basic usage examples for integrating serial port communication into a Tauri application. Further details and advanced usage should be documented based on the full capabilities of the plugin and its API.

Dependencies

~18–60MB
~1M SLoC