'keep': {'type': 'integer'},
'path': {'type': 'string'},
'resolution': {'type': 'string'},
+ 'resize': {'type': 'string'},
'iso': {'type': 'integer'}},
'required': ['pause', 'keep', 'path']}
"""Register plugin as bus client."""
self._images = collections.deque()
self._capture = False
+ self._resolution = '1280x720'
+ if 'resolution' in self.conf:
+ self._resolution = self.conf['resolution']
+ self._resize = '640x480'
+ if 'resize' in self.conf:
+ self._resize = self.conf['resize']
+ self._iso = 200
+ if 'iso' in self.conf:
+ self._iso = self.conf['iso']
sends = [MessageTemplate({'event': {'const': 'new image'},
'image': {'type': 'string'}}),
MessageTemplate({'image': {'type': 'string'}})]
"""Run camera."""
camera = picamera.PiCamera()
stream = io.BytesIO()
- camera.resolution = '1024x768'
- if 'resolution' in self.conf:
- camera.resolution = self.conf['resolution']
- camera.iso = 100
- if 'iso' in self.conf:
- camera.iso = self.conf['iso']
+ camera.resolution = self._resolution
+ camera.iso = self._iso
try:
while True:
if self._capture:
filepath = os.path.join(self.conf['path'],
filename)
await aiofiles.os.remove(filepath)
- camera.capture(stream, 'jpeg')
+ camera.capture(stream, 'jpeg', resize=self._resize)
filename = (datetime.datetime.utcnow()
.strftime('%Y%m%d%H%M%S%f') + '.jpg')
filepath = os.path.join(self.conf['path'], filename)