package main import ( "bufio" "fmt" "os" "strconv" "strings" manager "git.godopu.net/lab/etri-smartfarm-poc-controller-serial" ) func main() { manager.AddRecvListener(manager.NewEventHandler(func(e manager.Event) { fmt.Println("RECV: ", e.Params()) })) manager.AddRegisterHandleFunc(func(e manager.Event) { param := e.Params() fmt.Println(param["uuid"].(string), " is registered!! ] ", param["sname"]) }) manager.AddRemoveHandleFunc(func(e manager.Event) { param := e.Params() fmt.Println(param["uuid"].(string), " is removed!!") }) go manager.Run() defer manager.Close() for { fmt.Print("> ") reader := bufio.NewReader(os.Stdin) b, _, _ := reader.ReadLine() cmd := string(b) fmt.Println("cmd: ", cmd) if cmd == "exit" { return } else if cmd == "setup" { manager.SetDevicePropsToSync("DEVICE-A-UUID", []string{"fan", "servo"}) continue } tkns := strings.Split(cmd, " ") key := tkns[0] value, err := strconv.Atoi(tkns[2]) if err != nil { continue } param := map[string]interface{}{ tkns[1]: value, } manager.Sync(key, param) } }