{"id":4,"date":"2018-04-16T15:04:22","date_gmt":"2018-04-16T13:04:22","guid":{"rendered":"http:\/\/miniprojets.net\/?p=4"},"modified":"2018-04-16T20:31:50","modified_gmt":"2018-04-16T18:31:50","slug":"faire-un-timelapse-avec-une-raspberry-pi","status":"publish","type":"post","link":"https:\/\/miniprojets.net\/index.php\/2018\/04\/16\/faire-un-timelapse-avec-une-raspberry-pi\/","title":{"rendered":"Faire un timelapse avec une Raspberry Pi"},"content":{"rendered":"<p>Bonjour \u00e0 tous,<\/p>\n<p>Pour mon premier article, je voulais commencer par quelque chose de simple et facile \u00e0 mettre en place.<\/p>\n<p>Actuellement, je travaille avec un groupe d&#8217;\u00e9tudiants \u00e0 la cr\u00e9ation d&#8217;une serre aquaponique.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5 size-large\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0456-e1523870502192-576x1024.jpg\" alt=\"\" width=\"525\" height=\"933\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0456-e1523870502192-576x1024.jpg 576w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0456-e1523870502192-169x300.jpg 169w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0456-e1523870502192-768x1366.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>En attendant que la serre soit enti\u00e8rement pr\u00eate pour accueillir les plantes et les poissons, nous avons d\u00e9cid\u00e9 de faire un timelapse des semis en train de grandir.<\/p>\n<p>Pour des raisons de co\u00fbts et de simplicit\u00e9, nous nous sommes dirig\u00e9s vers une raspberry pi ainsi que son module cam\u00e9ra.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8 size-large\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0625-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0625-1024x576.jpg 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0625-300x169.jpg 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/DSC_0625-768x432.jpg 768w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Maintenant passons \u00e0 la partie codage:<\/p>\n<p>Dans un premier temps, on active gr\u00e2ce \u00e0 la commande suivante les \u00e9l\u00e9ments qui nous int\u00e9ressent.<\/p>\n<pre class=\"lang:c decode:true\">sudo raspi-config<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">5. Interfacing options\r\n\r\n-&gt; P1 Camera (afin d'autoriser l'acc\u00e8s au module camera)\r\n\r\n-&gt; P2 SSH (afin de pouvoir travailler \u00e0 distance en ligne de commande)\r\n\r\n-&gt; P3 VNC (afin de pouvoir voir \u00e0 distance les photos prises)<\/pre>\n<p>Pour le SSH, j&#8217;utilise Putty. Pour la partie VNC, j&#8217;utilise VNC Viewer. Pour la capture de photo, j&#8217;utilise sur la raspberry la commande Rapistill<\/p>\n<p>Une fois reconnect\u00e9 en SSH,\u00a0 on cr\u00e9e un dossier :<\/p>\n<pre class=\"lang:default decode:true\">sudo mkdir \/home\/pi\/greenhousetimelapse<\/pre>\n<p>On va dans le dossier:<\/p>\n<pre class=\"lang:default decode:true\">cd \/home\/pi\/greenhousetimelapse<\/pre>\n<p>On teste que la camera fonctionne bien gr\u00e2ce \u00e0 la commande:<\/p>\n<pre class=\"lang:default decode:true\">raspistill -w 1280 -h 1024 -o image001.jpg<\/pre>\n<p>Cela doit cr\u00e9er un fichier image001.jpg dans le dossier.<\/p>\n<p>L&#8217;\u00e9tape suivante consiste \u00e0 cr\u00e9er un script bash pour faire une photo et la dater.<\/p>\n<pre class=\"lang:default decode:true\">cd \/home\/pi\/bin<\/pre>\n<pre class=\"lang:default decode:true\">sudo nano greenhousetimelapse.bash<\/pre>\n<p>On \u00e9crit dans le fichier les lignes suivantes:<\/p>\n<pre class=\"lang:default decode:true\">#!\/bin\/bash\r\noutput_dir=\/home\/pi\/greenhousetimelapse\r\nheure=$(date +%H%M)\r\njour=$(date +%Y%m%d'_')\r\n\r\nraspistill -w 1280 -h 720 -o $output_dir\/Image_$jour$heure.jpg<\/pre>\n<p>Puis on fait un ctrl-o, ctrl-x pour sauvegarder.<\/p>\n<p>Puis donner les bons droits de lecture\/\u00e9criture sur le fichier:<\/p>\n<pre class=\"lang:default decode:true\">sudo chmod 744 \/home\/pi\/bin\/greenhousetimelapse.bash<\/pre>\n<p>Vous pouvez faire un test du script avec la commande suivante:<\/p>\n<pre class=\"lang:default decode:true\">. \/home\/pi\/bin\/greenhousetimelapse.bash<\/pre>\n<p>Normalement une photo nomm\u00e9e de la fa\u00e7on suivante Image_20180416_1300.jpg doit se trouver dans le dossier \/home\/pi\/greenhousetimelapse<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12 size-large\" src=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/Image_20180315_1313-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/Image_20180315_1313-1024x576.jpg 1024w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/Image_20180315_1313-300x169.jpg 300w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/Image_20180315_1313-768x432.jpg 768w, https:\/\/miniprojets.net\/wp-content\/uploads\/2018\/04\/Image_20180315_1313.jpg 1280w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Une fois le fichier cr\u00e9\u00e9 et test\u00e9, on va faire en sorte qu&#8217;il soit lanc\u00e9 tous les X temps. Pour moi, je prends une photo toutes les 30 minutes.<\/p>\n<p>Pour cela, on ex\u00e9cute la commande:<\/p>\n<pre class=\"lang:default decode:true\">sudo crontab -e<\/pre>\n<p>Si jamais on vous demande de choisir un \u00e9diteur, choisissez la solution 2 comme l&#8217;exemple ci-apr\u00e8s<\/p>\n<pre class=\"lang:default decode:true\">no crontab for root - using an empty one\r\nSelect an editor.  To change later, run 'select-editor'.\r\n1. \/bin\/ed\r\n2. \/bin\/nano        &lt;---- easiest\r\n3. \/usr\/bin\/vim.tiny\r\nChoose 1-3 [2]: 2\r\ncrontab: installing new crontab<\/pre>\n<p>Lorsque cela est ok, rajoutez la ligne suivante \u00e0 la fin du fichier:<\/p>\n<pre class=\"lang:default decode:true\">*\/30 * * * * . \/home\/pi\/bin\/greenhousetimelapse.bash<\/pre>\n<p>Pour calibrer cette ligne, je vous renvoie vers un site plut\u00f4t bien fait.<\/p>\n<p><a href=\"https:\/\/crontab-generator.org\/\">https:\/\/crontab-generator.org\/<\/a><\/p>\n<p>Pour ma part, je fais un reboot pour v\u00e9rifier que tout fonctionne correctement.<\/p>\n<pre class=\"lang:default decode:true\">sudo reboot<\/pre>\n<p>Voil\u00e0!!! Maintenant vous savez enregistrer une photo via la cam\u00e9ra, vous savez programmer une t\u00e2che pour qu&#8217;elle s&#8217;ex\u00e9cute tous les X temps!<\/p>\n<p>Pour r\u00e9cup\u00e9rer les photos dans le dossier, j&#8217;utilise VNC Viewer pour faire le transfert.<\/p>\n<p>Je mettrai prochainement la vid\u00e9o du r\u00e9sultat final.<\/p>\n<p>J&#8217;esp\u00e8re que cet article vous aura aid\u00e9. N&#8217;h\u00e9sitez pas \u00e0 me faire part des modifications que je dois apporter pour \u00eatre plus clair.<\/p>\n<p>@Bient\u00f4t<\/p>\n<p>Ferrader<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour \u00e0 tous, Pour mon premier article, je voulais commencer par quelque chose de simple et facile \u00e0 mettre en&hellip;<\/p>\n","protected":false},"author":1,"featured_media":8,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-4","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-mini-projet","post_format-post-format-image"],"_links":{"self":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/4","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/comments?post=4"}],"version-history":[{"count":0,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/posts\/4\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media\/8"}],"wp:attachment":[{"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/media?parent=4"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/categories?post=4"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miniprojets.net\/index.php\/wp-json\/wp\/v2\/tags?post=4"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}