func main() { keys := keyboard.NewDriver() mqttAdaptor := mqtt.NewAdaptor("tcp://iot.eclipse.org:1883", "conductor") work := func() { keys.On(keyboard.Key, func(data interface{}) { key := data.(keyboard.KeyEvent) switch key.Key { case keyboard.ArrowUp: mqttAdaptor.Publish("rover/frente", []byte{}) case keyboard.ArrowRight: mqttAdaptor.Publish("rover/derecha", []byte{}) case keyboard.ArrowDown: mqttAdaptor.Publish("rover/atras", []byte{}) case keyboard.ArrowLeft: mqttAdaptor.Publish("rover/izquierda", []byte{}) } }) } robot := gobot.NewRobot("keyboardbot", []gobot.Connection{mqttAdaptor}, []gobot.Device{keys}, work, ) robot.Start() }
func main() { keys := keyboard.NewDriver() work := func() { keys.On(keyboard.Key, func(data interface{}) { key := data.(keyboard.KeyEvent) if key.Key == keyboard.A { fmt.Println("A pressed!") } else { fmt.Println("keyboard event!", key, key.Char) } }) } robot := gobot.NewRobot("keyboardbot", []gobot.Connection{}, []gobot.Device{keys}, work, ) robot.Start() }