gomaの雑記

アレもコレもほしがるなよ

IoTでドライケースの湿度監視をしよう! その1

レンズをしまっているドライケースは、ただ乾燥剤を入れてあるだけで、いつ乾燥剤の効果がなくなったのかがわかりにくい。普通なら湿度計を入れて状態をチェックするんだと思う。だけれどそれじゃつまらないから、湿度監視をする機器を作ってみようと思い、下のような図を作った。

f:id:g0ma:20181029220727p:plain

内容としてはドライボックスに入れたセンサーで温度湿度を計測して、それをRaspberry Piに飛ばす。受け取ったRaspberry Piはデータを変換してNASに保存したSQLite DBファイルに記録していく。記録したデータはRaspberry Piが毎日昼の12になるとデータを読み出して、レポートとしてLINE Notifyに送信する。そのデータを僕がスマートフォンで受け取り、状態を確認する。

こんなイメージで作っていく。

 買い出し

f:id:g0ma:20181029221256p:plain

温湿度の計測は、だいぶ前に書いたBME280を使ったり、センサーを実装するためのユニバーサル基板はストックがあったりするからそれを使うとして、足りないものを買い足すことにする。それをまとめたのが上の一覧。秋は秋月電子通商、スはスイッチサイエンスで購入する。

左と右で別れてるのは左は実際に使うもので、右は作成に使うもので分けてある。

f:id:g0ma:20181027222907j:plain

通販で揃えようと思っていたが、土曜日に仕事で東京まで出られたので、ついでに寄って買ってきた。一覧にはないモニターとSDカードが増えてるが、ま、多少はね?

モニターは去年の冬ごろ、会社で使うRaspberry Piを買いに行ったとき、秋葉原を徘徊した際にあきばお~で目をつけておいたもの。レビューとか見てなかなか良さげだったから購入。

画質もよく色合いやら明るさやら柔軟に設定できるし、リモコンもついてて7,020円という価格にしてはなかなか便利。ただ一点問題があって、操作をする度に

「ピッッッッッッッッッッ!!!!!!」

と電子ブザーくんが迫真の操作音を鳴らす。賃貸アパートで出しちゃいけない音量なのに、どっか押す度絶対なるしオフにできなさそうだったから、御開帳してもぎ取った。

Raspberry Piのセットアップ

f:id:g0ma:20181029220016j:plain

土曜日に帰ってきてから、とりあえず動作確認を兼ねてRaspberry Piのセットアップをした。セットアップと言ってもRaspbian焼いて起動しただけなんだけれども…。

 まずRaspbianのダウンロード。公式ページにアクセスして、Torrentファイルをダウンロード。

www.raspberrypi.org

WebサーバーからZipでも落とせるけれど、エラい時間がかかるから、Torrentで落とすほうが早い。

ダウンロードしたら、圧縮ファイルを解凍して、SDカードにイメージを焼く。

焼くときにしようするツールはWin32 Disk Imagerがメジャーだと思うけれど、

forest.watch.impress.co.jp

今回はEtcherというツールを使った。

etcher.io

Disk Imagerよりも操作がシンプルで、SDカードをマウントしてから、Select imageでimgファイルを選択すると、自動的にSDカードが書き込み先に指定される。Flashボタンを押したらあとは待つだけ。

f:id:g0ma:20181029230230p:plain

書き込みが終わると、自動でエラーチェックもしてくれるすぐれもの。ただSDからイメージファイルを起こすことができないから、その場合はWin32 Disk Imagerを使おうと思ってる。

f:id:g0ma:20181027230835j:plain

書き込みが終わったら、Raspberry PiにSDカードを挿して、配線したら電源オン!白飛びしてて分かりにくいが無事起動してデスクトップが表示された。

f:id:g0ma:20181027231712j:plain

Wi-Fiにつないでこのブログを表示してみた。ネットワークもOK。

ちなみにこのRaspberry Piはたまたま入ったマルツで購入した。3B+なのに4,980円で安い!?!?!?と思いつつ購入(秋月は5,600円)。なんで安いんだろうと若干疑問に思いつつ、家に帰ってきてからパッケージをみてびっくり。element14製だった。

やっちまったなぁ~と思いつつパッケージを見たらMade in UKの文字。あれ?Chinaじゃないの???とさらに困惑。でも問題なく動作するからまあいいかなと。

TWE-Liteの組み立てと初期設定

f:id:g0ma:20181029220147j:plain

Raspberry Piが一段落ついたところで、TWE-Liteに取りかかる。今日仕事に帰ってきてから、足とマッチ棒アンテナをはんだ付けした(写真なし)。

TWE-Liteは温湿度のセンサーデータを30分に1回、Raspberry Piに送信する担当。

CEマークの上に黒丸がついているほうを親(Raspberry Pi側)にしてセットアップをする。TWE-Liteは販売元のモノワイヤレス社のホームページから用途にあったアプリをダウンロードして、書き込むことで便利に使うことができる。C++で自分で開発することもできるが、面倒だし用意されているアプリで十分だから割愛。

今回はBME280を使うので、無線タグアプリをダウンロード

無線タグアプリ (App_Tag) - MONO-WIRELESS.COM

セットアップはこちらの派遣ジニアさんのブログ記事を参考に行った。いつもお世話になっております。

hakengineer.xyz

f:id:g0ma:20181029192524j:plain

送受信確認の様子。

セットアップの順序は

  1. 親機にアプリ書き込み→Teratermで設定
  2. 子機にアプリ書き込み
  3. MONOSTICKにアプリ書き込み→Teratermで設定
  4. 子機にOTAで設定書き込み

の順で行った。アプリはここからダウンロードできる。

下記に設定の内容を残しておく。

□親機

  • a: set Application ID→11295656(いい肉ゴロゴロの語呂合わせ)
  • o: set Option Bits→0

□子機

  • a: set Application ID→11295656(親子で同じ値を設定する)
  • i: set Device ID→1
  • o: set Option Bits→0
  • d: set Sleep Dur→10000(本番は30分間隔なので後でまた変更する)
  • m: set Sensor Mode→39
  • p: set Sensor Parameter→0

設定完了後、子機の電源を入れると

f:id:g0ma:20181029233235p:plain

無事データを受信できた。近くにあった時計の温湿度表示と見比べても大きな誤差はないからテストは完了。

きょうはここまで。