日々、我が家のベランダからお天気を見張ってくれています(^^)
SONY α7II + FE 90mm F2.8 MACRO G
昨年12月に紹介して以来、だいぶ時間が空いてしまいましたが、雨降りをお知らせしてくれるiTTB(インテリジェントテルテル坊主)が、ほぼ完成しました
メインの機能(雨が降ったら通知)は比較的早くできていたのですが、音声機能や明るさ変化対応など、余計な機能?で時間がかかってしまっていましたが、なかなか便利で、珍しく家族にも好評です。
実運用開始から2カ月ほど経ちましたので、経過報告です。
そもそもiTTBって?
在宅勤務中に雨が降ってきたけど気が付かず、洗濯物を外に出したままでツマに怒られたのが開発のきっかけ。
ベランダなどの屋外に設置したセンサーで雨を検出し、屋内の親機に無線で通知し、仕事に没頭している(or 寝ている)自分に気が付かせてくれる、素晴らしいシステムです。
ベランダに付けたセンサーで雨を検出し、無線送信します。
SONY DSC-RX100m3 + Carl Zeiss Vario Sonnar T* 10-37mm F1.8-4.9
子機(センサー)は防水や省電力あたりで苦労しましたが、12月には無事に完成していました。
親機も、基本的な通信機能は早くてできていたのですが、それを人間にどう通知するか、で時間がかかっていました。
iTTBの機能
個別機能の詳細は後にして、まずは動作の状況を紹介しましょう。
普段は外に置いておく子機を室内に持ってきて、水滴を落としてみた時の動作です。
なかなか良くできているでしょう?(^^)
原材料はこんなモノを使い、だいたい5000円くらいかかりました(人件費は10倍くらい、笑)
- Raspberry Pi Zero WH(マイコン)
- Twelite(無線通信チップ)
- AT3011(音声合成IC)
- Scroll pHAT HD(LEDマトリクス)
- 水センサ、トランジスタ
- アンプ、スピーカー、光センサ、UPS、リチウムイオン電池など
以下、各機能の詳細を説明です。
降雨の通知
基本的な機能として、外に置いた子機のセンサーで雨を検知すると、IEEE802.14.4無線によって親機に情報を飛ばします。
性能のほうは意外とよくて、見通しが良ければ1kmくらいまで飛ばすことができます(どんなでかい家やねん)し、コイン電池(CR2032)で半年くらい稼働します。
子機からの降雨情報を受けた親機(室内)は、以下の3方法で騒いで自分に気が付かせます。
- LEDマトリクスに雨情報を電光表示
- 音声で通知
- LINEで通知
1.のLEDマトリクス表示は、17x7個のLEDが並ぶ表示機(pimoroni社のScroll pHAT HD)に、「雨が降ってきたよ~」的な表示を出してくれます。
マトリクスは狭いので、駅などの電光掲示板と同じように、ゆっくりとスクロール表示します。
LEDはPWM制御で明るさ調節できるのですが、雨通知の時はフルパワーで光るようにしてみました(かなり眩しい)。
LEDマトリクス。このままだと眩しいので、スモークアクリルを付けています。
SONY α7II + FE 90mm F2.8 MACRO G
2.の音声通知は、音声合成用IC(アクエスト社のAT3011)を搭載して、そいつにしゃべらせます。
このICは面白くて、シリアル通信でローマ字情報を送り付けると、その通りにしゃべってくれるもので、Alexaみたいな本格的なものに比べると、いかにも合成音ですがちゃんと聞き取ることができます。
このレトロな音声が家族にウケて、ご愛顧されています。
左側が音声合成IC、右側がデジタルアンプとスピーカー。
SONY α7II + FE 90mm F2.8 MACRO G
3.のLINE通知はRaspbery Pi(Python)で実装するのは簡単で、過去にも作っているので説明割愛。事前に設定したLINEアカウントに「雨が降ってきたよ」と通知が飛びます。
常時は時計表示
梅雨時ならいいのですが、そうそう毎日雨が降るわけではないので、今の季節はiTTBの出番はあまりありません。
それではもったいないので、時計表示と時報を作ってみました。
Raspberrry PiはRTC(時計機能)を持っていないのですが、WiFiさえつながっていればNTP(ネットで時刻合わせするプロトコル)で時刻を得ることができるので、それで時計表示しています。
普段はこんな風に時計になっています。意外と便利!
SONY α7II + FE 90mm F2.8 MACRO G
また、せっかく音声合成ICを搭載しているので、毎正時には「10時ですよ」みたいに、時報を読み上げてくれるようにしました。
会社なら人の動きもあって分かるのですが、ひとりで在宅勤務していると時間を感じにくくなっているので、これは意外なほど便利で気に入っています。
光センサーを追加搭載
降雨情報はもちろん、常時表示の時計や時報が、寝ているときに作動するとたまりません。
当初は固定時刻でスリープモード(表示を暗く、音声はやめる)にしていたのですが、就寝時刻はいつも異なるので、明るさセンサーを追加搭載して判定するようにしました。
明るさを正確に計測する必要はないので、一番安いCdS(秋月で10円)を付け、これを抵抗で分圧してRaspberry Piの端子に直接つないで、明るい・暗いを2値情報として入力しています。
真ん中に見えるナミナミがCdS素子。明るさと抵抗値の関係を実験中。
SONY α7II + FE 90mm F2.8 MACRO G
完成後に追加したので、変な位置に後付けしています(^^;
SONY α7II + FE 90mm F2.8 MACRO G
これにより、就寝時に照明を消せば自動的にスリープモードに入るようにプログラムできました。
さらに、明るさの変化に応じて、「お休みなさい」や「おはようございます」「もうX時だぞ。早く寝ろ!」などAI的な音声?も出せるようになりました。
毎晩、照明を消すたびに何をしゃべるか、笑って聞いています。
停電への備えも
営業開始から3か月ほど、無事に運用していたのですが、1回だけ、電気使い過ぎでブレーカーが飛んで停電したことがありました。
Raspberry PiはLinux OSで動いていて、OS本体はSDカードに収納されているのですが、突然の電源喪失でカードが破損し、普及にはだいぶ手間がかかってしまいました。
雨と雷はセットでもあるので、突然の電源喪失に備えてUPS機能を付けてみました。
短時間の停電に耐えられればいいので、最小限の40mAhのミニリチウムイオンを搭載です。たぶん、10分くらいは動けます。
下段に見える銀色の物体がリチウムイオン電池。超少量用なので15分くらいかな?
SONY α7II + FE 90mm F2.8 MACRO G
書いていて気が付きましたが、もっと大きなリチウムイオンに取り替えて(家に無数にある・・・)、停電検出と同時にLEDを最大光量にして照らしたほうが、防災の観点でもいいかもですね。
早速直そう!(^^)
まとめ
今は花粉症の季節で洗濯物も部屋干しが多いのですが、それでも2回ほど助かっています。
肝心な降雨通知機能より、しょぼい音声合成機能がカワイイと家族内でバカ受けなのでもう1台製造中です。
第2世代は、なぜかMac風にしています。かわい~
SONY α7II + FE 90mm F2.8 MACRO G
同じものを作っても芸がないので、いつもの3Dプリンタでボディを設計し直し、なぜかマック(Macintosh Plus、覚えてるかな~?)形状で作っております。
たぶん2カ月くらいかかりますが、完成したらご報告します~
おわり。
【おまけ1】
まったく自転車と関係ないものばかり作っていますが(サーモカメラぐらいか・・・)、次はこのシステムを応用して、自転車盗難防止器を作ってみようかな?と考えています・・。
【おまけ2】
いつものことですが、このシステムを作るだけで手書きの図(boox noteですが)を40枚ほど書いています。
作るのも楽しいのですが、実は描くのも楽しい(^^)
(以下はそのうちの8ページほど)
書いた設計図(?)もどきたち。