Documentation ¶
Index ¶
- type Config
- func (cfg *Config) GetInfluxDB() api.WriteAPIBlocking
- func (cfg *Config) HaltPins()
- func (cfg *Config) HaltThermocouples()
- func (cfg *Config) HaltWaterSensors()
- func (cfg *Config) InitPins()
- func (cfg *Config) InitSensors()
- func (cfg *Config) InitThermocouples() error
- func (cfg *Config) InitWaterSensors() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Metadata NodeName string `env:"NODE_NAME" envDefault:"bedroom"` LogLevelStr string `env:"LOG_LEVEL" envDefault:"debug"` LogLevel log.Level Logger *log.Logger WakeupDuration time.Duration `env:"WAKEUP_DURATION" envDefault:"30m"` // InfluxDB InfluxHost string `env:"INFLUX_HOST"` InfluxToken string `env:"INFLUXDB_TOKEN"` InfluxOrg string `env:"INFLUXDB_ORG"` InfluxBucket string `env:"INFLUXDB_BUCKET"` InfluxBufferSize int `env:"INFLUXDB_BUFFER_LEN"` // RF Remote Control RadioWaitTimeout time.Duration `env:"RF_WAIT_TIMEOUT" envDefault:"1s"` RadioLatchResetPin string `env:"RF_LATCH_RESET_PIN" envDefault:"GPIO17"` RadioChannelAPin string `env:"RF_CHANNEL_A_PIN" envDefault:"GPIO23"` RadioChannelBPin string `env:"RF_CHANNEL_B_PIN" envDefault:"GPIO25"` RadioChannelCPin string `env:"RF_CHANNEL_C_PIN" envDefault:"GPIO8"` RadioChannelDPin string `env:"RF_CHANNEL_D_PIN" envDefault:"GPIO24"` // Sensors PollInterval time.Duration `env:"POLL_INTERVAL" envDefault:"5s"` AM2302Enabled bool `env:"AM2302_ENABLED" envDefault:"false"` AM2302PinName string `env:"AM2302" envDefault:"GPIO16"` AM2302Sensor *dht.DHT SDS011Enabled bool `env:"SDS011_ENABLED" envDefault:"false"` SDS011Txd string `env:"SDS011_TXD" envDefault:"GPIO14"` SDS011Rxd string `env:"SDS011_RXD" envDefault:"GPIO15"` SDSSerialPath string `env:"SDS_SERIAL_PATH" envDefault:"/dev/ttyAMA0"` SDSSensor *sds011.Sensor // Thermocouple Thermocouple1Enabled bool `env:"THERMO1_ENABLED" envDefault:"false"` Thermocouple1Bus string `env:"THERMO1_BUS" envDefault:"/dev/spidev0.1"` Thermocouple1CLKPin string `env:"THERMO1_CLK" envDefault:"GPIO0"` Thermocouple1CSPin string `env:"THERMO1_CS" envDefault:"GPIO5"` Thermocouple1MISOPin string `env:"THERMO1_MISO" envDefault:"GPIO0"` Thermocouple1 *max31855.Dev // Water Sensors WaterSensor1Enabled bool `env:"WATER1_ENABLED" envDefault:"false"` WaterSensor1Pin string `env:"WATER1_PIN" envDefault:"GPIO0"` WaterSensor1 gpio.PinIn WaterSensor2Enabled bool `env:"WATER2_ENABLED" envDefault:"false"` WaterSensor2Pin string `env:"WATER2_PIN" envDefault:"GPIO5"` WaterSensor2 gpio.PinIn // LED Light Strip LedStripEnabled bool `env:"LED_STRIP_ENABLED" envDefault:"true"` LedControlRed string `env:"LED_CTRL_RED" envDefault:"GPIO2"` LedControlRedPin gpio.PinOut LedControlGreen string `env:"LED_CTRL_GREEN" envDefault:"GPIO3"` LedControlGreenPin gpio.PinOut LedControlWhite string `env:"LED_CTRL_WHITE" envDefault:"GPIO4"` LedControlWhitePin gpio.PinOut LedControlBlue string `env:"LED_CTRL_BLUE" envDefault:"GPIO18"` LedControlBluePin gpio.PinOut // Control Panels ControlPanelsAdcClk int `env:"ADC1_CLK" envDefault:"5"` // Pin 29 / GPIO5 //ControlPanelsAdcClkPin gpio.PinIO ControlPanelsAdcCsz int `env:"ADC1_CSZ" envDefault:"21"` // Pin 40 / GPIO21 //ControlPanelsAdcCszPin gpio.PinIO ControlPanelsAdcDin int `env:"ADC1_DI" envDefault:"20"` // Pin 38 / GPIO20 //ControlPanelsAdcDinPin gpio.PinIO ControlPanelsAdcDout int `env:"ADC1_DO" envDefault:"19"` // Pin 35 / GPIO19 //ControlPanelsAdcDoutPin gpio.PinIO GPIOChip *gpiod.Chip ControlPanelsAdc *mcp3w0c.MCP3w0c Panel1Enabled bool `env:"PANEL1_ENABLED" envDefault:"false"` Panel1DimmerChannel int `env:"PANEL1_DIMMER_CHANNEL" envDefault:"0"` Panel1Pager string `env:"PANEL1_PAGER" envDefault:"GPIO8"` Panel1PagerPin gpio.PinIn Panel1LightSwitch string `env:"PANEL1_LIGHTS" envDefault:"GPIO25"` Panel1LightSwitchPin gpio.PinIn Panel1LED string `env:"PANEL1_LED" envDefault:"GPIO26"` Panel1LEDPin gpio.PinOut Panel1Speaker string `env:"PANEL1_SPEAKER" envDefault:"GPIO12"` Panel1SpeakerPin gpio.PinOut Panel1Reset string `env:"PANEL1_RESET" envDefault:"GPIO7"` Panel1ResetPin gpio.PinOut Panel2Enabled bool `env:"PANEL2_ENABLED" envDefault:"false"` Panel2DimmerChannel int `env:"PANEL2_DIMMER_CHANNEL" envDefault:"1"` Panel2Pager string `env:"PANEL2_PAGER" envDefault:"GPIO9"` Panel2PagerPin gpio.PinIn Panel2LightSwitch string `env:"PANEL2_LIGHTS" envDefault:"GPIO11"` Panel2LightSwitchPin gpio.PinIn Panel2LED string `env:"PANEL2_LED" envDefault:"GPIO6"` Panel2LEDPin gpio.PinOut Panel2Speaker string `env:"PANEL2_SPEAKER" envDefault:"GPIO13"` Panel2SpeakerPin gpio.PinOut Panel2Reset string `env:"PANEL2_RESET" envDefault:"GPIO10"` Panel2ResetPin gpio.PinOut // contains filtered or unexported fields }
func (*Config) GetInfluxDB ¶
func (cfg *Config) GetInfluxDB() api.WriteAPIBlocking
func (*Config) HaltPins ¶
func (cfg *Config) HaltPins()
HaltPins will call pin.Halt on all pins used for PWM output. This function must be called before the program exits, or else the Raspberry Pi must be reset before PWM can be used again.
func (*Config) HaltThermocouples ¶
func (cfg *Config) HaltThermocouples()
func (*Config) HaltWaterSensors ¶
func (cfg *Config) HaltWaterSensors()
func (*Config) InitSensors ¶
func (cfg *Config) InitSensors()
func (*Config) InitThermocouples ¶
func (*Config) InitWaterSensors ¶
Click to show internal directories.
Click to hide internal directories.