2014-10-16 01:57:07 +08:00
|
|
|
/*
|
2014-10-29 05:52:59 +08:00
|
|
|
Package api provides a webserver to interact with your Gobot program over the network.
|
2014-10-16 01:57:07 +08:00
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2016-12-08 20:24:03 +08:00
|
|
|
"gobot.io/x/gobot"
|
|
|
|
"gobot.io/x/gobot/api"
|
2014-10-16 01:57:07 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
2016-10-16 02:02:54 +08:00
|
|
|
gbot := gobot.NewMaster()
|
2014-10-16 01:57:07 +08:00
|
|
|
|
|
|
|
// Starts the API server on default port 3000
|
|
|
|
api.NewAPI(gbot).Start()
|
|
|
|
|
|
|
|
// Accessible via http://localhost:3000/api/commands/say_hello
|
|
|
|
gbot.AddCommand("say_hello", func(params map[string]interface{}) interface{} {
|
|
|
|
return "Master says hello!"
|
|
|
|
})
|
|
|
|
|
|
|
|
hello := gbot.AddRobot(gobot.NewRobot("Eve"))
|
|
|
|
|
2019-09-25 06:02:26 +08:00
|
|
|
// Accessible via http://localhost:3000/api/robots/Eve/commands/say_hello
|
2014-10-16 01:57:07 +08:00
|
|
|
hello.AddCommand("say_hello", func(params map[string]interface{}) interface{} {
|
|
|
|
return fmt.Sprintf("%v says hello!", hello.Name)
|
|
|
|
})
|
|
|
|
|
|
|
|
gbot.Start()
|
|
|
|
}
|
|
|
|
|
|
|
|
It follows Common Protocol for Programming Physical Input and Output (CPPP-IO) spec:
|
2016-12-08 20:24:03 +08:00
|
|
|
https://gobot.io/x/cppp-io
|
2014-10-16 01:57:07 +08:00
|
|
|
*/
|
|
|
|
package api
|