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

패키지 상세v3.0.0

esp_smartconfig

스마트설정 프로비저닝 프로토콜의 EspTouch 및 EspTouchV2 구현. 순수 Dart. 모든 플랫폼.

AndroidiOSmacOSWindowsLinux
30일 다운로드
580
좋아요
46
Pub 점수
160

패키지 설치

flutter pub add esp_smartconfig

패키지 개요

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

IoT 장치 프로비저닝을 위한 Esptouch 및 EsptouchV2 스마트 구성 프로토콜의 다트 구현입니다. 스마트폰 또는 데스크톱 앱을 통해 직접 네트워크 접근 없이 ESP8266/ESP32 장치의 무선 설정을 원활하게 가능하게 합니다. Android, iOS, macOS, Windows, Linux를 모두 지원하는 완전한 플랫폼 독립형이며, 크로스플랫폼 플러터 애플리케이션에 제로 터치 장치 페어링 기능을 통합하고자 하는 개발자를 위해 설계되었습니다. 네이티브 종속성이 전혀 없으며, 모든 지원되는 플랫폼에서 호환성을 보장합니다.

사용 사례

  • IoT 장치 온보딩
  • 스마트 홈 기기 설정
  • 임베디드 장치 구성
  • 크로스 플랫폼 Wi-Fi 프로비저닝
  • 자동 장치 등록

주요 기능

  • Esptouch 및 EsptouchV2 지원
  • 순수 Dart 구현
  • 다중 플랫폼 호환성
  • 네이티브 코드가 필요하지 않습니다
  • 경량이고 효율적
  • 안전한 Wi-Fi 자격 증명 전송

적합한 대상

  • IoT 앱을 구축하는 플러터 개발자
  • ESP 칩을 사용하는 하드웨어 통합업체
  • 터치리스 장치 설정이 필요한 애플리케이션
  • 크로스 플랫폼 모바일/데스크톱 솔루션
  • 네이티브 플랫폼 코드를 피하는 프로젝트

고려 사항

  • 호환되는 ESP8266/ESP32 펌웨어가 필요합니다
  • 모바일 플랫폼에서 필요한 네트워크 권한
  • Esptouch 프로토콜을 지원하는 장치에 한정
  • 구성 후 장치 재시작을 처리하지 않습니다
  • 로컬 네트워크 환경에서 가장 잘 사용됩니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

esp_smartconfig

pub version license

Dart implementation of EspTouch provisioner. Supports Android, iOS, Windows, Linux and macOS.

Implemented protocols

  • EspTouch
  • EspTouch V2

Supported platforms

All non-web platforms are supported. Web platform is not supported mainly because browsers does not allow UDP communication.

If you are going to use this library on Desktop platforms make sure that UDP port 18266 is open in firewall for incoming data.

Breaking Change iOS 14.6/16

The breaking change was implemented with 14.6. However, it seems to be the case that the mentioned problem only occurs on devices with iOS version 16. It results in the fact that no connection to the ESP can be established.

How to:

  • You need an Apple-Developer account
  • After the Dev-Account has been approved, you have to make a request via this form to be allowed to use the Multicast Api.
  • Then you can follow this guide (new process)

Demo videos

Console App Flutter Mobile App
Demo Video - Console App Demo Video - Flutter Mobile App

Example

Several examples of using this library are available in example folder.

import 'package:esp_smartconfig/esp_smartconfig.dart';

final provisioner = Provisioner.espTouch();

provisioner.listen((response) {
    print("Device ${response.bssidText} connected to WiFi!");
});

try {
    await provisioner.start(ProvisioningRequest.fromStrings(
        ssid: "NETWORK NAME",
        bssid: "ROUTER BSSID", // Optional
        password: "NETWORK PASSWORD",
    ));

    // If you are going to use this library in Flutter
    // this is good place to show some Dialog and wait for exit
    //
    // Or simply you can delay with Future.delayed function
    await Future.delayed(Duration(seconds: 10));
} catch (e, s) {
    print(e);
}

// Provisioning does not have any timeout so it needs to be
// stopped manually
provisioner.stop();

SmartConfig

The SmartConfigTM is a provisioning technology to connect a new Wi-Fi device to a Wi-Fi network.

The advantage of this technology is that the device does not need to directly know SSID or password of an Access Point (AP). Those information is provided using this library. This is particularly important to headless device and systems, due to their lack of a user interface.

Author

GitHub: abobija
Homepage: abobija.com

License

MIT

카테고리

의존성

의존성 목록 2 개

소스 저장소

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