Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20191130_wankuma_glucometerutils
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ONO,Tetsuo
November 30, 2019
0
950
20191130_wankuma_glucometerutils
ONO,Tetsuo
November 30, 2019
Tweet
Share
More Decks by ONO,Tetsuo
See All by ONO,Tetsuo
20240127_NGK2024S_DM
gplains
0
370
20230121_NGK2023S_DM
gplains
0
460
202101_t1d_telework
gplains
0
470
202012_juiceshop
gplains
0
140
20201218_pktmon_netsh
gplains
0
850
20201130_keepalived
gplains
0
160
20201123_prep_exam_1
gplains
0
130
202011_rsyslog
gplains
0
59
20201117_vagrant
gplains
0
120
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
130
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Everyday Curiosity
cassininazir
0
140
Are puppies a ranking factor?
jonoalderson
1
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Bash Introduction
62gerente
615
210k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Faster Mobile Websites
deanohume
310
31k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
300
Transcript
Windows10+Python3で Glucometer Utilities を使ってみる 大野 哲生(@g_plains) On 2019/11/30
アジェンダ? 自己紹介 とあるI型糖尿病患者の生活 とある血糖測定器の仕様 Glucometer Utilitiesの紹介
Glucometer Utilitiesを実際に使ってみる おわりに
自己紹介 ハンドル : こてつ(@g_plains) 出身 : 愛知で銀杏のおいしいところ
おしごと :仮想化基盤(VMware)の維持管理 推しごと :DDTプロレスさん
とあるI型糖尿病患者の生活 三食の前に血糖値を測ります 測定値と食事から投与量を決めて お注射して、\いただきます/ 寝る前にも測定します
診察日が近づいてきたら、レポートの作成 血糖測定器からのデータ転記、すごく大変 (1計測毎にページめくり、30日分で120クリック)
で、血糖測定器ナニ使ってる? 自分は Abbott プレシジョンネオを使っています この子、USBのクチがあるんですよ PCに接続すると、HIDで認識する(3850)んですよ
血糖測定器をPCに接続したら 実際のところ、レポートがいけてなかった A4用紙1枚に、2-3日分しか印字されない仕様 (たのむ、そこはCSVでくれ) 測定器具ってもガジェットとして面白そう (借り物です) あくまで病院からお借りしてるものなので、「倫理的な所」
よりも病院との「貸借契約」のほうが重かった …そうだね、買おう (ということで同型機を•天市場経由で取り寄せました)
Glucometer Utilities 複数の血糖測定器に対応したライブラリ LifeScan、Abbott、Roche… 作者はDiego Elio Pettenòさん(2型患者) https://github.com/Flameeyes/glucometerutils
Python3ベース POSIXでの動作確認をしている模様
Glucometer Utilities 解析(reversing)した結果は有志で集めてる https://protocols.glucometers.tech/
とりあえず使ってみた Windows10なので、ストアアプリから Python3 を取ってきます 作者のリポジトリからZIPでダウンロード https://github.com/Flameeyes/glucometerutils Setup.pyを”--user”をつけて実行
python setup.py install –user ※pip installするときは、 attrs construct hidapi 必須 あと pip uninstall hid (hidapiとhidは共存できない?)
はまり1:早速低血糖 意気揚々とコマンド実行 > python3 glucometer.py --driver fsprecisionneo dump
早速dump失敗! …ある日の記録値がLO(30以下)だった! プレシジョンネオの説明書より > 血糖値が500を越えたら HI を出力します > 血糖値が30を下回ったらLOを出力します 数値のところにローマ字が入る仕様…Σ(‘A’;) →コードを書き換えなきゃ
はまり1:早速低血糖 “HI”と”LO”に説明書通りの値を書いてみる 今度こそ、コマンド実行 > python3 glucometer.py --driver fsprecisionneo
dump 血糖値の一覧が取得できた! values = [] for value in record: if value == "HI": value = 500 if value == "LO": value = 30 values.append(int(value)) raw_reading = _NeoReading._make(values[:len(_NeoReading._fields)])
はまり2:インスリン投入記録 せっかくなのでインスリン投入記録もほしい 血糖値とインスリン単位数は、区分コードの違い 血糖値=5、ケトン=7、投入単位=10 新規にメソッドを書いて(fsprecisionneo.py) 基底のデータクラス書いて(common.py) さて変数はどこで定義…あれ。
→ラムダ式で実装されていました。 はじめてのpython修正だと思ったら まさかのはじめてのラムダ式だったよ
そんなこんなで出力結果 ひとまず血糖値も投入単位も出力できました わたしの夕食前血糖値、高すぎ… う、運動がんばりましょう!
最後に Python3のスクリプトがWindows10でも動くと ちょっと嬉しい もう少しコードがうまく整形できたら、作者さん にリクエスト投げてみようと思います(まだPoC) 取り急ぎforkしようかな… 医療機関からお借りしてる機材は大事にしようね
(自腹で買うと結構高いぞ!)