diff --git a/mini-beieli-provision.go b/mini-beieli-provision.go index 1bb990f..fdb2ead 100644 --- a/mini-beieli-provision.go +++ b/mini-beieli-provision.go @@ -12,6 +12,8 @@ import ( ) func RandomEUI64() string { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + var letter = []rune("ABCDEF0123456789") b := make([]rune, 16+7) @@ -19,7 +21,7 @@ func RandomEUI64() string { if (i+1)%3 == 0 { b[i] = '-' } else { - b[i] = letter[rand.Intn(len(letter))] + b[i] = letter[r.Intn(len(letter))] } } return string(b) @@ -38,6 +40,9 @@ func sendCommand(p *serial.Port, command string, waitForOk bool) string { if waitForOk { loop = 10 } + + time.Sleep(200 * time.Millisecond) + for i := 0; i < loop; i++ { // ignoring error as EOF raises error on Linux n, _ := p.Read(buf) @@ -53,14 +58,15 @@ func sendCommand(p *serial.Port, command string, waitForOk bool) string { } func main() { - if len(os.Args) != 2 { - fmt.Println("usage: " + filepath.Base(os.Args[0]) + " ") + if len(os.Args) != 3 { + fmt.Println("usage: " + filepath.Base(os.Args[0]) + " ") os.Exit(1) } - deveui := os.Args[1] + serialdev := os.Args[1] + deveui := os.Args[2] - c := &serial.Config{Name: "/dev/ttyUSB1", Baud: 115200, ReadTimeout: time.Second * 1} + c := &serial.Config{Name: serialdev, Baud: 115200, ReadTimeout: time.Second * 1} s, err := serial.OpenPort(c) if err != nil { log.Fatal("Problem mit Serial Interface")