12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package timer
- import (
- "github.com/robfig/cron"
- "smart_tunnel_edge/service"
- "smart_tunnel_edge/util/config"
- "time"
- )
- var commandQueue = make(chan []byte, 5)
- func TimeTasks() {
- c := cron.New()
- _ = c.AddFunc("0 */5 * * * ?", func() { //0/5 * * * * ?
- if config.Instance().Policy.Id == 3 { //如果当前策略是定时改变光照亮度
- endTime := config.Instance().Policy.EndTime
- startTime := config.Instance().Policy.StartTime
- currentTime := time.Now().Format("15:04")
- if currentTime == startTime {
- //开灯,将两条路亮度调高
- service.OperationLampSwitchJudge([]int8{1, 2}, service.MediumLightLevel, service.MediumPower)
- } else if currentTime == endTime {
- //关灯,将两条路亮度调低
- service.OperationLampSwitchJudge([]int8{1, 2}, service.LowLightLevel, service.LowPower)
- }
- }
- })
- //_ = c.AddFunc("0/5 * * * * ?", func() {
- //上报回路状态
- //topic := service.MqttService.GetTopic(service.TopicLampBrightNess)
- //state := service.LampBrightNess{Sn: "yyy", BrightNess: 60}
- //jsonData, _ := json.Marshal(state)
- //err := service.MqttService.Publish(topic, jsonData)
- //if err != nil {
- // logger.Logger.Errorf("MQTT Publish err = %s", err.Error())
- //}
- //for _, dev := range config.DevConfig.EnvDevs {
- // if dev.Name == "电感" {
- // port, _ := service.GetSerialPort(dev.SerialId)
- // decodeString, _ := hex.DecodeString("0303000000284436")
- // port.Write(decodeString)
- // xxx := "010350004c004c004b00ea00ea00ea06f206e606d3000014ab000000"
- // shiDu, _ := strconv.ParseInt(xxx[42:50], 16, 0)
- //
- // data := service.InductanceData{Sn: "99999", TotalPower: shiDu}
- // jsonData, _ := json.Marshal(data)
- // topic := service.MqttService.GetTopic(service.TopicGatherDataDG)
- // err := service.MqttService.Publish(topic, jsonData)
- // if err != nil {
- // logger.Logger.Errorf("MQTT Publish err = %s", err.Error())
- // continue
- // }
- //
- // fmt.Println("+++++++", shiDu)
- // }
- //}
- //dataPack := envSensor.DataPack{Address: "01", Start: []byte{0x00, 0x00}, DataLen: []byte{0x00, 0x28}}
- //command := dataPack.GetEnvGatherCommand()
- //fmt.Println("命令:", hex.EncodeToString(command.Bytes()))
- //})
- c.Start()
- }
|