imin_hardware_plugin 1.0.6 copy "imin_hardware_plugin: ^1.0.6" to clipboard
imin_hardware_plugin: ^1.0.6 copied to clipboard

PlatformAndroid

A comprehensive Flutter plugin for controlling iMin POS device hardware features including printer, display, cashbox, light, NFC, RFID, scanner, MSR, electronic scale, serial port, segment display, fl [...]

iMin Hardware Plugin #

pub package GitHub

English | 中文文档

A comprehensive Flutter plugin for controlling iMin POS device hardware features.

Features #

Module Description
📺 Display Secondary display control
💰 Cashbox Cash drawer control
💡 Light LED indicator lights
💳 NFC NFC card reading
📷 Scanner Barcode/QR code scanner
💳 MSR Magnetic stripe reader
⚖️ Scale Electronic scale (Android 13+)
🔌 Serial Serial port communication
🔢 Segment Digital tube display
🪟 Floating Window Overlay window
📸 Camera Camera scanning (ZXing + ML Kit)
📡 RFID RFID tag operations
📱 Device Device information

Supported Devices #

iMin D4, M2-Pro, Swan, Swift, Crane, Lark, Falcon series

Installation #

From pub.dev #

dependencies:
  imin_hardware_plugin: ^1.0.0

From Git #

dependencies:
  imin_hardware_plugin:
    git:
      url: https://github.com/iminsoftware/FlutterApiTest.git
      ref: main

Then run:

flutter pub get

Quick Start #

import 'package:imin_hardware_plugin/imin_hardware_plugin.dart';

// Camera scan (single barcode)
final result = await CameraScanApi.scanAll();
print('Code: ${result['code']}, Format: ${result['format']}');

// Camera scan (multi-barcode / multi-angle, ML Kit)
final results = await CameraScanApi.scanMulti();
for (final item in results) {
  print('Code: ${item['code']}, Format: ${item['format']}');
}

// Check ML Kit availability
final mlkitAvailable = await CameraScanApi.isMLKitAvailable();

// Hardware scanner (built-in scanner head)
IminScanner.scanStream.listen((event) => print('Scanned: ${event.data}'));
await IminScanner.startListening();

// NFC
IminNfc.tagStream.listen((tag) => print('NFC: ${tag['id']}'));

// Electronic Scale (Android 13+)
await IminScaleNew.connectService();
await IminScaleNew.getData();

Camera Scan API #

Single Scan (ZXing) #

// Quick scan with default formats
String code = await CameraScanApi.scanQuick();

// Scan QR code only
String code = await CameraScanApi.scanQRCode();

// Scan all formats with full result
Map<String, dynamic> result = await CameraScanApi.scanAll();

// Custom scan
Map<String, dynamic> result = await CameraScanApi.scan(
  formats: ['QR_CODE', 'EAN_13', 'CODE_128'],
  useFlash: true,
  beepEnabled: true,
  timeout: 10000,
);

Multi Scan (ML Kit + ZXing) #

Supports multi-barcode recognition and any-angle scanning. Auto-fallback to ZXing if ML Kit is unavailable.

// Default multi scan
List<Map<String, dynamic>> results = await CameraScanApi.scanMulti();

// Multi-angle scan (single barcode, any orientation)
final results = await CameraScanApi.scanMulti(const MultiScanOptions(
  supportMultiAngle: true,
  supportMultiBarcode: false,
));

// Full custom configuration
final results = await CameraScanApi.scanMulti(const MultiScanOptions(
  formats: ['QR_CODE', 'EAN_13', 'CODE_128'],
  supportMultiBarcode: true,
  supportMultiAngle: true,
  decodeEngine: DecodeEngine.mlkit,  // 0=ZXing, 1=MLKit
  fullAreaScan: true,
  areaRectRatio: 0.9,
  useFlash: false,
  beepEnabled: true,
  timeout: 30000,
));

// Check ML Kit availability
bool available = await CameraScanApi.isMLKitAvailable();

Documentation #

Complete API Guides #

Example App #

See example directory for complete demo application with all hardware features.

Requirements #

  • Flutter >=3.3.0
  • Dart >=3.0.0
  • Android minSdkVersion 21
  • iMin POS device

Permissions #

Add to your app's AndroidManifest.xml as needed:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.INTERNET" />

Support #

License #

BSD-3-Clause License - see LICENSE

0
likes
150
points
269
downloads

Documentation

Documentation
API reference

Publisher

verified publisherimin.sg

Weekly Downloads

A comprehensive Flutter plugin for controlling iMin POS device hardware features including printer, display, cashbox, light, NFC, RFID, scanner, MSR, electronic scale, serial port, segment display, floating window, and camera scanning.

Repository (GitHub)
View/report issues

Topics

#pos #printer #hardware #imin #scanner

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on imin_hardware_plugin

Packages that implement imin_hardware_plugin