Go 언어로 Sphero를 제어해서 해봤어요.

7588 단어 GoGobotSphero
나는 요즘 골랑을 공부하고 있다.
앞서 이곳 기사Node.js로 조작된 로봇볼 Sphero에서 Hello World.에서 Cyloy가 언급됐다.js 썼어요.
Cylon.js가 IoT에 대한 노드입니다.js 프레임워크입니다.그 자매 프로젝트에는 Go 언어를 위한 Gobot이 있다.
요즘 Go를 배우고 있기 때문에 Gobot도 사용해 봤어요.

Gobot


Gobot은 Cylon입니다.js 자매 프로젝트

사이트는 여기 있습니다.http://gobot.io/
$ go get github.com/hybridgroup/gobot
어쨌든 이걸로

Sphero를 조작할 수도 있습니다.


시용 견본


우선 여기 기사Node.js로 조작된 로봇볼 Sphero에서 Hello World.를 참고하여 포트 정보를 확인하세요.
제 sphero 포트는 /dev/tty.Sphero-RRY-AMP-SPP입니다.
$ go get github.com/hybridgroup/gobot/platforms/sphero
샘플 코드를 바탕으로 실행해 보세요.
사이트fmt도 포장을 읽었지만 필요 없어 기술에서 삭제했습니다.
sphero.go
package main

import (
    "time"

    "github.com/hybridgroup/gobot"
    "github.com/hybridgroup/gobot/platforms/sphero"
)

func main() {
    gbot := gobot.NewGobot()

    adaptor := sphero.NewSpheroAdaptor("sphero", "/dev/tty.Sphero-RRY-AMP-SPP") // ポートを自分の環境にあわせる
    driver := sphero.NewSpheroDriver(adaptor, "sphero")

    work := func() {
        gobot.Every(3*time.Second, func() {
            driver.Roll(30, uint16(gobot.Rand(360)))
        })
    }

    robot := gobot.NewRobot("sphero",
        []gobot.Connection{adaptor},
        []gobot.Device{driver},
        work,
    )

    gbot.AddRobot(robot)

    gbot.Start()
}
집행하다.
$ go run sphero.go
2015/06/23 04:18:44 Initializing Robot sphero ...
2015/06/23 04:18:44 Initializing connections...
2015/06/23 04:18:44 Initializing connection sphero ...
2015/06/23 04:18:44 Initializing devices...
2015/06/23 04:18:44 Initializing device sphero ...
2015/06/23 04:18:44 Starting Robot sphero ...
2015/06/23 04:18:44 Starting connections...
2015/06/23 04:18:44 Starting connection sphero on port /dev/tty.Sphero-RRY-AMP-SPP...
2015/06/23 04:18:47 Starting devices...
2015/06/23 04:18:47 Starting device sphero...
2015/06/23 04:18:47 Starting work...

나는 이런 느낌으로 sphero가 또르르 움직인다는 것을 표현하고 싶다.

LED 색상 변경


sphero.go
sphero.go
/*省略*/
  work := func() {
    gobot.Every(3*time.Second, func() {
      r := uint8(gobot.Rand(255))
      g := uint8(gobot.Rand(255))
      b := uint8(gobot.Rand(255))
      driver.SetRGB(r,g,b)
      fmt.Println(r,g,b)
    })
  }
/*省略*/

총결산


더 많은 일을 하고 싶었지만 졸려서 포기했어요.
Cylon.Gobot은 js보다 sphero에 설치하는 방법이 더 많을 수 있습니다.
더 만져봐.

좋은 웹페이지 즐겨찾기