1
0
mirror of https://github.com/hybridgroup/gobot.git synced 2025-04-26 13:48:49 +08:00
hybridgroup.gobot/examples/keyboard_mqtt.go
Marc-Antoine Ruel 50d5869808 Fix go test ./...
Make all examples to not be built by default by adding the build tag 'example'.
Some files were automatically reformatted by goimports upon saving.
2017-03-13 11:01:39 -04:00

42 lines
869 B
Go

// +build example
//
// Do not build by default.
package main
import (
"gobot.io/x/gobot"
"gobot.io/x/gobot/platforms/keyboard"
"gobot.io/x/gobot/platforms/mqtt"
)
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()
}