init.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package iotProtocol
  2. import "IotAdmin/core/logger"
  3. const (
  4. // MeterElAdw300 电表ADW300协议
  5. MeterElAdw300 = "EL-ADW300"
  6. // MeterElPmc350b 电表PMC350B协议
  7. MeterElPmc350b = "EL-PMC350B"
  8. )
  9. const (
  10. // PlatElHj212 平台电表HJ212协议
  11. PlatElHj212 = "EL-HJ212"
  12. )
  13. var (
  14. meterProtocol = make([]string, 0)
  15. platformProtocol = make([]string, 0)
  16. )
  17. func init() {
  18. meterProtocol = append(meterProtocol, MeterElAdw300)
  19. meterProtocol = append(meterProtocol, MeterElPmc350b)
  20. platformProtocol = append(platformProtocol, PlatElHj212)
  21. }
  22. // Init 初始化协议
  23. func Init() {
  24. logger.Infof("初始化协议 表计:%v 平台:%v", meterProtocol, platformProtocol)
  25. }
  26. // GetMeterProtocols 获取电表协议列表
  27. func GetMeterProtocols() []string {
  28. return meterProtocol
  29. }
  30. // GetPlatProtocols 获取上报协议列表
  31. func GetPlatProtocols() []string {
  32. return platformProtocol
  33. }
  34. // VerifyMeterProtocol 验证电表协议是否存在
  35. func VerifyMeterProtocol(proto string) bool {
  36. if proto == "" {
  37. return false
  38. }
  39. for _, v := range meterProtocol {
  40. if proto == v {
  41. return true
  42. }
  43. }
  44. return false
  45. }