Skip to content

Repository files navigation

XOS Glasses SDK

A Flutter package for controlling XOS smart glasses via Bluetooth Low Energy (BLE).

Features

  • Device Discovery — Scan for nearby XOS glasses devices
  • Pairing & Connection — Pair, connect, auto-reconnect with handshake/heartbeat
  • Device Info — Battery, firmware version, IP address, WiFi status
  • Display Control — Brightness, sleep timeout, viewport, RGB ratio
  • File Transfer — Browse, download, and upload files (BLE + WiFi Direct)
  • Media Control — Photo capture, video recording, camera control
  • AI Configuration — Voice AI, visual AI, quick center trigger words
  • Translation — Real-time speech translation
  • Data Forwarding — GPS, notifications, navigation, reminders
  • Teleprompter — Script sync with scroll tracking
  • Casting — DLNA/RTSP media casting and screen mirroring
  • System — OTA restart, WiFi management, Bluetooth tethering, HID control

Getting Started

Installation

Add to your pubspec.yaml:

dependencies:
  xos_glasses_sdk: ^0.0.1

Android Permissions

Add these to your AndroidManifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

iOS Permissions

Add to Info.plist:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>Needed to connect to XOS smart glasses</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Needed to communicate with XOS smart glasses</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Needed to discover nearby XOS smart glasses</string>

Quick Start

import 'package:xos_glasses_sdk/xos_glasses_sdk.dart';

final sdk = await XOSGlassesSDK.init(
  config: GlassesSDKConfig(enableDebugLog: true),
);

// Discover devices
sdk.onDeviceDiscovered.listen((device) {
  print('Found: ${device.name} (${device.deviceId})');
});
await sdk.startDiscovery();

// Connect
await sdk.connect('device_mac_address');

// Control
await sdk.setBrightness(80);
await sdk.capturePhoto();
await sdk.sendGPS(lat: 30.5, lng: 120.2);

// Listen for updates
sdk.onConnectionStateChanged.listen((state) {
  print('Connection: ${state.state}');
});

sdk.onDeviceInfoChanged.listen((info) {
  print('Battery: ${info.batteryLevel}%');
});

// Clean up
sdk.dispose();

Architecture

XOSGlassesSDK (public API)
├── ConnectionManager     — BLE scan/connect/handshake/heartbeat/reconnect
├── CommandTransmitter    — Command encoding, short protocol, chunked send
├── FileTransferChannel   — BLE + WiFi Direct dual-channel file transfer
├── MediaController       — Camera, recording, casting
├── AIManager             — AI config sync, quick center
├── ForwardController     — GPS, notifications, navigation, translation
└── SettingsManager       — Display, WiFi, Bluetooth, system

Documentation

License

MIT

About

XOS Smart Glasses SDK - Flutter package for controlling XOS smart glasses via BLE

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages