gobot.io/x/gobot@v1.16.0/examples/ble_multiple_info.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 /* 6 How to run 7 Pass the Bluetooth address or name as the first param: 8 9 go run examples/ble_multiple_info.go BB-1234 BB-1235 10 11 NOTE: sudo is required to use BLE in Linux 12 */ 13 14 package main 15 16 import ( 17 "fmt" 18 "os" 19 20 "gobot.io/x/gobot" 21 "gobot.io/x/gobot/api" 22 "gobot.io/x/gobot/platforms/ble" 23 ) 24 25 func NewSwarmBot(port string) *gobot.Robot { 26 bleAdaptor := ble.NewClientAdaptor(port) 27 info := ble.NewDeviceInformationDriver(bleAdaptor) 28 29 work := func() { 30 fmt.Println("Model number:", info.GetModelNumber()) 31 fmt.Println("Firmware rev:", info.GetFirmwareRevision()) 32 fmt.Println("Hardware rev:", info.GetHardwareRevision()) 33 fmt.Println("Manufacturer name:", info.GetManufacturerName()) 34 fmt.Println("PnPId:", info.GetPnPId()) 35 } 36 37 robot := gobot.NewRobot("bot "+port, 38 []gobot.Connection{bleAdaptor}, 39 []gobot.Device{info}, 40 work, 41 ) 42 43 return robot 44 } 45 46 func main() { 47 master := gobot.NewMaster() 48 api.NewAPI(master).Start() 49 50 for _, port := range os.Args[1:] { 51 bot := NewSwarmBot(port) 52 master.AddRobot(bot) 53 } 54 55 master.Start() 56 }