ある日のこと
エンジニアとして社会人生活は送っているはものの、これといって0から自分で何かを作ったことはないと思った。一方で、これといって作りたいものがあるわけでもなかった。言わば、「プログラミングをやりたいです!」「何か作りたいものでもあるの?」「...?」みたいなIT未経験者状態。作りたいものというより、「AWSが使えて」「プログラミングもできて」「ついでにモノとして何か残る」という自分に都合が良すぎることばかりを求めていた。
ある日、システム運用監視の場面を想像しあの写真が脳裏をよぎった。(何故?)
よくシステム運用監視の場面ではシステム障害時に赤く点灯したりするやつである。
色んな使い方はあるとはいえ、何らかの閾値を超過もしくは下回ることでアラートを出す仕組みである。僕の運用時代はこれが側にあったことはなく流れる数値をひたすら眺めることが多かったものだが、なんだか無性に憧れてしまった。とはいえ、何を計測・監視するのかはいまいちピンと来なかった。
そんな時、こんなアイデアをもらった。
「天気、気圧、乾燥度、二酸化炭素濃度等で換気促すランプとか簡単そう」
なるほど、簡単かどうかはさておきこれは良いアイデアだなと思った。というのも温度や湿度は結構自宅にあるもので表示され入るのだが、二酸化炭素濃度を計測するものは皆無であった。二酸化炭素濃度を測定する機械自体は結構世の中にあるのだが、お金出してまではいらないかなーと思っていた。そんな中出てきたこのアイデア。「(家に)無ければ作れば良いじゃない」というエンジニア思考が久々に湧いてきたのであった。
構成図
まずは構成を考えてみた。
...
......
………
…………あれ?
ポケモンのパーティ考察のごとく、一番最初に使いたいポケモンが最終的にいなくなったら完成みたいなことになっているが、言い訳させてほしい。いきなりあれもこれも詰め込むと開発はロクなことにならないということを僕らはよく知っている。なので開発スコープを調整して、まずは最低限の機能を備えたものを作ろうという魂胆だ。みんなも開発スコープの調整はちゃんとやろう!
???「いいからやれ」
???「…はい」
何が必要か
さて、何が必要か調査することにした。
二酸化炭素濃度計測センサー
まずはこれがないとコンセプト崩壊する。温度など計測している場合ではないのだ。Googleさんに聞いてみた。
MH-Z19Cというのが引っかかった。MH-Z19Bというのもありそうだが、Cの方が新そう。
https://akizukidenshi.com/catalog/g/g116142/
ChatGPTにも聞いてみた。
Sensirion SCD30は湿度・温度も計測してくれそう。
https://www.sensirion.com/jp/products/product-catalog/SCD30/
Senseair S8はCO2濃度だけ計測だが、閾値があらかじめ設定されており、アラームを出すことができるそう。
MH-Z19Cは他センサに比べると、計測できるCO2濃度の範囲が400ppm~5000pmと少し狭い。この狭さが影響することはあるか少し調べてみた。
下の画像を見る限り、測定可能最大値が5000ppmだろうが10000ppmであろうが生命の危機になることは変わらないので今回の場合は範囲の狭さは問題にならないであろう。また、1000ppmが換気の基準になるという知見も得た。
ちなみにppmはparts per millionの略で、10の-6乗(=0.000001)を表し、濃度の単位でよく使われるらしい。
出典:https://www.leaffresh.jp/item/other/item24.html
ちょうど秋月電子さんで他2つと比べて安く買えそうだったので、MH-Z19Cを買おう。
Raspberry Pi
よくお菓子と間違えられることで有名なもの。CPUなどを搭載しており小型のコンピュータ…というくらい浅い知識しか持っていない私。実はこの歳になるまで存在は知りつつも実際に扱ったことはない。前々からこれを使って何か作りたいと思っていたが、とうとうこの時が来た。さて必要なものを調べる。
ありがたいことに、公式に良いページがあった。
https://projects.raspberrypi.org/ja-JP/projects/raspberry-pi-getting-started/0
- SDカードまたはマイクロSDカードを搭載したRaspberry Piコンピューター
これが本体に当たる部分だろう。色んなモデルがあるので選定は後述。 -
ケーブル付きモニター (および、必要に応じて HDMI アダプター)
これはすでに自宅にあるので新規購入は不要
-
USBキーボードとマウス
これはすでに自宅にあるので新規購入は不要
- 電源
なんかケーブルあれば良い? - ヘッドフォン、またはスピーカー(オプション)
音も拾えるのか…今回のケースは不要 - イーサネットケーブル(オプション)
必要になったら自宅にあるものを使う
あとはOSのインストールにmicroSDカードが必要になりそうだが、これも自宅に使っていないものがあるので新規購入は不要。
基本は本体あればOKかなー。
下記ページでいくつか紹介されているが、
これらの点を踏まえ、「Raspberry Pi Zero WH」が良さそう。
ラズベリーパイの5つの種類、失敗しない選び方、おすすめ入門機
というところまで決めて、先人の知恵を借りつつ「ラズパイ用のケース」と「ジャンパージャンパーケーブル」をついでに買えば良さそうという結論に至った。
ラズパイでCO2濃度を測定してPlotly Dashで可視化 #Python - Qiita
AWSアカウント
クレカとメルアドがあれば秒で作成できるので次回実施。
今回の進捗報告
- 構成を考えた
- 工作に必要なものを買った
- Raspberry Pi Zero WH(https://amzn.asia/d/gj5s6YP):3380円
- CO2濃度センサー(https://akizukidenshi.com/catalog/g/g116142/):3080円(送料600円含む)
- ケースキット(https://amzn.asia/d/cllEAzh):2699円
- ジャンパーケーブル(https://amzn.asia/d/2jqThBM):699円
- 合計9,858円
次回の作業予定
- AWSアカウントを作る
- Raspberry Piの初期設定(OS入れるところまで)
こんな感じでゆるーく作業を進めていきますので見守ってください。
(余談)
はてなブログさんにもAIの波が来ているようで、記事の内容からタイトルを考えてくれる機能があったので試しにやってみた。「エンジニアの日常から生まれたIoTプロジェクト」とか良さそうだけど、どうもプログラミング/IT初心者と思われているのか。。。。。