I.S.X

ISX通信

22期目標の結果(2021年01月)

すこし報告がおそくなってしまいましたが、22期の個人目標の結果を書きたいと思います。

私が立てた個人目標は

「ラズベリーパイを⽤いたアプリケーション開発」

と、大げさなタイトルを付けましたが、やりたかったことは子供の夏休みの自由課題に、

「RasPiを使って植物の発芽、開花の観察をやってみたい。」

というのがきっかけですが、 もう1つ大きな動機として、社会人になってからずっといままで電子デバイスを販売してきました。

なんとなくハードの開発のことを少しずつ理解でき始めたところですが、ソフトチームのリーダーから、

「ソフト開発のことも、もっと知ってほしい。」

と言われたのがずっと頭の片隅に引っ掛かっていました。

その中で22期の個人目標を求められたとき、種から芽が出る様子や花が咲く様子の写真を、連続撮影できるプログラムを作ることを考えました。

簡単に書けば

  1. Pythonでタイムラプス機能を使って写真を連続撮影できるプログラムを作る。
  2. cronを使って、このプログラムを指定した時間に実行するプログラムを作る。

と2つのプログラムを作って検証するだけなのですが簡単にはできませんでした。

そもそも、Raspiを動作させる環境を、いちから勉強しなくてはなりません。

この2つのプログラムの組み合わせで出来るか?何を用意すればよいのか?なにを勉強すればよいのかもわからない状態でスタートです。漠然とRasPiを使ってできるんだろう。そんなweb記事を読んだ記憶をたどりにスタートしました。

まずはwebで検索です。非常にたくさんの情報の中から、自分のやりたいことに近いことを探すところから始めました。

動作させる環境ができれば、とりあえず写真を撮って保存するところまでは比較的簡単にできました。

(撮影できるとそれなりに感動します。)

連続で撮影したり、撮影間隔を変えたり、撮影した日付や時間をファイル名にしたり、自分の指定した場所に保存したりと、1つずつのプログラムは意外と簡単に作れます。動作も問題なさそうです。

ですが、複数の事を同時に実行しようとするプログラムを作ると、エラーの連続でした。チュートリアルをみてもネットで探しても、結局答えは見つからず、

途中で何度もソフトチームのベテランエンジニアから

「時間外にいつでも手伝うよ」

と声をかけてもらったりしましたが、最低限の目標までは自分で解決したいと思い、何度かプログラムを書き直して、ようやく自分の考えた通りに、カメラをコントロールするところまではできました。

きっと設計チームから見れば、すごく簡単なことをやっているのだと思います。 でも、思った通り動作すると、それなりに達成感があるもので、少しだけですがプログラムのことがわかった気分です。サンプルの応用で考えたプログラムが動作すると、あれもこれもとやってみたいことが増えていきます。欲ばかりふえます。

その前に、 結局cronはうまくコントロールできず、決めた時間に自動でプログラムを実行させる機能を使って、動作させる機能は思い通りにはできませんでした。

そもそもこの仕組みで考えて正しかったのかどうかまだ疑問です。

でも、これは今期早い段階でクリアします。

そして、今度は全く違うことを1つやりたくなってしまいました。 また来年のこの時期に、もう一度報告したいと思います。

pagetop