패키지, 저장소 및 앱 카테고리 검색

패키지 상세v2.0.3

plugin_wifi_connect

지정된 SSID 또는 SSID 접두사로 Wi-Fi 장치에 간단히 연결할 수 있는 낮은 종속성 플러터 플러그인

AndroidiOS
30일 다운로드
7.8천
좋아요
44
Pub 점수
145

패키지 설치

flutter pub add plugin_wifi_connect

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

지정된 SSID 또는 SSID 접두사로 Wi-Fi 장치에 연결하는 것을 단순화하기 위한 가벼운 플러터 플러그인입니다. 종속성 최소화 및 Android 및 iOS용 간단한 API 제공을 통해 IoT 장치 또는 로컬 네트워크와 상호작용하는 앱에서 네트워크 설정을 원활하게 가능하게 합니다. 복잡한 구성 없이 자동 Wi-Fi 설정이 필요한 시나리오에 이상적입니다.

사용 사례

  • Wi-Fi를 통해 IoT 장치에 연결하기
  • 키오스크에서 네트워크 설정 자동화
  • 로컬 네트워크에서 장치 페어링 활성화
  • 스마트 홈 기기의 온보딩을 단순화하기
  • 오프라인 장치 구성 지원

주요 기능

  • 최소 종속성 프로필
  • SSID 및 SSID 접두사 매칭을 지원합니다
  • 크로스 플랫폼(안드로이드 및 iOS)
  • 간단하고 사용하기 쉬운 API
  • 경량이고 효율적

적합한 대상

  • IoT 애플리케이션을 개발하는 개발자
  • 자동 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.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트