水槽温度をスマホで監視してみた | teri のプレコブログ

teri のプレコブログ

teri です。
気長にプレコブリーダー目指して勉強中です。
キンペコ、クインペ好きです!
情報収集して書き込んでいきます!

アクアリウム IoTの第1弾です。



今回は手はじめに水槽の温度監視をしてみましたので、やり方をメモしておきます_φ( ̄ー ̄ )


先日ヒーター故障でえらいことになりかけたので…。



最初に言っておきますが、気持ちがのった時に勉強して作りますので、このカテゴリの更新はすごく不定期です(*´ω`*)

あと、わたし電子工作、プログラミング共に、全くのシロウトです。







まずは仕上がり。
スマホで温度監視することができました。

{004661F5-8339-4D81-91AE-50663F923E5B}

何気に水量の少ない水槽ですと、温度のばらつきが大きいのかなぁー、ってこともわかります。
小数点、一桁でいいんだけどな(*´ω`*) やり方勉強します。



概略
マイコン(ラズベリーパイ3)と温度センサー(DS18B20)を使った簡単な回路とプログラムです。それをスマホのフリーアプリ「BLYNK」で動かしてます。

マイコンはマイクロコンピュータのことらしいです。
{7F83C70E-F57B-4116-84BA-A85FE761F314}

恥ずかしながら…輪ゴム固定。基板にハンダ付けは今度。


補足。
下のいろいろなケーブルが繋がってるのがケースに入ったマイコン。上のブレッドボードで回路を作りました。
こんなんじゃなくて、ちゃんと基板にハンダ付けした方がいいです(*´∇`*) 外れたらいけませんし。

これを見せたら、今度弟が上手に基板にしてくれるとのことです(*´ω`*) 
でもこの手のプログラミングはやらないらしく、今回は自力ですよー。



センサーはこんな感じ。
防水仕様。キスゴムで固定。
{33B04B5C-841C-4965-B334-3B0E40B226EC}





使用器具
実際私が買ったもの、使ったものです。

・マイコン本体と電源、ケースのセット。いろいろ調べて、このセットが何処より一番安かったので。



・防水加工済みのセンサー コードが3mと長く便利。さらに5個入り(*´ω`*) これ以外は1mでした。



・microSDカード 安い。クラス10推奨。



・もろもろのパーツセット ジャンパワイヤは必須です。最初はブレッドボードもないとキツイ。T型拡張ボード、虹リボンケーブルはなくてもできますが、オスメスのジャンパワイヤが必要と思います。




・上のセットのブレッドボードがデカイので、違うのを買いました。ってか間違えて無駄に発注してました。
上のセットのでも、なんでもいいです。


・あとは買ってないけど、USBマウスとUSBキーボード、HDMIケーブル、HDMIが繋げられるディスプレイまたは液晶テレビが必要です。コネクタ付けて変換しても可。あとwifiか有線LAN要ります。


・センサー設置のためのキスゴム。これも家にあったもの。

・マイコンのOSインストールにパソコンが必要です。最初だけです。


わたしは上記のパーツ、機器だけで作りました。



・あと、なくてもできるけど、書籍買いました。一応原理を学んどこうと思いまして。いろいろな本が出てるのでこの本じゃなくてもいいと思いますがあると便利。

カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる (ブルーバックス)




やり方

①まずはラズベリーパイ3のセットアップ。(これはいろんなところに書いてあるので省略)
普通のパソコンみたいなもんです。小さいのになかなかの性能です。

・まず、パソコンでOSの圧縮ファイルをネットでダウンロードして展開したものをmicroSDカードの中に入れます。
{1E5D195F-6916-4E6B-8FD1-079E36C697C7}

・microSDを入れたラズベリーパイ3を起動し、OSをインストールします。

{880226E3-DBF0-4163-B719-5C80253FA100}

・日本語化、環境設定など。

{50961957-6F29-45BD-B933-F0B9E165E820}

すすーっと流しましたm(_ _)m




②センサーを付ける。
わたしはT型拡張ボードに虹リボンケーブルが付いたものを使って基板からブレッドボードにGPIOの端子を丸ごと接続しました。ジャンパワイヤで必要なものだけ取り出しても大丈夫です。

{01EC0A38-116F-4E8E-B801-09663ADFB032}



センサーには赤と黒と黄色の線があります。
{8A98AF31-4F77-4575-97D9-96C328B6248A}

以下のように接続しました。
・赤色は3.3V。
・黒はグラウンドにつながっています。電位0。
・黄色は温度の信号の線です。GPIOの4番に接続します。
・赤と黄色は抵抗で繋ぎます。(プルアップ抵抗)

黄色の線が温度の信号を出しているのですが、ここに通電していない時に電圧が3.3Vに上がるようにしておくのがプルアップ抵抗の役割らしい。回路が安定するようです。



③温度センサーの設定

・"/etc/modules"のファイルにの二行を追加します。 
w1-gpio
w1-therm

1-wireデバイス(今回は温度センサー)と通信するためのものです。



・"/boot/config.txt"の最後に下記の一行を追加します。
dtoverlay=w1-gpio-pullup,gpiopin=4


GPIO 4 を使いますよ!ってことみたいです。



・ラズベリーパイを再起動します。
温度センサーを認識させるためです。


・そうすると、センサーが認識され、センサーのデバイスIDのフォルダが下記の場所に作成されます。
/sys/bus/w1/devices

28-で始まるIDです。複数付いていれば複数個のIDが出てきます。



④BLYNKの設定
(・ちょっと書くの疲れたので、今度追記します。)


・このデバイスIDを指定してシェルスクリプトを作成し、BLYNKで制御して読み取るわけです。
{68FFEB3D-811E-4F97-80DF-A9BB813C64DA}

BLYNKを起動、マイコンと接続すると、こんな風にシェルスクリプトが動いてBLYNKにデータを表示させてくれます。

{8097C802-5889-4224-B464-E1B3C9B62D22}


まぁ、ざっと書くと、こんな感じです。
わたしはもっと時間をかけて無駄なことをいろいろやってしまいましたが、ここには必要なことしか書いてませんm(_ _)m


もう少し丁寧に書かないと伝わらないと思いますが…、悪しからず。
後でもう少し追記します。







まぁ、温度の監視だけに1万円弱かけますー?って言われるかもしれませんが…
だいぶ楽しめましたし、このマイコン、もっといろんなことができます。

今後は応用して、産卵部屋の映像をスマホからモニタリング、なんてできたらいいなぁ。






道は長いな(-_-)zzz




誰か得意な方、一緒にやりましょ(*´ω`*)




とりあえず、これで出先からでも温度を把握できますー!
異常がわかっても人がいないと対処はできないのですけど…






最後にプレコ載せておこう(*´ω`*)


年末にL236が産んでくれたので(*´ω`*)
{67FB17C7-EE0C-4D29-AD34-EE5F902C1551}
長期不在のため、完全親まかせ中です。上手くやってくれている様子。
蹴り出し、5匹。ヨークサック白め。

L236(ドイツブリード)♀
{8E324509-6CEE-4973-951F-AB0E54BAD843}



産後 ちょっと地が白くなった。
{67121274-33F8-46D6-A86D-87DD6A784DED}

グッジョブ!