bluetooth

Version, currently master branch1 version
  • master branchlatestOct 11, 2018

github.com/crystal-community/bluetooth

Bluetooth Bluez binding in Crystal

11 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  bluetooth:
    github: crystal-community/bluetooth
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.24.1
License
MIT
Author
Bar Hofesh <bar.hofesh@gmail.com>

Dependencies

This version declares no dependencies.

README

# bluetooth

This project is a **WIP**  

Bluez C binding in Crystal

## Installation

Add this to your application's `shard.yml`:

```yaml
dependencies:
  bluetooth:
    github: crystal-community/bluetooth
```

## Usage

```crystal
require "bluetooth"
local_device = Bluetooth::LocalDevice.new
remote_devices = local_device.scan
local_device.close

# remote_devices is a Hash(String, String) of address => name
p remote_devices
=> {
  "00:11:22:33:FF:EE" => "Android Phone"
}

```


## Development

Some relevant resources:  
* http://people.csail.mit.edu/albert/bluez-intro/c404.html  
* https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c  
* http://affix.sourceforge.net/affix-doc/x496.html  

* [ ] Bluetooth  
  * [x] Scan for remote devices.  
  * [ ] Connect to remote devices.  
  * [ ] Enumarate services.  
  * [ ] Handle different services like media, sounds, etc..  
* [ ] BLE  
  * [ ] Scan for remote devices.  
  * [ ] Connect to remote devices.  
  * [ ] Enumarate services.  
  * [ ] Send commands to remote services.  

## Contributing

1. Fork it ( https://github.com/crystal-community/bluetooth/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request

## Contributors

- [bararchy](https://github.com/bararchy) Bar Hofesh - creator, maintainer