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  }