Skip to content

saurabh-newera/BLE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-bluetooth

Golang bluetooth client based on bluez DBus interfaces

See here for reference https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc

Status

The code is still unstable but mostly working. The API and code is of alpha quality and may change without notice

Features

  • Discovery
  • Adapter support
  • Device support (SensorTag example)
  • GATT Service and characteristics interface
  • Adapter on/off via rfkill
  • Handle systemd bluetooth.service unit
  • Expose hciconfig basic API
  • Expose bluetooth services via bluez DBus API

Usage

Check in main.go or in examples/ for an initial overview of the API

Setup

Tested with

  • golang 1.8 (minimum v1.6)
  • bluez bluetooth v5.43 (Note this version is the minimum supported one!)
  • ubuntu 16.10 kernel 4.8.0-27-generic
  • raspbian and hypirot (debian 8) armv7 4.4.x

See in scripts/ how to upgrade bluez to 5.43

Give access to hciconfig to any user (may have security implications)

sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hciconfig`

Todo

  • Refactor DBus interface implementation
  • Add Device read / write
  • Add unit tests
  • Add Travis integration
  • Add and generate docs with examples

License

MIT

About

BLE stack in golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published