DexcomG6 + M5Stackで常に血糖値を表示して1型糖尿病のQOLを爆上げした話
できるようになったこと
DexcomG6が読み取った血糖値データをクラウド上のデータベースに保存し、M5stackという電子工作機器で常に血糖値データを表示できるようにしました。
DexcomG6やリブレのデータを見るために携帯を開く手間がなくなってQOLが上がりました。
こまめに見るようにしていても作業やゲームをしているとどうしても忘れてしまうことがあるので、パソコンを触っている間常に視界に入っているのは快適です。
システムの構成はこんな感じ。あとでもう少し書きます。
NightScoutは、血糖値データを貯めてブラウザやアプリでデータを見るためのソフトウェアです。データを貯めるために、自分専用のNightScoutを構築する必要があります。
M5Stackは、画面付きの電子工作機器です。NightScoutと連携するためのソフトウェアが公開されているので、それを利用しています。
きっかけ
QOL爆上げ計画を始めたきっかけは、4月からDexcomG6を使い始めたことです。今まではフリースタイルリブレを使っていました。
2019年1月に糖尿病を発症してからずっとリブレを使っていたんですが、2022年12月からDexcomG6がリブレと同じ料金で使えるようになったことから、DexcomG6に乗り換えました。
以前miaomiaoを試していた時にM5Stackで血糖値を常に表示できることを知っていたため、乗り換えを機に構築してみました。
システムについて
つかったもの
DexcomG6(トランスミッタ)
Android端末(Iphoneでも可能ですが非推奨。理由は後述)
M5Stack Core2
クラウドにNightScoutを構築するためのツール
デプロイ先はHeroku
データベースはMongoDB
やったこと
自分用のNightScoutをクラウドに作成
DexcomG6をxdrip+に接続
xdrip+からNightScoutにデータが飛ぶよう設定
M5StackがNidhtScoutのデータを取得して表示するよう設定
使用したソフト、ツールはすべて公開されているものを利用しているため、1行もコードを書いていません。一型糖尿病コミュニティの温かさを感じました。
NightScoutのドキュメントに書いてあるHerokuEcoプランを利用する手順通りに進めて構築できました。
調子に乗ってAWSでやってみようとしたらうまくいきませんでした。
構築中に困ったこと
DexcomShareがNightScoutにデータを飛ばしてくれない
手順書通りにDexcomアプリでNightScoutにデータを飛ばそうとしたんですが、共有用の設定が見当たらず、接続することができませんでした。
ざっくりしらべた結論としては、DexcomアプリによるNightScoutとの連携はサポートされていないということでした。
有志開発のアプリxdripでもNightScoutとデータが共有できるため、そちらを利用する方向で解決しました
Androidが必要だった
xDripは、有志によって作成されたオープンソースソフトウェアです。医療関連の機能を提供するため、iPhoneとAndroid端末の両方で公式のアプリストアからはダウンロードできません。
特にiPhoneで利用するための手順は複雑で、年間99$のアプリ開発者登録がほぼ必須です。
Android端末ではアプリのダウロードするだけであること、Android端末の購入費用がそこまで高くないことから、xdripを利用するためにAndroid端末を購入して解決しました。
年間99$と手間を考えると、格安sim + Android端末を購入したほうが楽だと思います。
また、次の項目でもAndroid端末を購入していたことが良い方向に働きました。iPhoneでDexcomアプリを利用している方は、Android端末を購入することをおすすめします。
xDripがDexcomG6からデータを受け取ってくれない
Android端末にxDripをインストールし、DexcomG6との接続を試みたところ、エラーが発生してしまいました。
原因は、DexcomG6のBluetooth通信機能の設定をしていないことでした。
DexcomG6はBluetoothで外部と通信しており、最大2つの機器と接続することができます。
デフォルトの接続口をiPhoneのDexcomアプリが利用しているため、Android端末のxdripから別の接続口につなぐ必要がありました。xdrip側のドキュメントがあるため、手順通りにすすめることで接続できました。
また、1つの端末でDexcomShareとxdripを同時に接続することはできないようです。私はAndroid端末を購入していたのでこの問題を回避できていました。
おわり
DexcomG6 + NightScout + M5Stackのシステムを作成し、QOLが爆上がりしました。携帯見るのを忘れてうっかり低血糖や、血糖値を見るために携帯をみてTwitterを見てしまう機会も減りました。最高~~!
NightScout, xDripのドキュメントが非常に充実しており、非常にありがたかったです。
有志ブログや、Facebookコミュニティにも情報が公開されているようなのでそちらも確認するとより簡単に構築できると思います。
記事で気になったことや間違ってることがあればTwitterに連絡もらえると嬉しいです。読んでいただきありがとうございました。