カワリモノ息子の技術メモ的な〜

学校が苦手な息子君の作品いろいろをパートタイムエンジニアの母が綴る

みんなのラズパイコンテスト2018で受賞しました

小5息子くんの作品が「みんなのラズパイコンテスト2018」で優秀賞と優良賞を受賞しました!
みんなのラズパイコンテスト |ラズパイマガジン、 日経Linux、日経ソフトウエア 主催

わーいわーい。とてもうれしいです。

優秀賞をいただいた作品の紹介

「我が家の鳥たち監視システム「チュン監カメラ」」

以前にこちらで記事にしたことがあります。
siroitori.hatenablog.com

重複になる部分もあるかと思いますが、もう少し仕様を詳しく書きます。

<システム概要>
1.チュン撮影
ラズパイにてシェル起動でWEBカメラ撮影。約2分おきに撮影。
ラズパイからLEDも点灯させられる。
f:id:toriko0413:20180811011217p:plain

2.WEB公開
HTMLファイルを作成し、JavaScriptで撮影した画像を表示。
「自動で更新をする」チェック時は1分おきにリフレッシュさせる。
外部サイト(フリーで取得したサイト)から、自宅サーバー(ラズパイ)内にある作成したHTMLファイルを表示させる。ラズパイは常時起動ではなく別の開発も行っているため、起動していないときや非公開時はメッセージを表示させる。
上記公開できないときのメッセージ文言はjsonファイルで定義可能。
また、ダウンロードボタンから現在の画像をダウンロードして手元に保存することもできる。
wi-fi環境でないときに自動リロードされると通信量が多くなってしまうので、自動リロードは「自動で更新する」チェックボックスで設定できるようにした。
f:id:toriko0413:20180711230930p:plain

3.WEB公開のセキュリティ
鳥かご画像とはいえ自宅内部の様子を映しているので、セキュリティ対策としてパスワード入力を必要とするようにした。
ログインの実現方法としてJavaScriptを読まれてもパスワードが解読できないようにネットを参考にして実装。

とにかく愛鳥の様子がいつでも確認出来て安心!
そしてWEB公開でも安心のセキュリティです。
WEB非公開時にjsonからメッセージを取得して表示するところを工夫しました。
日が暮れた後に家族で外出したレストランからスマホで様子を見てみると真っ暗で照明が必要なことがわかり、その後ブレッドボードをつなげてLEDの照明をつけました。

f:id:toriko0413:20180811011233p:plain


優良賞をいただいた作品の紹介

「環境センサを用いた感覚発達の鈍い子供のための状態分析システム」

このラズパイコンテストの中の7月にあった企画で、アイデアを応募してオムロンの環境センサが当たりました。やったー!しかし、当たった人はそれを使って作品を応募しないといけません。
私(母)が息子くんに負けてられないとそれを使って作った作品です。
環境センサとは、温度・湿度・騒音etc 環境データを取得できる優れモノです。
環境センサ | 製品情報 | オムロン電子部品情報サイト - Japan

私が作ったとかいいながら、部分部分で「ここの機能作って」と息子くんにオーダーして作ってもらったので共作です(^^)

1.はじめに
発達障害の子供は感覚の発達が遅い子も多く、暑い/寒いなどがよくわからず衣服の調整が困難で、気分の悪さを訴えたり機嫌が悪くなったりすることがあります。また感覚過敏(特に聴覚過敏・接触過敏)などを持っていて学校などの環境に馴染めないことが多く、また生まれながらあたりまえにその素質を持っているため他人との違いを知ることができずそれを人に訴えることが困難です。わが息子もその一人です。
本システムは、子供につけた環境センサの値と、子供(または第三者)が感じた子供の気分・機嫌などを測定してグラフ化し何が要因となりどの程度のレベルの時に心地悪さに影響しているのかを分析するものです。
なお、発達障害に限らずまだ喋ることのできない幼児にも有効ではないかなと思います。

f:id:toriko0413:20181127151033p:plain

環境センサは対象の子供が首からぶら下げて携帯する。携帯された環境センサの値(温度、湿度、気圧、騒音、照度)はラズパイからBLE通信により取得。この値をAmbientに送信。
  BLEで値を取得する部分はbluepyを使用し、pythonでコーディング。
またAmbientへの送信はpython用ambient-python-libライブラリを利用。

② 気分値として、本人もしくは周囲の人間が対象の子供の気分を音声や画面操作で記録する。
 記録方法は②-1、②-2の2通りの方法とし以下に記述する。

方法②-1 Google Homeから音声で気分値を送信
    設定値1:とても悪い 2:悪い 3:普通 4:良い 5:とても良い
    Google Home「ねぇGoogle、今の気分は”1”」→IFTTT→webhooks→(REST)→Beebotte→ラズパイ
    その後①と同様に値をAmbientに送信(pythonプログラム)

方法②-2ブラウザより画面操作で気分値を送信
    ②-1と同様の気分値を、スマホ・PC等のブラウザから送信が可能。
f:id:toriko0413:20181127151343p:plain

③ Ambientによる状態分析
①の子供の周囲の環境データ(子供の周囲の温度、湿度、気圧、騒音、照度データ)と②の子供の気分値を照合させて状態分析・解析が可能となる。
f:id:toriko0413:20181127151708p:plain
グラフ中の赤い点線で囲った部分は気分の上がっている時刻と下がっている時刻。環境値と比較した状態。

3.まとめ
今回、環境データによるわが子への影響については残念ながら何が原因とははっきりと感じられませんでしたが、測定期間をもっと長くして、また今回対象としなかった「不快指数」についても計算してグラフ化すると因果関係がわかるかもしれないと思いました。
ひとつとてもはっきりしたことは開発者の母のほうは頭痛・めまいもちであり、気圧と密接に関係していることがわかりました。

【今後改善したい点】
・外出時の環境データは自宅に帰った時に環境センサ内にたまったデータをまとめて抽出・送信しないといけないが実はそれができていないので実装したい。(現状自宅のBLE圏内にいるときに最新データしか取得・送信できていない)
・気分値と環境値の送信のタイミングが異なるためと思われるが、グラフが重ねて表示できず、また複雑なカスタマイズができない。Ambientはとても便利で良いツールであるが今後は独自のグラフの作成にもチャレンジしたい。
・冒頭で述べた通り、自分で衣服の調整(冬場にジャンバーを脱ぐなど)の判断をすることが難しいことが多いので、気温差を判断して、携帯端末やGoogle Homeから衣服の通知を行いたい。
・ブラウザから気分値の送信時、位置情報も送信し、分析の要素に加えたい。
・分析結果気分の悪くなる環境値の傾向がわかれば、警告をだすようにもしたい。
・自宅のラズパイで動いている防犯カメラと連携し、気分値送信時の自宅の様子を保存しておけばほかにも手掛かりがわかるかもしれない。また気分の良い時悪い時の子どもの行動パターンもわかるかもしれない。
・気分の良い悪い以外にも「イライラ」などの要素も取り入れたい。


以上、みんなのラズパイコンテストで受賞した作品の紹介でした。
長い説明、失礼いたしました!

環境センサの子供の測定のほうについては、息子くんは被験者であり開発者。やってて楽しかったです。Google Homeから音声データを送信する部分とWebブラウザから値を送信する部分(②-1と②-2)はまるまる息子くんが実装しました。
それにしても「改善したい点」ばかり・・・この仕上がりで優良賞がもらえたので良かったです(;^ω^)

そして上位にもちらほら小中学生の姿が見えて、すごい!!!
もっともっとがんばります☆