Documentation
¶
Overview ¶
Package config 核心配置
Index ¶
- Constants
- Variables
- func IsVirtual() bool
- type Config
- type Device
- type DeviceBusinessProp
- type DeviceModel
- type EnvConfig
- type Metadata
- type Model
- type ModelBase
- type Point
- func (pm Point) Decimals() int
- func (pm Point) Description() string
- func (p Point) Enums() []PointEnum
- func (pm Point) FieldValue(key string) (v interface{}, exists bool)
- func (pm Point) Name() string
- func (pm Point) ReadWrite() ReadWrite
- func (pm Point) ReportMode() ReportMode
- func (pm Point) Scale() float64
- func (pm Point) Units() string
- func (pm Point) ValueType() ValueType
- type PointEnum
- type ReadPointsAction
- type ReadWrite
- type ReportMode
- type TimerTask
- type ValueType
Constants ¶
View Source
const ( //资源文件存放目录 ENV_RESOURCE_PATH = "DRIVERBOX_RESOURCE_PATH" //http服务监听端口号 ENV_HTTP_LISTEN = "DRIVERBOX_HTTP_LISTEN" //UDP discover服务监听端口号 ENV_UDP_DISCOVER_LISTEN = "DRIVERBOX_UDP_DISCOVER_LISTEN" //日志文件存放路径 ENV_LOG_PATH = "DRIVERBOX_LOG_PATH" //是否虚拟设备模式: true:是,false:否 ENV_VIRTUAL = "DRIVERBOX_VIRTUAL" //是否虚拟设备模式: true:是,false:否 ENV_LUA_PRINT_ENABLED = "DRIVERBOX_LUA_PRINT_ENABLE" //场景联动配置存放目录 ENV_LINKEDGE_CONFIG_PATH = "EXPORT_LINKEDGE_CONFIG_PATH" //镜像设备功能是否可用 ENV_EXPORT_MIRROR_ENABLED = "EXPORT_MIRROR_ENABLED" //镜像设备功能是否可用 ENV_EXPORT_DISCOVER_ENABLED = "EXPORT_DISCOVER_ENABLED" //driver-box默认UI是否可用 ENV_EXPORT_UI_ENABLED = "EXPORT_UI_ENABLED" //driver-box llm-agent是否可用 ENV_EXPORT_LLM_AGENT_ENABLED = "EXPORT_LLM_AGENT_ENABLED" //MCP功能是否可用 ENV_EXPORT_MCP_ENABLED = "EXPORT_MCP_ENABLED" //设备历史数据存放路径 EXPORT_HISTORY_DATA_PATH = "EXPORT_HISTORY_DATA_PATH" //设备历史数据保存时长,单位(天),默认值:14 EXPORT_HISTORY_RESERVED_DAYS = "EXPORT_HISTORY_RESERVED_DAYS" //剖面数据写入频率,默认值:60s EXPORT_HISTORY_SNAPSHOT_FLUSH_INTERVAL = "EXPORT_HISTORY_SNAPSHOT_FLUSH_INTERVAL" //实时数据写入频率,默认值:5s EXPORT_HISTORY_REAL_TIME_FLUSH_INTERVAL = "EXPORT_HISTORY_REAL_TIME_FLUSH_INTERVAL" )
环境变量配置项
Variables ¶
View Source
var ( //实时上报,读到数据即触发 ReportMode_Real ReportMode = "realTime" //变化上报,同影子中数值不一致时才触发上报 ReportMode_Change ReportMode = "change" //只读 ReadWrite_R ReadWrite = "R" //只写 ReadWrite_W ReadWrite = "W" //读写 ReadWrite_RW ReadWrite = "RW" //点位类型:整型 ValueType_Int ValueType = "int" //点位类型:浮点型 ValueType_Float ValueType = "float" //点位类型:字符串 ValueType_String ValueType = "string" )
View Source
var ResourcePath = "./res"
资源文件目录
Functions ¶
Types ¶
type Config ¶
type Config struct {
// 设备模型
DeviceModels []DeviceModel `json:"deviceModels" validate:""`
// 连接配置
Connections map[string]interface{} `json:"connections" validate:""`
// 协议名称(通过协议名称区分连接模式:客户端、服务端)
ProtocolName string `json:"protocolName" validate:"required"`
// 配置唯一key,一般对应目录名称
Key string `json:"-" validate:"-"`
// contains filtered or unexported fields
}
Config 配置
func (Config) GetModelIndexes ¶ added in v0.8.0
GetModelIndexes 获取模型索引
func (Config) UpdateIndexAndClean ¶ added in v0.8.0
UpdateIndexAndClean 更新索引并清理无效数据 1. 更新模型、设备索引 2. 移除无效连接
type Device ¶
type Device struct {
// 设备 ID
ID string `json:"id" validate:"required"`
// 模型名称
ModelName string `json:"-" validate:"-"`
// 设备描述
Description string `json:"description" validate:"required"`
// 设备离线阈值,超过该时长没有收到数据视为离线
Ttl string `json:"ttl"`
//设备标签
Tags []string `json:"tags"`
// 连接 Key
ConnectionKey string `json:"connectionKey" validate:"required"`
// 协议参数
Properties map[string]string `json:"properties" validate:"-"`
//设备层驱动的引用
DriverKey string `json:"driverKey"`
}
Device 设备
type DeviceBusinessProp ¶ added in v0.8.0
type DeviceBusinessProp struct {
// SN 设备 SN
SN string
// ParentID 父设备 ID
ParentID string
// SystemID 所属系统 ID
SystemID string
}
DeviceBusinessProp 设备业务属性
type DeviceModel ¶
type DeviceModel struct {
ModelBase
// 模型点位列表
DevicePoints []Point `json:"devicePoints" validate:"required"`
// 设备列表
Devices []Device `json:"devices" validate:"required"`
// contains filtered or unexported fields
}
DeviceModel 设备模型
func (DeviceModel) GetDeviceIndexes ¶ added in v0.8.0
func (dm DeviceModel) GetDeviceIndexes() map[string]int
GetDeviceIndexes 获取设备索引
func (DeviceModel) ToModel ¶ added in v1.3.0
func (dm DeviceModel) ToModel() Model
type Metadata ¶ added in v1.4.0
type Metadata struct {
// SerialNo 网关在云端定义的SN号,用于唯一标识网关设备
SerialNo string `json:"serialNo"`
//产品型号,标识网关的硬件型号和规格
//示例值:
// - "GW1000": 基础型号,支持基础协议和功能
// - "GW2000": 高级型号,支持所有协议和扩展功能
//注意:
// 1. 型号决定了网关支持的功能和性能参数
// 2. 不同型号可能有不同的固件版本要求
Model string `json:"model"`
//厂商名称,标识网关的生产厂商
//示例值: "Huawei", "ZTE", "Cisco"
//注意:
// 1. 厂商名称应与官方注册名称一致
// 2. 用于区分不同厂商的设备兼容性和支持服务
Vendor string `json:"vendor"`
// 网关硬件唯一编号
HardwareSN string `json:"hardwareSn"`
// 集成电路卡识别码,即 SIM 卡卡号
ICCID string `json:"iccid"`
//软件版本号,例如:"1.0.0"
SoftwareVersion string `json:"softwareVersion"`
}
网关元数据
type ModelBase ¶
type ModelBase struct {
// 模型名称
Name string `json:"name" validate:"required"`
// 云端模型 ID
ModelID string `json:"modelId" validate:"required"`
// 模型描述
Description string `json:"description" validate:"required"`
//扩展属性
Attributes map[string]interface{} `json:"attributes"`
}
ModelBase 模型基础信息
type Point ¶
type Point map[string]interface{} // 点位 Map,可转换为标准点位数据
func (Point) Decimals ¶ added in v0.8.0
Decimals 获取点位小数位数 返回点位数值保留的小数位数 对于浮点数类型,默认保留2位小数;对于其他类型,默认为0位小数
func (Point) Description ¶ added in v0.6.0
Description 获取点位描述信息 返回点位的详细描述文本,用于说明点位的用途和含义
func (Point) FieldValue ¶ added in v1.5.2
FieldValue 根据键名获取点位字段值 参数 key: 字段键名 返回值 v: 字段值, exists: 字段是否存在
func (Point) ReportMode ¶ added in v0.6.0
func (pm Point) ReportMode() ReportMode
ReportMode 获取点位上报模式 返回点位的数据上报模式,如实时上报、变化上报等 如果配置中未指定,则默认为实时上报模式
type ReadPointsAction ¶
Click to show internal directories.
Click to hide internal directories.