camera

package
v0.0.0-...-bb4fd4e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2021 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseClassifier

func CloseClassifier()

func LoadClassifier

func LoadClassifier() (err error)

Types

type Camera

type Camera struct {
	ID           string        `json:"id"`
	Url          string        `json:"url"`
	Title        string        `json:"title"`
	Active       bool          `json:"active"`
	Interval     time.Duration `json:"interval"`
	ServoIndeces []uint        `json:"servoIndeces"`
	Streamer     Streamer      `json:"streamer"`

	Forms  forms.Forms    `json:"-"`
	Servos []*servo.Servo `json:"-"`
	// contains filtered or unexported fields
}

func (*Camera) Apply

func (cam *Camera) Apply(w http.ResponseWriter, r *http.Request) (err error)

func (*Camera) Get

func (cam *Camera) Get(id string) (val string, err error)

func (*Camera) PanTilt

func (cam *Camera) PanTilt(w http.ResponseWriter, r *http.Request)

func (*Camera) ServoControls

func (cam *Camera) ServoControls(nSteps int) (ctls []*ServoControl)

func (*Camera) Set

func (cam *Camera) Set(id string, val string) (err error)

func (*Camera) Setup

func (cam *Camera) Setup(router *mux.Router, servos *servo.Connector)

func (*Camera) Start

func (cam *Camera) Start()

func (*Camera) Stop

func (cam *Camera) Stop()

type Cameras

type Cameras map[string]*Camera

type Connector

type Connector struct {
	Cameras Cameras
	// contains filtered or unexported fields
}

func NewConnector

func NewConnector(dataSource string, layout *template.Template,
	interval time.Duration) (conn *Connector)

func (*Connector) Load

func (conn *Connector) Load(dataSource string) (err error)

func (*Connector) Save

func (conn *Connector) Save(dataSource string) (err error)

func (*Connector) Start

func (conn *Connector) Start(router *mux.Router,
	servoController string,
	urls ...string)

func (*Connector) Stop

func (conn *Connector) Stop()

type EspCam

type EspCam struct {
	Settings   EspProperties `json:"settings"`
	ControlUrl string        `json:"controlUrl"`
	StreamUrl  string        `json:"streamUrl"`
	StatusUrl  string        `json:"statusUrl"`
	CaptureUrl string        `json:"captureUrl"`
	// contains filtered or unexported fields
}

func (*EspCam) BindProperties

func (ncam *EspCam) BindProperties() (f forms.Forms)

func (*EspCam) Close

func (ncam *EspCam) Close() (err error)

func (*EspCam) Open

func (ncam *EspCam) Open() (err error)

func (*EspCam) Read

func (ncam *EspCam) Read(buf *bytes.Buffer) (err error)

func (*EspCam) SetProperty

func (ncam *EspCam) SetProperty(ent *forms.Entry, val string) (err error)

func (*EspCam) UpdateProperties

func (ncam *EspCam) UpdateProperties() (err error)

type EspProperties

type EspProperties struct {
	Framesize     uint8 `json:"framesize"`  //0 - 10
	Quality       uint8 `json:"quality"`    //0 - 63
	Brightness    int8  `json:"brightness"` //-2 - 2
	Contrast      int8  `json:"contrast"`   //-2 - 2
	Saturation    int8  `json:"saturation"` //-2 - 2
	Sharpness     int8  `json:"sharpness"`  //-2 - 2
	Denoise       uint8 `json:"denoise"`
	SpecialEffect uint8 `json:"special_effect"` //0 - 6
	WbMode        uint8 `json:"wb_mode"`        //0 - 4
	Awb           uint8 `json:"awb"`
	AwbGain       uint8 `json:"awb_gain"`
	Aec           uint8 `json:"aec"`
	Aec2          uint8 `json:"aec2"`
	AeLevel       int8  `json:"ae_level"`  //-2 - 2
	AecValue      int16 `json:"aec_value"` //0 - 1200
	Agc           uint8 `json:"agc"`
	AgcGain       uint8 `json:"agc_gain"`    //0 - 30
	GainCeiling   uint8 `json:"gainceiling"` //0 - 6
	Bpc           uint8 `json:"bpc"`
	Wpc           uint8 `json:"wpc"`
	RawGma        uint8 `json:"raw_gma"`
	Lenc          uint8 `json:"lenc"`
	Hmirror       uint8 `json:"hmirror"`
	Vflip         uint8 `json:"vflip"`
	Dcw           uint8 `json:"dcw"`
	Colorbar      uint8 `json:"colorbar"`
}

type Framesize

type Framesize uint8
const (
	FRAMESIZE_96X96   Framesize = iota // 96x96
	FRAMESIZE_QQVGA                    //160x120
	FRAMESIZE_QCIF                     //176x144
	FRAMESIZE_HQVGA                    //240x176
	FRAMESIZE_240X240                  //240x240
	FRAMESIZE_QVGA                     //320x240
	FRAMESIZE_CIF                      //400x296
	FRAMESIZE_HVGA                     //480x320
	FRAMESIZE_VGA                      //640x480
	FRAMESIZE_SVGA                     //800x600
	FRAMESIZE_XGA                      //1024x768
	FRAMESIZE_HD                       //1280x720
	FRAMESIZE_SXGA                     //1280x1024
	FRAMESIZE_UXGA                     //1600x1200
	// 3MP Sensors
	FRAMESIZE_FHD   //1920x1080
	FRAMESIZE_P_HD  // 720x1280
	FRAMESIZE_P_3MP // 864x1536
	FRAMESIZE_QXGA  //2048x1536
	// 5MP Sensors
	FRAMESIZE_QHD   //2560x1440
	FRAMESIZE_WQXGA //2560x1600
	FRAMESIZE_P_FHD //1080x1920
	FRAMESIZE_QSXGA //2560x1920
	FRAMESIZE_INVALID
)

func (Framesize) String

func (fr Framesize) String() string

type LocalCam

type LocalCam struct {
	Settings  LocalSettings `json:"settings"`
	StreamUrl string        `json:"streamUrl"`
	Stream    *mjpeg.Stream `json:"-"`
	// contains filtered or unexported fields
}

func (*LocalCam) BindProperties

func (lcam *LocalCam) BindProperties() (f forms.Forms)

func (*LocalCam) Close

func (lcam *LocalCam) Close() (err error)

func (*LocalCam) Open

func (lcam *LocalCam) Open() (err error)

func (*LocalCam) Read

func (lcam *LocalCam) Read(buf *bytes.Buffer) (err error)

func (*LocalCam) SetProperty

func (lcam *LocalCam) SetProperty(ent *forms.Entry, val string) (err error)

func (*LocalCam) UpdateProperties

func (lcam *LocalCam) UpdateProperties() (err error)

type LocalSettings

type LocalSettings struct {
	FrameWidth   float64 `json:"frameWidth"`
	FrameHeight  float64 `json:"frameHeight"`
	FrameRate    float64 `json:"framerate"`
	Format       float64 `json:"format"`
	Mode         float64 `json:"mode"`
	Brightness   float64 `json:"brightness"`
	Contrast     float64 `json:"contrast"`
	Saturation   float64 `json:"saturation"`
	Hue          float64 `json:"hue"`
	Gain         float64 `json:"gain"`
	Monochrome   float64 `json:"monochrome"`
	Sharpness    float64 `json:"sharpness"`
	AutoExposure float64 `json:"autoExposure"`
	Gamma        float64 `json:"gamma"`
	Temperature  float64 `json:"temperature"`
}

type Profile

type Profile struct {
	ID    string
	Url   string
	Title string
	// contains filtered or unexported fields
}

type ServoControl

type ServoControl struct {
	Icon     string
	Speed    uint
	PanID    string
	PanStep  int
	TiltID   string
	TiltStep int
}

type Streamer

type Streamer interface {
	// Get(id string) (string, error)
	// Set(id, val string) error
	BindProperties() forms.Forms
	UpdateProperties() error
	SetProperty(ent *forms.Entry, val string) error

	Open() error
	Read(*bytes.Buffer) error
	Close() error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL