Raspberry Pi


54) Časosběr pomocí RasPi

 

Využil  jsem některých mých předchozích návodů a vytvořil jsem z Raspíčka a malé webkamery jednoduchý časosběrný automat.

Použil jsem tu nejlevnější webkameru, takže rozlišení je hodně špatné.
Taky se vyskytnul problém s automatickým přepínáním citlivosti, takže při prvním pokusu o snímání oblohy jsou při západu Slunce některé fotky výrazně jasnější, než by měly být. 


Odkaz na YouTube

 

Ke snímání jsem použil program fswebcam.
Instalace:

sudo apt-get install fswebcam

Podrobnější návod je tady: Webkamera

Pak jsem musel vytvořit RAMdisk, protože opakované zápisy do jednoho místa na SD kartě by tu kartu zničilo.
(návod)

Z RAM disku jsem pak fotky automaticky odesílal na Dropbox.
(návod)

Když jsem po několika hodinách všechny fotky z Dropboxu stáhnul, spojil jsem je programem MakeAVI do jednoho videa.

Samotný program pro automatické snímání v minutových intervalech vypadá takto:

#!/usr/bin/python
# -*- encoding: utf-8 -*-

import datetime          # operace s datumem a casem
import time              # operace s ruznymi pauzami
import os                # spousteni shell-ovskych prikazu

while True:
  
  # zjisteni aktualniho casu kvuli zaznamu do jmena souboru 
  aktualnicas = datetime.datetime.now()
  datum = aktualnicas.strftime("%Y%m%d_%H%M")
  
  # zaznamenani aktualni minuty pro pozdejsi synchronizaci snimani 
  lastmin = aktualnicas.strftime("%M")


  adresar = "/home/pi/ramdisk/"     # adresar, kam se bude ukladat fotka (RAMdisk)
  soubor= str(datum) + "_cam.png"   # jmeno souboru obsahuje datum a cas
  prikaz = "fswebcam --resolution 640x480 --png 1 " + adresar + soubor   # prikaz pro sejmuti fotky
  os.system (prikaz)                # sejmuti obrazku    
  time.sleep(25)
      
  program = "/home/pi/Dropbox-Uploader/dropbox_uploader.sh upload"  # Dropbox-Uploader
  zdroj   = adresar + soubor                                        # zdrojovy soubor (v RAMdisku)
  cil     = "cam/" + soubor                                         # cilovy soubor na Dropboxu
  prikaz  = program + " " + zdroj + " " + cil                       # slozeni jednotlivych casti prikazu
  os.system (prikaz)                                                # provedeni zalohy jedne fotky    

  # synchronizace snimani se provadi testem na zmenu hodnoty aktualni minuty
  aktualnicas = datetime.datetime.now()         # pauza do zacatku dalsi minuty
  minuty = aktualnicas.strftime("%M")
  while lastmin == minuty:
    aktualnicas = datetime.datetime.now()
    minuty = aktualnicas.strftime("%M")
    time.sleep(1)
    
  prikaz = "sudo rm " + adresar + soubor                         # smazani posledni fotky z RAMdisku
  os.system (prikaz)     

Je možné ho samozřejmě vylepšit o autostart, různé signalizace stavu, vypínání pomocí tlačítka....

 

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 20.7.2014