オカンハック

母親目線での「便利!」を備忘録的に書き溜めていこうと思います。

IT系夫婦がRaspberry Piをかじってみた。 ⑤スマートオムツペール編

f:id:okan89-blog:20190521215352p:plain

こんにちは。カーチャンです。

小さなコンピュータ「Raspberry Piラズベリーパイ、略してラズパイ)」を操作するシリーズ、
いい加減実用性のあるものを作りたいと思ったので、
オムツを捨てたタイミングで、自動的に日時を記録するゴミ箱、名付けて「スマートオムツペール」の作成を行います。
「ブログ」をもじって「プーログ PoopLog」 です。

必要なもの

  1. RaspberryPi
    1. python 3
    2. MariaDB
  2. スイッチ回路
  3. ペダル付きオムツペール(ゴミ箱)

基本の回路

ほぼ前回と同じ、スイッチのみの回路です。
GPIO2番で制御します。

スイッチ回路をペダルの下に敷きます。

ペダルを踏むと、スイッチが押されてログを書き込む仕組みにします。

MariaDBのインストールとデータベース、テーブルの作成

クラウド上のDBに書き込むなど色々やりたくはあるものの、
とっかかりとしてラズパイのローカルにデータベースを作って、そこに書き込みます。

インストール方法はこちらを参考にしました。
Raspberry PiでPythonからMySQLデータベースを扱う | MUDAなことをしよう。

データベース'pooplog_db'と、pooplog_db専用のユーザー'pooplog_user'を作ります。
pooplog_dbに、'cere_records'テーブルを作成します。

CREATE TABLE 'care_records'(
'id' int(11) NOT NULL AUTO_INCREMENT,
'care' varchar(10) NOT NULL,
'memo' varchar(100) DEFAULT NULL,
'entry_tsp' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY ('id')
);

プログラミング

今回は、GPIO Zeroというライブラリを使いました。
電子部品ごとに命令がラップされているので、より簡単にプログラミングできます。

長押しすることを考慮し、スイッチを離した時にcare_recordテーブルに日時が登録されるようにしました。

カッコつけて英語で記録してみました。
本当は、ペダルの押し方でおしっこかウンチかmemo列に登録する内容を変えたかったのですが、
とりあえずウンチ(poop)固定になっています。

実行

プログラムを実行して、ペダルを踏みます。

ペダルを離すと無事データベースに記録できました!
※テストのため確認しては削除を何回も繰り返したため、1から始まるIDが、14まで上がってしまいました。

今後の展望

今回はローカルのDBに保管しましたが、GoogleAmazonのデータベースサービスを使えば、なんちゃってIoT家電になります。

ペダルが一個しかないので、「ウンチがおしっこか両方か」という詳細なログはつけられないし、
専用品ではないのでペダルの接触が悪いなど、問題はたくさんありますが、とりあえずプロトタイプ的なものは完成です。
この記録システムを使って、WEBページから確認したり、LINEやAlexaとの連携もできそうですね。
そのあたりの技術も、時代に取り残されないためにいい加減勉強せねば……😰

このプーログは、現時点では電気食うだけのガラクタなのですが
そのうちこういうIoTグッズが出てくるんじゃないかな?と思っています。

思うに、もっと育児って省力化・IT化できる余地があると思うんですよね。
何事もアナログがいい、時間や労力をかけたほうが良い母親であるという風潮で、
母親だけ昭和に取り残されているような、そんな気がします。

ラズパイは気軽に電子工作ができるので、またアイディアを思いついたら作ってみようと思います。