パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.3

plugin_wifi_connect

指定されたSSIDまたはSSIDプレフィックスを使用して、Wi-Fiデバイスへの簡単な接続を可能にする低依存度のFlutterプラグイン

AndroidiOS
30日間ダウンロード
7760
いいね数
44
Pub ポイント
145

パッケージをインストール

flutter pub add plugin_wifi_connect

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

指定されたSSIDまたはSSIDプレフィックスを使用してWi-Fiデバイスに接続することを簡素化する軽量なFlutterプラグインです。依存関係を最小限に抑え、AndroidおよびiOS用のシンプルなAPIを提供し、IoTデバイスやローカルネットワークとやり取りするアプリケーションでのシームレスなネットワーク設定を可能にします。複雑な設定なしで自動的なWi-Fi設定が必要な状況に最適です。

用途

  • Wi-Fiを介してIoTデバイスに接続する
  • キオスクにおけるネットワーク設定の自動化
  • ローカルネットワークでのデバイスペアリングの有効化
  • スマートホーム機器のオンボーディングを簡素化する
  • オフラインデバイス構成のサポート

主な機能

  • 最小の依存関係フットプリント
  • SSIDおよびSSIDプレフィックスの一致をサポート
  • クロスプラットフォーム(AndroidおよびiOS)
  • シンプルで使いやすい API
  • 軽量で効率的

適している対象

  • IoTアプリケーションを開発する開発者
  • 自動Wi-Fi設定を必要とするアプリ
  • 最小限のオーバーヘッドに焦点を当てるプロジェクト
  • デバイスオンボーディング用モバイルアプリ
  • ローカルネットワーク相互作用ツール

注意事項

  • 適切なプラットフォームの権限が必要です
  • Wi-Fi接続のみに制限
  • Wi-Fiパスワード管理に対応していません
  • デバイス固有のOS動作に依存します
  • 一部のプラットフォームではユーザーの操作が必要になる場合があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

🚀 plugin_wifi_connect

pub package license

Flutter connector for Wi‑Fi devices

Low‑dependency plugin to simplify automatic connection to devices via SSID or SSID prefix. Compatible with Android 10+ (API 29+) and iOS 11+.

Conector Flutter para dispositivos Wi‑Fi

Plugin com baixa dependência para facilitar a conexão automática a dispositivos via SSID ou prefixo de SSID. Compatível com Android 10+ (API 29+) e iOS 11+.


💻 Pub Dev / Instalação

  • Pub: https://pub.dev/packages/plugin_wifi_connect

Instalar via pub.dev (recomendado):

dependencies:
  plugin_wifi_connect: ^2.0.2

Ou instalar direto do repositório (desenvolvimento):

dependencies:
  plugin_wifi_connect:
    git:
      url: https://github.com/chenrilima/plugin_wifi_connect.git
      ref: main

Depois:

flutter pub get

🎯 Features / Funcionalidades

  • ✅ Connects to an exact SSID (iOS 11+, Android).

  • 🔍 Connects to SSIDs that match a prefix (iOS 13+, Android).

  • 📡 Compatible with IoT devices that use unique SSIDs.

  • ⚙️ Efficient strategy on Android: scans and connects by prefix (requires runtime permission ACCESS_FINE_LOCATION).

  • ✅ Conecta-se a um SSID exato (iOS 11+, Android).

  • 🔍 Conecta-se a SSIDs que combinam um prefixo (iOS 13+, Android).

  • 📡 Compatível com dispositivos IoT que usam SSIDs únicos.

  • ⚙️ Estratégia eficiente no Android: escaneia e conecta por prefixo (requer permissão em tempo de execução ACCESS_FINE_LOCATION).


🔧 Usage / Uso (exemplo completo)

import 'package:flutter/material.dart';
import 'package:plugin_wifi_connect/plugin_wifi_connect.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(home: HomePage());
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  String _status = 'idle';

  Future<void> _connectDirect() async {
    try {
      final ok = await PluginWifiConnect.connectToSsid(
        ssid: 'MeuDispositivoWiFi',
        password: 'senha123',
      );
      setState(() => _status = ok ? 'Conectado' : 'Falha ao conectar');
    } catch (e) {
      setState(() => _status = 'Erro: $e');
    }
  }

  Future<void> _connectPrefix() async {
    final ok = await PluginWifiConnect.connectToSsidPrefix(
      prefix: 'IoTDevice_',
      password: 'senhaPadrao',
    );
    setState(() => _status = ok ? 'Conectado por prefixo' : 'Não encontrado');
  }

  @override
  Widget build(BuildContext context) => Scaffold(
    appBar: AppBar(title: Text('plugin_wifi_connect example')),
    body: Center(
      child: Column(mainAxisSize: MainAxisSize.min, children: [
        ElevatedButton(onPressed: _connectDirect, child: Text('Conectar SSID')),
        ElevatedButton(onPressed: _connectPrefix, child: Text('Conectar por Prefixo')),
        SizedBox(height: 12),
        Text(_status),
      ]),
    ),
  );
}

📱 Permissions / Notas por plataforma

Android (adicionar no AndroidManifest.xml):

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

Notas iOS:

  • Usa NEHotspotConfiguration (iOS 11+). Em geral não são necessárias entitlements especiais, mas documente limitações (ex.: redes com captive portal ou redes gerenciadas por MDM podem não funcionar).

📚 Links & Contribuição

  • Example: example/
  • CHANGELOG: CHANGELOG.md
  • Report issues: https://github.com/chenrilima/plugin_wifi_connect/issues
  • Contributing: abra um PR ou issue para discutir mudanças.

Se quiser, eu posso também abrir um PR com este README ou commitar direto no branch main.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト