|
@@ -58,21 +58,31 @@ func (s *Device) Process() {
|
|
|
if data[2:7] == "login" {
|
|
if data[2:7] == "login" {
|
|
|
fmt.Println("登录 login*****")
|
|
fmt.Println("登录 login*****")
|
|
|
s.Conn.Write([]byte("login:successful"))
|
|
s.Conn.Write([]byte("login:successful"))
|
|
|
|
|
+ //fmt.Println("data sn", data[16:40])
|
|
|
|
|
+ if !s.IsLogin {
|
|
|
|
|
+ topic := MqttService.GetTopic(data[16:40], TopicChanStatus) //登录成功后马上修改在线状态
|
|
|
|
|
+ err := MqttService.Publish(topic, "1")
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if data[2:11] == "heartbeat" { //默认一分钟发一次心跳
|
|
if data[2:11] == "heartbeat" { //默认一分钟发一次心跳
|
|
|
s.LastTime = time.Now()
|
|
s.LastTime = time.Now()
|
|
|
|
|
+ topic := MqttService.GetTopic(data[20:44], TopicReportTime)
|
|
|
|
|
+ err := MqttService.Publish(topic, s.LastTime.String())
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
if !s.IsLogin {
|
|
if !s.IsLogin {
|
|
|
- s.Conn.Write([]byte("{'trans':'on'}")) //开启上传状态
|
|
|
|
|
|
|
+ s.Conn.Write([]byte("{'trans':'on'}")) //开启上传状态 如果要关闭上传状态,把这一行注释即可
|
|
|
screens := FindScreenBySN(data[20:44])
|
|
screens := FindScreenBySN(data[20:44])
|
|
|
s.Info = screens
|
|
s.Info = screens
|
|
|
s.IsLogin = true
|
|
s.IsLogin = true
|
|
|
Devices[data[20:44]] = s
|
|
Devices[data[20:44]] = s
|
|
|
- topic := MqttService.GetTopic(s.Info.Sn, TopicChanStatus)
|
|
|
|
|
- err := MqttService.Publish(topic, "1")
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- continue
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //topic := MqttService.GetTopic(s.Info.Sn, TopicChanStatus)
|
|
|
|
|
+ //err := MqttService.Publish(topic, "1")
|
|
|
}
|
|
}
|
|
|
Devices[data[20:44]].Conn = s.Conn
|
|
Devices[data[20:44]].Conn = s.Conn
|
|
|
logger.Logger.Infof("%v 设备心跳", s.Info.ScreensName)
|
|
logger.Logger.Infof("%v 设备心跳", s.Info.ScreensName)
|