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 (b *BLEClientAdaptor) ConnectHandler(p gatt.Peripheral, err error) { fmt.Printf("\nConnected Peripheral ID:%s, NAME:(%s)\n", p.ID(), p.Name()) b.peripheral = p if err := p.SetMTU(250); err != nil { fmt.Printf("Failed to set MTU, err: %s\n", err) } ss, err := p.DiscoverServices(nil) if err != nil { fmt.Printf("Failed to discover services, err: %s\n", err) return } for _, s := range ss { b.services[s.UUID().String()] = NewBLEService(s.UUID().String(), s) cs, err := p.DiscoverCharacteristics(nil, s) if err != nil { fmt.Printf("Failed to discover characteristics, err: %s\n", err) continue } for _, c := range cs { b.services[s.UUID().String()].characteristics[c.UUID().String()] = c } } b.connected = true close(b.ready) }
func onPeriphDiscovered(p gatt.Peripheral, a *gatt.Advertisement, rssi int) { id := strings.ToUpper(flag.Args()[0]) if strings.ToUpper(p.ID()) != id { return } // Stop scanning once we've got the peripheral we're looking for. p.Device().StopScanning() 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) fmt.Println("") p.Device().Connect(p) }