じつは私は今までに同じような記録システムを作っていました。 https://siroitori.hatenablog.com/entry/2022/05/21/130915
今回のシステムでは、そこで使っていた下記をそれぞれ
に置き換えた形になります。
また今回はアロマを焚くという頭痛対策機能を追加しました。
このシステムでの取り溜めたデータがあったので今回の頭痛予測判定に大いに役立ちました。
気圧頭痛以外の頭痛 …今回稼働時にうまく頭痛が気圧変化に当てはまらないことがありましたが、それはそれでよかったです。 というのも自分でもよくわからない様々な頭痛を持っていて、気圧頭痛は偏頭痛のことが多いのですがそれ以外の頭痛は緊張型頭痛(肩こり等による頭痛)があり、タイプによって温めたほうが良くなる時と逆に悪くなる時があるのですが、そのタイプが判定できたように思えました。(偏頭痛は温めると良くない) 今後さらに実験しようと思います。
頭痛薬の服薬、頭痛以外の時 …生理痛があるのでだいたい毎回生理時にも同じ頭痛薬を飲んでいます。服薬時にの前回飲んだ時刻が気になるのでそういう理由もあって服薬記録をしている意図もありますが、「頭痛ではない」ときの頭痛薬なので何か別の扱いとしたいなと思っています。 →(2022/11/25) MESHブロックをもうひとつ使うことで実現しました。
パブロフの犬! …アロマがカチッとONになると「頭痛くなるかな〜」って身構えてしまいます。 先日IoTLTの方から「ときどきランダムにカチッとしてわからなくしたら?」と言われ「それはいい!」と思いましたが、そもそも推測判定がそんなにうまくいってないので・・・意味ないですね。 しかもアロマの効果も現在のところあまり感じられていません(苦笑)
楽しかった! …とにかく作っていて楽しかったです♪
本システムでは、環境値と頭痛の記録、分析、対策を行うことができます。
OMRONの環境センサで測定した値を記録します。
OMRON環境センサ →(BLE)→ obniz Board 1Y →(Web API)→ kintone
の流れでobniz Board 1Yを経由してkintoneに記録されます。
なおOMRONの環境センサでは以下の値が取得できます。
温度・湿度・気圧・照度・騒音・UV・電圧(電池)
頭痛には基本的に気圧しか環境要因とならないと思っていますが、せっかく値が取得できるのでその他の値も保存(記録)できるようにしました。
頭痛薬を飲んだタイミングを記録します。
MESH明るさブロック/動きブロック →(BLE)→ obniz Board 1Y →(Web API)→ kintone
MESHの明るさブロックを用いて、薬を入れた箱が開くと頭痛薬飲んだ判定としその日時を記録します。 箱は最初100均のものを利用していましたが、その後fusion360で既存データを改造して作成しました。
改造元とさせていただいたデータ(ありがとうございます!) https://www.thingiverse.com/thing:4919057
ちょうどMESHがはまる大きさにした上で2種類の記録ができるようにしました。3Dプリンタで出力しました。フィラメントはPETGです。
https://twitter.com/siroitori0413/status/1596131197188722689?s=20&t=aM0vc39aPjwSLgheNi8WFg
2種類の記録については以下です。
頭痛時の服薬はそれぞれMESHの明るさブロックと動きブロックで判定させました。
薬を取り出すだけで自動的に記録されるのでとても便利です!
kintoneでグラフ表示を行って分析ができます。
kintone標準のグラフ機能では様々な要素を一気に表示できなかったので、Chart.jsライブラリによるカスタマイズを行いました。
最初のグラフでは、気圧・頭痛(=頭痛薬服薬タイミング)・頭痛予測(後述します)がどうなっているかグラフで確認できます。 頭痛タイミングは、わかりやすいように棒グラフそれ以外は折れ線グラフで表示させました。
「▼すべて表示」リンクを作って広げられるようにしました。
■ 気圧と頭痛のグラフ
→ このときはどうも予測が頭痛とリンクしておらず…気圧頭痛ではなかった可能性が高いです。
グラフの下部に選択期間内の各回数を計測して表示させるようにしました。
やはりなかなか推測と頭痛がマッチしませんでした。 推測判定の調整が必要です。
■ 全部入りグラフ
頭痛が発生するのは気圧が下がるタイミングであることがわかっているので、気圧が3回連続で下がったタイミングで「頭痛予測の判定」として、頭痛予防に自動でアロマを焚くことにしました。
また逆に3回連続で気圧が上がったタイミングでアロマをOFFとしました。
obniz →(Web API)→ Amazon Smart Plug
Amazon Smart Plug はAlexaアプリからしか操作できないものですが、アドバイザーの中学生memetan(我が子)がプログラムから操作できるものを作ってくれたのでそれを利用しました。
▼ memetan作 Amazon Smart Plug用 操作ライブラリはこちら https://github.com/MeemeeLab/alexa-smart-plug