gobot.io/x/gobot@v1.16.0/examples/pebble.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 package main 6 7 import ( 8 "fmt" 9 10 "gobot.io/x/gobot" 11 "gobot.io/x/gobot/api" 12 "gobot.io/x/gobot/platforms/pebble" 13 ) 14 15 func main() { 16 master := gobot.NewMaster() 17 api := api.NewAPI(master) 18 api.Port = "8080" 19 api.Start() 20 21 pebbleAdaptor := pebble.NewAdaptor() 22 pebbleDriver := pebble.NewDriver(pebbleAdaptor) 23 24 work := func() { 25 pebbleDriver.SendNotification("Hello Pebble!") 26 pebbleDriver.On(pebbleDriver.Event("button"), func(data interface{}) { 27 fmt.Println("Button pushed: " + data.(string)) 28 }) 29 30 pebbleDriver.On(pebbleDriver.Event("tap"), func(data interface{}) { 31 fmt.Println("Tap event detected") 32 }) 33 } 34 35 robot := gobot.NewRobot("pebble", 36 []gobot.Connection{pebbleAdaptor}, 37 []gobot.Device{pebbleDriver}, 38 work, 39 ) 40 41 master.AddRobot(robot) 42 43 master.Start() 44 }