Raspberry PIで豆を育て、TimeLapseビデオを撮影する方法

紳士の皆さん、ご挨拶!





かつて、学校の子供は、それが何で成長し、植物が豆からどのように成長するかを見るために豆を育てるように頼まれました。

私はすぐに、 TimeLapseビデオを作成し、 そこで成長する方法を思いつきました。

しかし、これを行う方法は、既存のカメラはそれ自体がろくでなしを制御することを許可していません。

好奇心の強い猫の存在-状況を悪化させた...

友人からの贈り物であるラズベリーPIは、クローゼットの中にほこりを集めていました。

投稿にはRocketの科学はなく、タスクの説明、それを解決する方法、最終結果のみが記載されています。




タスクの実際の説明



  1. 豆の成長方法を脱ぐ必要があります
  2. 窓ですべての実験を行う-植物には太陽が必要
  3. 猫は好奇心が強い獣であり、彼女はすべてを台無しにする可能性があります
  4. これがどれくらい続くかはあまり明確ではありません
  5. これは明らかに1回限りの作業です




写真が収まりません。LogitechC200ウェブカメラはzahashnikで見つかりました。猫から保護するために、窓の上に棚を作ることにしました(外に出せないように)。

据え置き型のコンピューターもきちんと減衰します。1つの部屋に落ちてしまうのはあまり快適ではありません。



フィリアス・フォッグと彼の引用の一つを思い出してください

あなたの脇の下のものを使用し、他のものを探しません。 (エピソード16、「ニューオーリンズ」)




そして、私はラズベリーパイを持っていることを覚えています;)

大型コンピューターの代わりに使用できます!

これは完全なLinuxコンプです!



ここに私たちのヒーローがいます





これはPIにとって非常に便利なため、メディアプレーヤー(raspbnc)でなくなり、Linux(raspbian)になります。

SDカードを交換するだけです(これで十分ですが、目は2ギガ)



つまり サイトからの指示に従って、私たちはカードラズバンを置いて、テレビに接続し、構成可能(グラフィックスなし)

テレビから切断し、sshを介して他のすべてのアクションを実行し、



このすべてが機能する時間は不明であるため、すべてが不良であると想定し、外部フラッシュドライブに書き込みます。



棚にインターネットはありません!、適切なwifiカードもありません。

まあ、それは自律的に立ってみましょう、時にはUSBフラッシュドライブを引き出して何が起こったのか見てみましょう。

つまり 事前にすべてを構成し、このことを可能な限り自律的にする必要があります



次に、ウェブカメラからスクリーンショットを撮ることができるパッケージを探しています

fswebcamを見つけて、リポジトリから配置し、チェックして、動作します!



次に、1分に1回クラウンから始まるスクリプトを作成します。

クラウンdo.shから取得するスクリプト
#!/bin/sh path='/mnt' killall blink1.sh >/dev/null sudo sh -c 'echo 1 >/sys/class/leds/led0/brightness' if [ -c /dev/video0 ] then fswebcam -q -c /home/pi/plant/config.cfg --flip v $path/plant/`date +%Y%m%d-%H%M%S.jpg` fi sudo sh -c 'echo 0 >/sys/class/leds/led0/brightness' /home/pi/plant/blink1.sh & sync
      
      







blink1.shを点滅させるスクリプト
 #!/bin/sh sudo sh -c 'echo none >/sys/class/leds/led0/trigger' n=1 while test $n -le 30 do sudo sh -c 'echo 1 >/sys/class/leds/led0/brightness' sleep 0.5 sudo sh -c 'echo 0 >/sys/class/leds/led0/brightness' sleep 0.5 n=$(($n + 1)) done n=1 while test $n -le 15 do sudo sh -c 'echo 1 >/sys/class/leds/led0/brightness' sleep 0.25 sudo sh -c 'echo 0 >/sys/class/leds/led0/brightness' sleep 0.25 sudo sh -c 'echo 1 >/sys/class/leds/led0/brightness' sleep 0.25 sudo sh -c 'echo 0 >/sys/class/leds/led0/brightness' sleep 0.25 n=$(($n + 1)) done
      
      









実際、メインスクリプトは電球をユーザーコントロールモードに切り替えます(デフォルトでは、USBフラッシュドライブにアクセスすると点滅し、インジケーターとして使用します)

それから彼は私たちの植物の写真を撮ります

次に、電球を点滅させるスクリプトを呼び出します



スクリプト-ユーザーの利便性のためにフラッシャーをきれいにする

毎秒1回の頻度で30秒

毎秒2回の頻度で15秒

そして、外に出ます

このスクリプトは60秒未満で動作することが保証されており、1分ごとにメインスクリプトから再起動されます。



インジケーターは、PIが現在どの状態にあるかを示します(そして最終的に、USBフラッシュドライブを一時的に拡張できます)



小さなものが残った

棚はカルカソンヌのゲームの無駄から作られました(穴の開いた段ボールのシートがありました)

粘着テープを使用して、作業に十分な強度を持つ棚に組み立てました

その上にオブジェクトが立つ場所とカメラをマウントする場所が構築されました!



必要な長さのロープが糸から作られ、これはすべて窓に掛けられていました!



それはすべて見える







ここに「対象テーブル」があります







それはすべて数日間放置され、夜にライトが点灯しました...



最終処理





プロセスの最後に、たくさんの写真が入ったフォルダを受け取りました。

選択範囲



ffmpegマジック(現在はavconvとして知られています)を適用します



 avconv -f image2 -r 30 -i src/f%04d.jpg -c:v libx264 -r 30 out2.mp4
      
      







この魔法のスクリプトは、srcフォルダーからf0001.jpg以上の名前のファイルを取得し、1秒あたり30フレームの頻度で.mp4ファイルを作成します。

ファイルの名前をYYYYMMDD-HHMM.jpgから単純なスクリプトを使用してfNNNNN.jpgに変更します。ここではあまり面白くありません。



まあ、最後に、それが起こったのです









困難と結論





最初は考えていなかったこと、



奇妙な理由で、PIウェブカメラは640x480フレーム、320x200だけを撮影したくありませんでした。

点滅するLEDがなければ、それが機能するかどうか明確ではありませんでした!

仕事の指標を行うことを強くお勧めします

プラントが最終的にフレームから外れた場合、問題を事前に調査し、適切な機器を作成する必要があります

太陽は非常に明るく、カメラはくさび形です;)



良いためには、通常のカメラを撮る必要があるでしょう

適切な連続照明

芽を右に置きます

正しくマウント(音楽を追加)



しかし、起こったことは非常に有益です!

成長は夜になる



Raspberry PIは、家庭のおもちゃに非常に便利です!



エラーについては、午後から始めてください!

ppsが質問します!



All Articles