golang 玩Go!按下按钮可在播放和暂停之间切换。 #arduino #mocp#post-json

Posted

篇首语:本文由小常识网小编为大家整理,主要介绍了golang 玩Go!按下按钮可在播放和暂停之间切换。 #arduino #mocp#post-json相关的知识,希望对你有一定的参考价值。

package main import ( "bytes" "encoding/json" "fmt" "github.com/hybridgroup/gobot" "github.com/hybridgroup/gobot/api" "github.com/hybridgroup/gobot/platforms/firmata" "github.com/hybridgroup/gobot/platforms/gpio" "io/ioutil" "math/rand" "net/http" "os/exec" ) type Stuff struct { Pof int } func post() { stuff := &Stuff{rand.Int()} buf, _ := json.Marshal(stuff) body := bytes.NewBuffer(buf) client := &http.Client{} req, _ := http.NewRequest("POST", "http://push.com/data/~123", body) req.Header.Add("Content-Type", "application/json") req.Header.Add("X-Auth", "apiKey") resp, _ := client.Do(req) response, _ := ioutil.ReadAll(resp.Body) fmt.Println("resp:" + string(response) + " req:" + string(buf)) } func mocp() { exec.Command("sh","-c","mocp -G").Output() } func main() { gbot := gobot.NewGobot() api.NewAPI(gbot).Start() firmataAdaptor := firmata.NewFirmataAdaptor("myFirmata", "/dev/ttyACM0") button := gpio.NewButtonDriver(firmataAdaptor, "btn", "2") led := gpio.NewLedDriver(firmataAdaptor, "led", "13") gobot.On(button.Events["push"], func(data interface{}) { led.On() }) gobot.On(button.Events["release"], func(data interface{}) { led.Off() post() // Just 4 fun mocp() }) goduino := gbot.AddRobot( gobot.NewRobot("duino", []gobot.Connection{firmataAdaptor}, []gobot.Device{button, led}, nil)) goduino.AddCommand("blink", func(params map[string]interface{}) interface{} { led.Toggle() return fmt.Sprintf("Ok: 200") }) gbot.Start() }

以上是关于golang 玩Go!按下按钮可在播放和暂停之间切换。 #arduino #mocp#post-json的主要内容,如果未能解决你的问题,请参考以下文章

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2811500808@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益!