etri-smartfarm-poc-controll.../examples/main.go

52 lines
1004 B
Go

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(dname string) {
fmt.Println(dname, " is registered!!")
})
manager.AddRemoveHandleFunc(func(dname string) {
fmt.Println(dname, " 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)
}
}