- プロジェクトの基礎となるモジュールを作成する
- プロジェクトがどのパッケージに依存しているのかをGoツールチ
ェーンに伝える - モジュールの中に含まれる全てのパッケージインポート用のパスプ
レフィックスを記述する - goコマンドがダウンロードする場所を示す
- 新しいプロジェクトを始めるときに、go mod init <モジュールパス>を実行することで作成されます
- たとえば、github.com/ユーザー名/
GoProject という名前の新しいモジュールを作成するには、 次のコマンドを実行します
- go.mod を元に取得したモジュールが go.sum 生成時のものと一致しているかをチェックするためのファイルです
- go.mod と同様にビルドする際に使用されます
https://qiita.com/Noctiluca/items/eb8a6b879b988e5f3ed1 ラズパイにGoインスト
gopathも通した go-testの.profile参照 firbaseはうまくいかんかった
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
まずcmdでc:users/fseigになり,go mod init gobot-exで初期化して
https://gobot.io/documentation/platforms/arduino/を参考にgobotインスト
@@lm35.go
lm35はhttps://qiita.com/KemoKemo/items/10fb644f9d359c35646aを参照
package main
import (
"flag"
"log"
"os"
"time"
"gobot.io/x/gobot"
"gobot.io/x/gobot/drivers/aio"
"gobot.io/x/gobot/platforms/firmata"
)
const (
exitCodeOK int = iota
exitCodeFailed
)
var (
port = flag.String("port", "/dev/ttyACM0", "the port of the Arduino")
)
func init() {
flag.Parse()
}
func main() {
os.Exit(run(os.Args))
}
func run(args []string) int {
firmataAdaptor := firmata.NewAdaptor(*port)
sensor := aio.NewAnalogSensorDriver(firmataAdaptor, "0") // 0 is Ao!
work := func() {
gobot.Every(1*time.Second, func() {
val, err := sensor.Read()
if err != nil {
log.Println("Failed to read", err)
return
}
cel := (5.0 * float64(val) * 100.0) / 1024
log.Printf("Raw-value:%v Celsius:%.2f", val, cel)
})
}
robot := gobot.NewRobot("sensorBot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{sensor},
work,
)
err := robot.Start()
if err != nil {
log.Println("Failed to start a robot", err)
return exitCodeFailed
}
return exitCodeOK
}
package main
import (
"fmt"
"time"
"gobot.io/x/gobot"
"gobot.io/x/gobot/drivers/gpio"
"gobot.io/x/gobot/platforms/firmata"
)
--------------servo.go-------------------------------------
https://qiita.com/n0bisuke/items/6032739481fbf78ad015をだいぶ改変した
func main() {
firmataAdaptor := firmata.NewAdaptor( "/dev/ttyACM0")
servo := gpio.NewServoDriver(firmataAdaptor, "3")
work := func() {
gobot.Every(1*time.Second, func() {
i := uint8(gobot.Rand(180))
fmt.Println("Turning", i)
servo.Move(i)
})
}
robot := gobot.NewRobot("servoBot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{servo},
work,
)
robot.Start()
}
~
0 件のコメント:
コメントを投稿