あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

メダカメラ

メダカを飼育してるのにRaspberry Piと絡めないのネタとしてもったいなあと思っていたのですが、ようやくやり始めました。

用意したのはDS18B20温度センサーの防水タイプと、クソ長カメラリボンケーブル。どちらもケーブル長は約2mです。aliexpressで送料含めて600円くらい。Raspberry Pi本体は室内に置きつつ、ケーブルはエアコンのダクトを通して外に出して使うプランです。すでにBME280が外に出してあるので、それをやったときと同じ要領で作業しました。

f:id:Akkiesoft:20210516132416j:plain

パテで手をベトベトにしつつ配線した図。カメラは特にケースに入れたりしていないノーガード戦法ですが、申し訳程度にビニールテープを巻きました。ベランダは台風でもないと雨はそんなに入ってこないのでとりあえずこんなもんで。だめならなんか考えましょう。

f:id:Akkiesoft:20210516132544j:plain

室内側。Raspberry Piは空いている元展示機材の3A+を雑に割り当て。展示活動が再開したら……?買い足せばええ。リボンケーブルの余長はどうにかしたいところ。

f:id:Akkiesoft:20210516132826j:plain

で、配線してから思い出したのですが、温度センサーのケーブルの端が芯だけでている状態なので、ピンヘッダーが使えるよう加工が必要なのでした。計画性がない。仕方ないので、壁に向かってエアはんだ付けで対処。ユニバーサル基板にピンヘッダーと4.7Kオームをつけてケーブルを壁ではんだ付け。

f:id:Akkiesoft:20210516132951j:plain

カメラのストリーミング映像はpython3-picameraのストリーミング機能を使いました。というか、スクリプト自体過去に作ったものを流用しています。Webサーバーとして動くので、こいつにDS18B20のデータを取得・出力できるものを追加で実装してやりました。

あとは自宅のメインWebサーバーからリバースプロキシーで通してやって、HTMLとグラフライブラリをちょいちょいいじったら完成です。このへんも、最近やり始めたエアぴっぴの再開発(bootstrap5)の使いまわしがおおいです。

f:id:Akkiesoft:20210516133702j:plain

ストリーミングのMotion JPEGは任意のタイミングで保存するとその瞬間のJPED画像が取得できるので、メダカが見えたら保存してみるのも良いでしょう。

f:id:Akkiesoft:20210516134319j:plain

Motion JPEGがどのくらい同時アクセスに耐えられるのかイマイチわかってないですが、どうせ見に来る人もそういないでしょうしダメならダメで。

shrimp.marokun.net

思いつきで機能を付け足していくので、もし開いてぶっ壊れているときは、ぶっ壊れているかぶっ壊しています。