task.go 986 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package util
  2. import (
  3. "encoding/hex"
  4. "fmt"
  5. "github.com/robfig/cron"
  6. "smart_tunnel_edge/protocol/lampControl"
  7. "smart_tunnel_edge/util/config"
  8. "smart_tunnel_edge/util/logger"
  9. )
  10. var commandQueue = make(chan []byte, 5)
  11. func TimeTasks() {
  12. c := cron.New()
  13. //每3分钟监测状态
  14. //_ = c.AddFunc("0 0/5 * * * ? ", func() {
  15. _ = c.AddFunc("0/5 * * * * ?", func() {
  16. for _, dev := range config.DevConfig.LampDevs {
  17. pack := lampControl.DataPack{Addr: dev.Address, Data: []byte{0x00}}
  18. command := pack.GetLampTurnOnOffCommand()
  19. //dataPack := lampControl.DataPack{Addr: dev.Address}
  20. //command := dataPack.GetLampSetBrightCommand(10)
  21. fmt.Println("命令:", hex.EncodeToString(command.Bytes()))
  22. port, err := GetSerialPort(dev.SerialId)
  23. if err != nil {
  24. logger.Logger.Infof(err.Error())
  25. continue
  26. }
  27. write, err := port.Write(command.Bytes())
  28. fmt.Println("write.....,", write)
  29. if err != nil {
  30. fmt.Println(err.Error())
  31. }
  32. }
  33. })
  34. c.Start()
  35. }