{"id":20115563,"url":"https://github.com/mutualmobile/cordova-bluetoothle","last_synced_at":"2025-07-04T16:33:20.863Z","repository":{"id":22487725,"uuid":"25826990","full_name":"mutualmobile/cordova-bluetoothle","owner":"mutualmobile","description":"Cordova Bluetooth Low Energy plugin for iOS and Android","archived":false,"fork":false,"pushed_at":"2016-03-18T15:44:46.000Z","size":2762,"stargazers_count":12,"open_issues_count":1,"forks_count":5,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-06-27T16:22:44.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutualmobile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-27T15:58:40.000Z","updated_at":"2018-02-02T09:23:23.000Z","dependencies_parsed_at":"2022-08-21T06:31:10.146Z","dependency_job_id":null,"html_url":"https://github.com/mutualmobile/cordova-bluetoothle","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mutualmobile/cordova-bluetoothle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2Fcordova-bluetoothle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2Fcordova-bluetoothle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2Fcordova-bluetoothle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2Fcordova-bluetoothle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutualmobile","download_url":"https://codeload.github.com/mutualmobile/cordova-bluetoothle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2Fcordova-bluetoothle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263577244,"owners_count":23483130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T18:35:40.016Z","updated_at":"2025-07-04T16:33:20.843Z","avatar_url":"https://github.com/mutualmobile.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mutual Mobile Bluetooth LE Plugin\n=================================\n\nThis is a Cordova Bluetooth LE plugin based on\n[randdusing/BluetoothLE](https://github.com/randdusing/BluetoothLE), but\nrewritten to be more robust, support multiple devices, and have a more\ncomfortable API (Promise-based, each method does exactly one thing). The API is\nbased on the Chrome Bluetooth low energy API. Some signatures have been\nmodified because:\n\n1. We like the Promise API for asynchronous code\n2. I couldn't tell why many methods don't reference the device address in\n   Chrome's API. It seems pretty necessary to me to distinguish between\n   multiple devices.\n\nThere are two parts of Chrome's API needed to interact with Bluetooth low\nenergy devices:\n\n\n[chrome.bluetooth](https://developer.chrome.com/apps/bluetooth)\n---------------------------------------------------------------\n\n\n### Methods\n\n* getAdapterState () : AdapterState\n* getDevice (String deviceAddress) : Device\n* getDevices () : [Device]\n* startDiscovery () : void\n* stopDiscovery () : void\n\n### Types\n\n#### AdapterState\n\n* address : String\n* name : String\n* enabled : boolean\n* discovering : boolean\n\n#### Device\n\n* address : String\n* name : String\n* rssi : int\n* connected : boolean\n* uuids : [Service]\n  - list of services either from advertisement data during a scan or from\n    discovered services on connected devices\n\n### Events\n\n* 'onDeviceAdded' : Device\n  - called when a device has been discovered\n* 'onDeviceDropped' : Device\n  - (not in Chrome) called when a connected Device is disconnected, e.g. going\n    out of range. Boils down to \"a device disconnected, but nobody asked for it\n    to be\"\n* 'onAdapterStateChanged' : AdapterState\n  - called when the Bluetooth adapter turns on or off\n\n\n\n[chrome.bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEnergy)\n---------------------------------------------------------------------------------\n\n\n### Methods\n\n* connect (String deviceAddress) : Device\n* disconnect (String deviceAddress) : void\n* getService (String deviceAddress, String serviceId) : Service\n* getServices (String deviceAddress) : [Service]\n* getCharacteristic (String deviceAddress, String serviceId, String characteristicId) : Characteristic\n* getCharacteristics (String deviceAddress, String serviceId) : [Characteristic]\n* getIncludedServices (String deviceAddress, String serviceId) : [Service]\n* getDescriptor (String deviceAddress, String serviceId, String characteristicId, String descriptorId) : Descriptor\n* getDescriptors (String deviceAddress, String serviceId, String characteristicId) : [Descriptor]\n* readCharacteristicValue (String deviceAddress, String serviceId, String characteristicId) : ArrayBuffer\n* writeCharacteristicValue (String deviceAddress, String serviceId, String characteristicId, ArrayBuffer value) : void\n* startCharacteristicNotifications (String deviceAddress, String serviceId, String characteristicId) : void\n* stopCharacteristicNotifications (String deviceAddress, String serviceId, String characteristicId) : void\n* readDescriptorValue (String deviceAddress, String serviceId, String characteristicId, String descriptorId) : ArrayBuffer\n* writeDescriptorValue (String deviceAddress, String serviceId, String characteristicId, String descriptorId, ArrayBuffer value) : Descriptor\n\n### Types\n\n#### Service\n\n* uuid : String\n* isPrimary : boolean\n* instanceId : String\n* deviceAddress : String\n\n#### Characteristic\n\n* uuid : String\n* service : String\n  - UUID of the parent Service\n* properties : Array\n  - one or more of: \"broadcast\", \"read\", \"writeWithoutResponse\", \"write\",\n    \"notify\", \"indicate\", \"authenticatedSignedWrites\", \"extendedProperties\",\n    \"reliableWrite\", or \"writableAuxiliaries\"\n* instanceId : String\n* value : ArrayBuffer\n\n#### Descriptor\n\n* uuid : String\n* characteristic : String\n  - UUID of the parent Characteristic\n* value : ArrayBuffer\n\n### Events\n\n* 'onCharacteristicValueChanged' : Characteristic\n  - callback for a Characteristic notification/indication\n* 'onDescriptorValueChanged' : Descriptor\n  - callback for a Descriptor notification/indication\n\n\nExtras\n------\n\n* isSupported () : boolean\n  - `true` if the current device supports Bluetooth LE communication\n* isConnected (String deviceAddress) : boolean\n  - `true` if the specified device is connected to the phone's bluetooth adapter\n\n\nHacking/Contributing\n--------------------\n\nSee CONTRIBUTING.md!\n\n\nLicense\n-------\n\n[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)\n\nA derivative work of [randdusing/BluetoothLE](https://github.com/randdusing/BluetoothLE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutualmobile%2Fcordova-bluetoothle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutualmobile%2Fcordova-bluetoothle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutualmobile%2Fcordova-bluetoothle/lists"}