Skip to content

Flutter plugin for receiving Bluetooth advertising/WiFi NAN signals/beacons

License

Notifications You must be signed in to change notification settings

madatr/flutter-opendroneid

 
 

Repository files navigation

flutter_opendroneid

A flutter plugin for reading Wi-Fi and Bluetooth Remote ID advertisements using native Android and iOS platform-specific implementation. The format of data is defined in the ASTM F3411 Remote ID and the ASD-STAN prEN 4709-002 Direct Remote ID specifications.

The platform-specific implementation reads raw message bytes from Wi-Fi and Bluetooth Remote ID advertisements. Then the raw payload with metadata is passed using event channels to the Dart side. Raw data are parsed to Remote ID messages using Dart-opendroneid library.

The pigeon library is used to define the messaging protocol between the platform host and Flutter client. The messaging protocol is defined in schema.dart.

The architecture of native code is inspired by OpenDroneID Android receiver application.

Pre-requisities

  • Flutter 3.16.7 or newer

Getting Started

This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.

For help getting started with Flutter, view online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Work in progress

⚠️ While we made this library public to allow Drone Scanner to be published as open-source, we're still not satisfied with the state of this repository, missing documentation and contribution guidelines. Stay tuned, we're working on it.

Installing

  1. Install the project using flutter pub get
  2. Generate Pigeon classes by running shell script in scripts/pigeon_generate.sh

© Dronetag 2022

About

Flutter plugin for receiving Bluetooth advertising/WiFi NAN signals/beacons

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 32.6%
  • Kotlin 22.5%
  • Java 19.6%
  • Objective-C 15.7%
  • Swift 8.5%
  • Ruby 0.7%
  • Shell 0.4%