task.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package timer
  2. import (
  3. "github.com/robfig/cron"
  4. "smart_tunnel_edge/service"
  5. "smart_tunnel_edge/util/config"
  6. "time"
  7. )
  8. var commandQueue = make(chan []byte, 5)
  9. func TimeTasks() {
  10. c := cron.New()
  11. _ = c.AddFunc("0 */5 * * * ?", func() { //0/5 * * * * ?
  12. if config.Instance().Policy.Id == 3 { //如果当前策略是定时改变光照亮度
  13. endTime := config.Instance().Policy.EndTime
  14. startTime := config.Instance().Policy.StartTime
  15. currentTime := time.Now().Format("15:04")
  16. if currentTime == startTime {
  17. //开灯,将两条路亮度调高
  18. service.OperationLampSwitchJudge([]int8{1, 2}, service.MediumLightLevel, service.MediumPower)
  19. } else if currentTime == endTime {
  20. //关灯,将两条路亮度调低
  21. service.OperationLampSwitchJudge([]int8{1, 2}, service.LowLightLevel, service.LowPower)
  22. }
  23. }
  24. })
  25. //_ = c.AddFunc("0/5 * * * * ?", func() {
  26. //上报回路状态
  27. //topic := service.MqttService.GetTopic(service.TopicLampBrightNess)
  28. //state := service.LampBrightNess{Sn: "yyy", BrightNess: 60}
  29. //jsonData, _ := json.Marshal(state)
  30. //err := service.MqttService.Publish(topic, jsonData)
  31. //if err != nil {
  32. // logger.Logger.Errorf("MQTT Publish err = %s", err.Error())
  33. //}
  34. //for _, dev := range config.DevConfig.EnvDevs {
  35. // if dev.Name == "电感" {
  36. // port, _ := service.GetSerialPort(dev.SerialId)
  37. // decodeString, _ := hex.DecodeString("0303000000284436")
  38. // port.Write(decodeString)
  39. // xxx := "010350004c004c004b00ea00ea00ea06f206e606d3000014ab000000"
  40. // shiDu, _ := strconv.ParseInt(xxx[42:50], 16, 0)
  41. //
  42. // data := service.InductanceData{Sn: "99999", TotalPower: shiDu}
  43. // jsonData, _ := json.Marshal(data)
  44. // topic := service.MqttService.GetTopic(service.TopicGatherDataDG)
  45. // err := service.MqttService.Publish(topic, jsonData)
  46. // if err != nil {
  47. // logger.Logger.Errorf("MQTT Publish err = %s", err.Error())
  48. // continue
  49. // }
  50. //
  51. // fmt.Println("+++++++", shiDu)
  52. // }
  53. //}
  54. //dataPack := envSensor.DataPack{Address: "01", Start: []byte{0x00, 0x00}, DataLen: []byte{0x00, 0x28}}
  55. //command := dataPack.GetEnvGatherCommand()
  56. //fmt.Println("命令:", hex.EncodeToString(command.Bytes()))
  57. //})
  58. c.Start()
  59. }