| // +build |
| |
| package main |
| |
| import ( |
| "fmt" |
| "log" |
| |
| "github.com/paypal/gatt" |
| "github.com/paypal/gatt/examples/option" |
| ) |
| |
| func onStateChanged(d gatt.Device, s gatt.State) { |
| fmt.Println("State:", s) |
| switch s { |
| case gatt.StatePoweredOn: |
| fmt.Println("scanning...") |
| d.Scan([]gatt.UUID{}, false) |
| return |
| default: |
| d.StopScanning() |
| } |
| } |
| |
| func onPeriphDiscovered(p gatt.Peripheral, a *gatt.Advertisement, rssi int) { |
| fmt.Printf("\nPeripheral ID:%s, NAME:(%s)\n", p.ID(), p.Name()) |
| fmt.Println(" Local Name =", a.LocalName) |
| fmt.Println(" TX Power Level =", a.TxPowerLevel) |
| fmt.Println(" Manufacturer Data =", a.ManufacturerData) |
| fmt.Println(" Service Data =", a.ServiceData) |
| } |
| |
| func main() { |
| d, err := gatt.NewDevice(option.DefaultClientOptions...) |
| if err != nil { |
| log.Fatalf("Failed to open device, err: %s\n", err) |
| return |
| } |
| |
| // Register handlers. |
| d.Handle(gatt.PeripheralDiscovered(onPeriphDiscovered)) |
| d.Init(onStateChanged) |
| select {} |
| } |