fwh_mqtt_debug.go 937 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // debug 设备调试数据
  2. package fwh_mqtt
  3. import (
  4. "context"
  5. "encoding/json"
  6. "fmt"
  7. "hash/crc32"
  8. "strings"
  9. "time"
  10. )
  11. func EnableXlog(ctx context.Context, sn string) (string, error) {
  12. dataArea := map[string]string{
  13. "xlogaddr": "18.188.130.67:9081",
  14. }
  15. dataStr, err := json.Marshal(dataArea)
  16. if err != nil {
  17. return "", err
  18. }
  19. // Xlog 只在正式服使用
  20. client, err := getFwhMqttClient(EnvProd)
  21. if err != nil {
  22. return "", err
  23. }
  24. res, err := client.sendMessageWait(ctx, "debug/"+sn, FwhMqttMsg{
  25. CmdType: 2000, // xlog请求
  26. Type: 0, // IBG
  27. Snno: 123,
  28. TimeStamp: time.Now().Unix(),
  29. EquipNo: sn,
  30. DataArea: dataArea,
  31. Len: len(dataStr),
  32. Crc: strings.ToUpper(fmt.Sprintf("%08X", crc32.ChecksumIEEE(dataStr))),
  33. }, "debug/"+sn, 2001)
  34. if err != nil {
  35. return "", err
  36. }
  37. b, err := json.Marshal(res.DataArea)
  38. if err != nil {
  39. return "", err
  40. }
  41. return string(b), nil
  42. }