Git Product home page Git Product logo

keylessble's Introduction

Keyless BLE

Features

  • Gestionar los procesos de busqueda, discubrimiento de servicios, conexión.
  • Gestionar los permisos necesarios para usar bluetooth
  • Observar los cambios de estados de bluetooth, gps, conexión, permisos necesarios.
  • Reconectar con los datos de ultimo remote.
  • Personalizar los protocolos de comunicaciones.
  • Logging

Arquitectura

Responsabilidades

  • BLEState clases de variables constantes para los estados
    • bluetooth abilidad
    • resultados de permisons
    • gps conexión
    • BLEGatt conexión
    • bluetooth actividad
  • model clases de bluetooth dispositivo remote
    • Guardar bluetooth dispositivo y utilizarlo en reconectar.
  • utils clases de log y permisos
    • Imprimir logs en el modo de debug, para detallar los procesos de bluetooth.
    • Gestionar los permisos para usar bluetooth.
  • service clases de servicios de bluetooth conexión, cada conexión es un servicio.
    • Construyen y destruyen el servicio de bluetooth conexión
    • Desarrollan el processo de conectar, desconectar, escribir a caracteristica,
    • Escuchan los cambios de estado de la conexión y los contenidos de caracteristica
    • Emitan los cambios de Gatt a los observers
  • observers clases de los observers
    • Escuchan cambios de Gatt
    • Escuchan cambios de bluetooth actividad
  • listeners interfaces para escuchar los cambios en el proceso de conexión o los cambios de estados
    • Escuchar cambios de estados de conexión entre android y remote
    • Escuchar cambios de actividades de bluetooth
    • Escuchar cambios de actividades de gps
    • Escuchar cambios de resultados de los permisos necesarios
    • Escuchar cambios de abilidad de blutooth
    • Realizar pediciones a usarios de los permisos necesarios
    • Escuchar las repuestas de remote
    • Escucahr resultados de la buscqua de objetivo remote
  • GattAttibutes clase de variables constantes de UUID en la conexión bluetooth
    • UUID para el servicio
    • UUID para el caracteristica
    • UUID para el descriptor de caracteristicas que abilitar la notificación de los repuestas de remote
  • BluetoothManager y KeylessBluetooth
    • BluetoothManager es una interfaz que usa el cliente para gestionar el proceso de bluetooth, está en el nivel más arriba.
    • KeylesssBluetooth es una class abstacta que implementa la interfaz, realiza los procesos como buscar, conectar y desconectar el cliente puede crear una clase que se hereda a ella para realizar protocolos propios, se trada de la comunicación con el remote y la logica de negocio.

BLE Conexión Flujo

Uso

  1. Crear una clase de protocolo de bluetooth.
  2. Crear una clase hijo de KeylessManager, y realizar los metodos para implementar el protocolo. En el metodo del onDataReceived(), recive las repuestas de remote.
override fun onDataReceived(data: String) {
}
  1. Crear una interfaz para la comunicación entre la vista y bluetooth manager.
  2. En la clase GattAttributes, cambiar UUID para el servicio y caracteristica.

Dependencias

  • google location service

keylessble's People

Contributors

jtl1992 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.