Jump to content
Geeks Nation Forums

danjperron

Members
  • Content Count

    2
  • Joined

  • Last visited

Everything posted by danjperron

  1. oui pour les vidéos time lapse j'utilise la caméra logitech c-920. C'est la seule webcam que j'ai qui fonctionne très bien. Les autres webcams ont de la difficulté avec le bug "USB" du RPi. ** update la nouvelle compilation du kernel, Linux raspberrypi 3.6.11+ #399 PREEMPT , règle le problème de mes autres caméras (ms vx-7000 et logitech c-260) . En mjpeg du moins. L'OS est le défaut debian (Raspbian). J'utilise mjpeg_streamer pour le stream vidéo. Sur crontab j'ai un script à chaque minute pour capturer une image avec "wget" et un script à minuit pour convertir les images en vidéo avec "avconv" (ce qui va remplacer ffmpeg). crontab -e * * * * * /usr/local/bin/Snapshot.py 0 0 * * * /usr/bin/python /usr/local/bin/DailyMovie.py Le script streamer1080p.sh killall mjpg_streamer /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -n -f 5 -r 1920x1080" -o "/usr/local/lib/output_http.so -p 10088 -w /usr/local/www" & Le script Snapshot.py #!/usr/bin/python import time import os import sys import re import subprocess import datetime now = datetime.datetime.now() # capture image SnapImage = "/var/www/chart/data/image.jpg" subprocess.call(["/usr/bin/wget","-O",SnapImage,"http://127.0.0.1:10088/?action=snapshot"]) #ajout du log de temperature f = open('/tmp/stamp.txt') first = f.readline() f.close() subprocess.call(["/usr/bin/convert","-background",'rgba(255,255,255,0.5)',"-gravity","center","-fill",'rgba(0,0,0,0.5)',"-size","1920",'label:'+first,SnapImage,"+swap","-gravity","Northwest","-composite",SnapImage]) # Nommer le fichier avec la date et l'heure StampImage = "PondImg_" + now.strftime("%Y_%m_%d_%H_%M_%S") + (".jpg") # transferer l'image to mycloud WD disk subprocess.call(["/usr/local/bin/FtpImage.sh",SnapImage,StampImage,"RpiUsername","password"]) et le script pour faire le vidéo #!/usr/bin/python import datetime import os import sys import subprocess import glob # =================== # Création d'un vidéo journalier image par image # de la caméra sur l'étang # Chaque image est entreposée sur le disque réseau WD # le disque réseau est monté en mode cifs # utilisation de ffmpeg (avconv) pour convertir les images # Creation d'un répertoire def mkdirp(directory): if not os.path.isdir(directory): os.makedirs(directory) # C'était quand hier yesterday = datetime.datetime.now() - datetime.timedelta(1) # since I transfer the jpg to an other computer/or drive # let's mount the device if it is not mounted # I'm using a cloud WD network drive so we will mount it subprocess.call(["/bin/mount","-t","cifs","-o","user=PiUser,pass=password","//10.11.12.4/Daniel/PiData","/mnt/wd"]) #Créons le répertoire pour les liens images en premier #les liens images vont convertir le nom des fichiers en nom numérique croissant. movieLink= "/var/www/chart/data/MovieLink" mkdirp(movieLink) #Effaçons tout lien résiduel. files = glob.glob(movieLink + "/*") for f in files: os.remove(f) #Création du masque de recherche mask= "/mnt/wd/Images/PondImg_"+ yesterday.strftime("%Y_%m_%d_") + "*.jpg" counter=1 # python link doesn't work! crossdevice not permitted # we will use /bin/ln -s # Mettons en ordre les images files = sorted(glob.glob(mask)) for file in files: destlink = movieLink + ("/img%04d.jpg" % (counter)) print "try to link: " + file + "with " + destlink subprocess.call(["/bin/ln","-s",file,destlink]) counter += 1 #et maintenant créons le vidéo mkdirp("/mnt/wd/DailyMovie") MovieFile = "/mnt/wd/DailyMovie/Pond_" + yesterday.strftime("%Y_%m_%d") + ".mp4" # subprocess.call(["/usr/bin/ffmpeg","-f","image2","-b","12000k","-r","10","-i","/var/www/chart/data/MovieLink/img%03d.jpg","-r","10", MovieFile]) subprocess.call(["/usr/bin/avconv","-f","image2","-r","30","-i","/var/www/chart/data/MovieLink/img%04d.jpg","-b","12000k","-r","30","-c:v","mpeg4","-s","1920x1080",MovieFile]) #vidéo fait! maintenant effaçons les liens filelink = glob.glob(movieLink + "/*") for f in filelink: os.remove(f) # Effaçons les images du disque réseau for file in files: os.remove(file); #Démontons le disque réseau subprocess.call(["/bin/umount","/mnt/wd"]) J'utilise image-magick pour incruster l'information des capteurs de température. Les 4 dernières secondes du vidéo de la tempête. Daniel
  2. Salut, en furetant sur http://rastrack.co.uk/, j'ai remarqué qu'il y avait plusieurs personnes au Québec qui en possède. Alors quel est l'utilité ou la fonction que vous utilisez avec votre raspberrypi? Cette hivers j'ai décidé de laisser mes poissons dans mon étang. Ayant reçu mon RPi un peut avant les grands froids, J'ai donc conçu un système de contrôle de la température utilisant le RPi et 5 capteurs ds1820b . Un élément de 300W pour aquarium complétait le système. Utilisant rddtool pour garder un historique et HighCharts pour afficher graphiquement. Et pour garder un oeil sur mes poissons, une caméra web avec mjpeg_streamer. voici quelque photos du système sur dropbox. Les boiters contenant l'électronique Le système à l'extérieur sur l'étang La page web avec les données de température. L'historique en graphique Comme de raison avec un webcam j'ai décidé de faire des vidéos en image par image. Une image par minute. Et voici les vidéos en 1080P Le couché du soleil La glace qui se forme lorsqu'il fait -18 celsius La tempête de la semaine dernière Avec un autre raspberrypi , J'ai construit un véhicule robot jouet dont voici le vidéo. Véhicule jouet en action Alors que faîtes-vous avec votre raspberrypi? Daniel
×
×
  • Create New...