 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicStationConcentrator ¶
type BasicStationConcentrator struct {
	MultiSF BasicStationConcentratorMultiSF `mapstructure:"multi_sf"`
	LoRaSTD BasicStationConcentratorLoRaSTD `mapstructure:"lora_std"`
	FSK     BasicStationConcentratorFSK     `mapstructure:"fsk"`
}
    BasicStationConcentrator holds the configuration for a BasicStation concentrator.
type BasicStationConcentratorFSK ¶
type BasicStationConcentratorFSK struct {
	Frequency uint32 `mapstructure:"frequency"`
}
    BasicStationConcentratorFSK holds the FSK config.
type BasicStationConcentratorLoRaSTD ¶
type BasicStationConcentratorLoRaSTD struct {
	Frequency       uint32 `mapstructure:"frequency"`
	Bandwidth       uint32 `mapstrcuture:"bandwidth"`
	SpreadingFactor uint32 `mapstructure:"spreading_factor"`
}
    BasicStationConcentratorLoRaSTD holds the LoRa STD config.
type BasicStationConcentratorMultiSF ¶
type BasicStationConcentratorMultiSF struct {
	Frequencies []uint32 `mapstructure:"frequencies"`
}
    BasicStationConcentratorMultiSF holds the multi-SF channels.
type Config ¶
type Config struct {
	General struct {
		LogLevel    int  `mapstructure:"log_level"`
		LogToSyslog bool `mapstructure:"log_to_syslog"`
	} `mapstructure:"general"`
	Filters struct {
		NetIDs   []string    `mapstructure:"net_ids"`
		JoinEUIs [][2]string `mapstructure:"join_euis"`
	} `mapstructure:"filters"`
	Backend struct {
		Type string `mapstructure:"type"`
		SemtechUDP struct {
			UDPBind      string `mapstructure:"udp_bind"`
			SkipCRCCheck bool   `mapstructure:"skip_crc_check"`
			FakeRxTime   bool   `mapstructure:"fake_rx_time"`
		} `mapstructure:"semtech_udp"`
		BasicStation struct {
			Bind             string                     `mapstructure:"bind"`
			TLSCert          string                     `mapstructure:"tls_cert"`
			TLSKey           string                     `mapstructure:"tls_key"`
			CACert           string                     `mapstructure:"ca_cert"`
			StatsInterval    time.Duration              `mapstructure:"stats_interval"`
			PingInterval     time.Duration              `mapstructure:"ping_interval"`
			TimesyncInterval time.Duration              `mapstructure:"timesync_interval"`
			ReadTimeout      time.Duration              `mapstructure:"read_timeout"`
			WriteTimeout     time.Duration              `mapstructure:"write_timeout"`
			Region           string                     `mapstructure:"region"`
			FrequencyMin     uint32                     `mapstructure:"frequency_min"`
			FrequencyMax     uint32                     `mapstructure:"frequency_max"`
			Concentrators    []BasicStationConcentrator `mapstructure:"concentrators"`
		} `mapstructure:"basic_station"`
		Concentratord struct {
			EventURL   string `mapstructure:"event_url"`
			CommandURL string `mapstructure:"command_url"`
		} `mapstructure:"concentratord"`
	} `mapstructure:"backend"`
	Integration struct {
		Marshaler string `mapstructure:"marshaler"`
		MQTT struct {
			EventTopicTemplate      string        `mapstructure:"event_topic_template"`
			CommandTopicTemplate    string        `mapstructure:"command_topic_template"`
			StateTopicTemplate      string        `mapstructure:"state_topic_template"`
			StateRetained           bool          `mapstructure:"state_retained"`
			KeepAlive               time.Duration `mapstructure:"keep_alive"`
			MaxReconnectInterval    time.Duration `mapstructure:"max_reconnect_interval"`
			TerminateOnConnectError bool          `mapstructure:"terminate_on_connect_error"`
			MaxTokenWait            time.Duration `mapstructure:"max_token_wait"`
			Auth struct {
				Type string `mapstructure:"type"`
				Generic struct {
					Server       string   `mapstructure:"server"`
					Servers      []string `mapstructure:"servers"`
					Username     string   `mapstructure:"username"`
					Password     string   `mapstrucure:"password"`
					CACert       string   `mapstructure:"ca_cert"`
					TLSCert      string   `mapstructure:"tls_cert"`
					TLSKey       string   `mapstructure:"tls_key"`
					QOS          uint8    `mapstructure:"qos"`
					CleanSession bool     `mapstructure:"clean_session"`
					ClientID     string   `mapstructure:"client_id"`
				} `mapstructure:"generic"`
				GCPCloudIoTCore struct {
					Server        string        `mapstructure:"server"`
					DeviceID      string        `mapstructure:"device_id"`
					ProjectID     string        `mapstructure:"project_id"`
					CloudRegion   string        `mapstructure:"cloud_region"`
					RegistryID    string        `mapstructure:"registry_id"`
					JWTExpiration time.Duration `mapstructure:"jwt_expiration"`
					JWTKeyFile    string        `mapstructure:"jwt_key_file"`
				} `mapstructure:"gcp_cloud_iot_core"`
				AzureIoTHub struct {
					DeviceConnectionString string        `mapstructure:"device_connection_string"`
					DeviceID               string        `mapstructure:"device_id"`
					Hostname               string        `mapstructure:"hostname"`
					DeviceKey              string        `mapstructure:"-"`
					SASTokenExpiration     time.Duration `mapstructure:"sas_token_expiration"`
					TLSCert                string        `mapstructure:"tls_cert"`
					TLSKey                 string        `mapstructure:"tls_key"`
				} `mapstructure:"azure_iot_hub"`
			} `mapstructure:"auth"`
		} `mapstructure:"mqtt"`
	} `mapstructure:"integration"`
	Metrics struct {
		Prometheus struct {
			EndpointEnabled bool   `mapstructure:"endpoint_enabled"`
			Bind            string `mapstructure:"bind"`
		} `mapstructure:"prometheus"`
	} `mapstructure:"metrics"`
	MetaData struct {
		Static  map[string]string `mapstructure:"static"`
		Dynamic struct {
			ExecutionInterval    time.Duration     `mapstructure:"execution_interval"`
			MaxExecutionDuration time.Duration     `mapstructure:"max_execution_duration"`
			SplitDelimiter       string            `mapstructure:"split_delimiter"`
			Commands             map[string]string `mapstructure:"commands"`
		} `mapstructure:"dynamic"`
	} `mapstructure:"meta_data"`
	Commands struct {
		Commands map[string]struct {
			MaxExecutionDuration time.Duration `mapstructure:"max_execution_duration"`
			Command              string        `mapstructure:"command"`
		} `mapstructure:"commands"`
	} `mapstructure:"commands"`
}
    Config defines the configuration structure.
var C Config
    C holds the global configuration.
 Click to show internal directories. 
   Click to hide internal directories.