搜尋套件、儲存庫與 APP 分類

套件詳情v2.0.3

plugin_wifi_connect

一個低依賴的 Flutter 插件,用於透過提供的 SSID 或 SSID 前綴簡單連接到 Wi-Fi 設備

AndroidiOS
近 30 天下載
7760
喜歡數
44
Pub 分數
145

安裝套件

flutter pub add plugin_wifi_connect

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個輕量級的 Flutter 插件,旨在透過指定的 SSID 或 SSID 前綴簡化連接到 Wi-Fi 設備的過程。它減少依賴項,並為 Android 和 iOS 提供簡單的 API,讓與物聯網設備或區域網路互動的應用程式能夠無縫配置網路。此外,該插件非常適合需要在無需複雜設定的情況下自動設置 Wi-Fi 的情境。

適用情境

  • 透過Wi-Fi連接物聯網裝置
  • 自動化自助服務終端的網絡設置
  • 在本地網路中啟用設備配對
  • 簡化智慧家庭裝置的入門體驗
  • 支援離線設備設定

主要特色

  • 最小依賴足跡
  • 支援SSID和SSID前綴匹配
  • 跨平台(Android 與 iOS)
  • 簡單、易於使用的 API
  • 輕便高效

適合對象

  • 開發物聯網應用的開發者
  • 需要自動 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.

所屬分類

原始碼儲存庫

使用此套件的專案