oamdevice.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // 监控对象
  2. // 秒寻科技
  3. // zt 2024-09-17
  4. package oam
  5. import (
  6. "encoding/binary"
  7. "ipsomc/module/bparam/bparammodel"
  8. "ipsomc/util"
  9. )
  10. type OamDevice struct {
  11. }
  12. const (
  13. ORDER_DEVICE_TYPE = 0x0001 // 设备类型
  14. ORDER_DEVICE_SERIAL_NO = 0x0002 // 设备序列号
  15. ORDER_DEVICE_MODEL = 0x0003 // 设备型号
  16. ORDER_DEVICE_MCU_VERSION = 0x0004 // 软件版本
  17. ORDER_DEVICE_PROJECT_ID = 0x0005 // 网管协议版本号
  18. ORDER_DEVICE_BLE_BTS_NAME = 0x0006 // 蓝牙基站名称
  19. ORDER_DEVICE_WIFI_BTS_NAME = 0x0007 // wifi基站名称
  20. )
  21. // 设备参数查询响应
  22. // dataModel:基站基本参数模型
  23. // wCommand:监控命令
  24. // datalist:数据队列
  25. // wLen:队列长度
  26. func (obj *OamDevice) OamDeviceQueryResp(dataModel *bparammodel.BtsBaseParam, wCommand uint16, datalist []byte, wLen uint16) error {
  27. strTmp := ""
  28. switch wCommand {
  29. case ORDER_DEVICE_TYPE:
  30. dataModel.BtsType = datalist[0]
  31. case ORDER_DEVICE_SERIAL_NO:
  32. strTmp = string(datalist)
  33. strTmp = util.RemoveNullChars(strTmp)
  34. dataModel.SerialNumber = strTmp
  35. case ORDER_DEVICE_MODEL:
  36. strTmp = string(datalist)
  37. strTmp = util.RemoveNullChars(strTmp)
  38. dataModel.BtsModel = strTmp
  39. case ORDER_DEVICE_MCU_VERSION:
  40. strTmp = string(datalist)
  41. strTmp = util.RemoveNullChars(strTmp)
  42. dataModel.SoftVersion = strTmp
  43. case ORDER_DEVICE_PROJECT_ID:
  44. dataModel.ProjectID = int(binary.LittleEndian.Uint32(datalist[0:4]))
  45. case ORDER_DEVICE_BLE_BTS_NAME:
  46. strTmp = string(datalist)
  47. strTmp = util.RemoveNullChars(strTmp)
  48. dataModel.BleName = strTmp
  49. case ORDER_DEVICE_WIFI_BTS_NAME:
  50. strTmp = string(datalist)
  51. strTmp = util.RemoveNullChars(strTmp)
  52. dataModel.WifiName = strTmp
  53. default:
  54. break
  55. }
  56. return nil
  57. }