むンスリンポンプ、改ざん防止甚マむクロチップ、および゜フトりェア無線

DIY療法のためのリバヌス゚ンゞニアリングむンスリンポンプ



箄3幎前、私は自分の心に非垞に近いこずに察する報酬を提䟛するWebサむト、぀たりむンスリンポンプずのリバヌス゚ンゞニアリング通信に぀いお聞いたこずがありたす。 私はすでに、Medtronicポンプを䜿甚しお、 Loopず呌ばれる嚘甚のシステムを䜜成するのを手䌝いたした。そのために、通信をリバヌス゚ンゞニアリングしたすメドトロニックの䞻芁な通信プロトコルのほずんどは、Carelink USBデバむスを䜿甚しおBen Westによっおデコヌドされ、無線呚波数を芋぀けお、远加の䜜業を行いたしたプロトコル。 しかし、Medtronicポンプは、䜓操䞭に数時間停止する必芁がありたした。 このオムニポッドポンプのチュヌブレス蚭蚈は私にずっお興味深いものであり、すべおのツヌルを䜿甚できたした。



Omnipodシステムは、モゞュヌルポッドず制埡ナニットPDMず呌ばれる小型の䜿い捚おポンプで構成されおいたす。











PDMは無線でモゞュヌルず通信し、モゞュヌルには組み蟌みのむンタヌフェヌスがないため、これは完党に無線制埡されおいるこずを意味したす。 RileyLinkたたはその修正バヌゞョンのみを䜿甚しお、Loopず完党に統合する可胜性がありたす。



ゞェヌムス・りェディングは報酬を指名し、それは倚くの泚目を集め、そしお仕事を手䌝っおくれた適切な人々が泚目を集めたした。



゜フトりェア無線



SDRは玠晎らしいツヌルです 。 圌はラゞオの隠された䞖界を目に芋えるようにしたす。 さたざたな皮類のメッセヌゞが絶えず攟送されおおり、これらのツヌルを䜿甚するず、メッセヌゞを衚瀺したり、メッセヌゞを衚瀺したりできたす。 特定のデバむスからのメッセヌゞを探しおいる堎合は、怜玢を開始する領域を知る必芁がありたす。 これは、FCCの公開文曞が圹立぀堎所です。



PDMのFCC文曞RBV-019には、デバむスは433 MHz垯域で送信するず曞かれおいたす。 433 MHzの範囲でリッスンするようにSDR゜フトりェアを構成するず、PDMからステヌタスを発行するずきに次の信号が衚瀺されたす。







最終的にわかったように、これらの2本の明るい線は、 呚波数シフトキヌむング 、たたはFSKず呌ばれる特定のタむプの倉調を瀺しおいたす。 ぀たり、信号の呚波数は、送信される情報によっお異なりたす。 ビット1は高い呚波数ずしお送信され䞊段、0はわずかに䜎い呚波数で送信されたす䞋段。 inspectrumツヌルを䜿甚しお、デヌタを分析しお1ず0をより明確に認識できたす。最初のメッセヌゞの拡倧図を次に瀺したす。







これらのビットを抜出しお、パケット党䜓ずしお芋るこずができるように、Pythonスクリプトを䜜成したした。







この繰り返しパタヌンはプリアンブルの䞀郚であるこずがわかりたす。 ゚ネルギヌを節玄するため、受信機は倚くの堎合スリヌプモヌドに入り、定期的に起動しお信号を確認したす。 送信機は、短いリスニング期間のいずれかで受信機がキャッチするのに十分な長さでプリアンブルを送信したす。 受信機がプリアンブルを聞くず、実際のデヌタが衚瀺されるたで起動したす。



実際のバッチデヌタを取埗する前に、別のレむダヌを通過する必芁がありたす。 元のビットず同じ方法で無線を介しおデヌタを送信するこずはできたせん。これは、レシヌバヌが遷移を䜿甚しお、次のビットを埅぀時間に同期するためです。 れロたたは1の長いセットがある堎合、レシヌバヌが同期しなくなる可胜性がありたす。 したがっお、無線通信では通垞、゚ンコヌディングを䜿甚しお、十分な遷移があるこずを確認したす。 Omnipod通信は、いわゆるマンチェスタヌコヌディングを䜿甚したす。 各ビットは2ビットで゚ンコヌドされたす。 1は10ずしお゚ンコヌドされ、0は01ずしお゚ンコヌドされたす。



芋぀けるのに長い時間を芁し、 Slackのopenomniチャンネルには倚くの理論があり 、元のビットを繰り返しおみたした。 Mark Brighton 、 Dan Caron、および@larsonlrは、 RFCatずTi Stickを䜿甚しおパケットをキャプチャするこずである皋床の成功を収めおいたす。 Evarist Kourjoは぀いにrtlomniずいうツヌルを䜜成し、rtl-sdr USBレシヌバヌを䜿甚しおパケットをリッスンしおデコヌドしたす。これは、TI Stickに基づく方法よりも非垞に䟿利で信頌性が高いこずが刀明したした。



パケットデコヌド



実際のビットを受け取ったので、パッケヌゞの構造を調べ始めたした。 異なるモゞュヌルず異なるコマンド間でどのビットが倉曎されたかに基づいお、次のような構造を䜜成したした。







CRC8



無線は理想的な䌝送媒䜓ずはほど遠いものです。 0が送信されたずきに受信者に1を聞かせ、たたその逆の堎合、倚くの異なる干枉源がありたす。 これがい぀発生したかを知るこずは重芁です。そのため、ほずんどのプロトコルはCRCず呌ばれるチェックサムを䜿甚したす。 受信者はデヌタを受信するずCRCを蚈算し、パケットの最埌のバむトには送信者が蚈算したCRCが含たれたす。 䞀臎しない堎合、受信者はパケットを砎棄し、再送信を埅ちたす。



Omnipodプロトコルは、暙準の8ビットCRCを䜿甚したした。 圌を芋぀けたずき、私たちはメッセヌゞを非垞に理解しおいるず刀断したした。 ほんの少ししか知りたせんでした...



メッセヌゞ、CRC16



䞀郚のメッセヌゞは倧きすぎお1぀のパッケヌゞに収たらないため、耇数のパッケヌゞに分割されたす。 メッセヌゞフォヌマットを぀なぎ合わせるず、各メッセヌゞの最埌に別のビットセットがあり、16ビットCRCのように芋えたした。 しかし奇劙なこずに、16ビットのうち5ビットが蚭定されるこずはありたせんでした。 これがどのように゚ンコヌドされるかを理解するために倚くの異なる方法を詊したしたが、䜕も機胜したせんでした。



これが最初の倧きな問題でしたメッセヌゞ内の他の郚分で䜜業を続けるこずができたしたが、送信されおいる内容を理解するのにあたり圹立ちたせん。たた、自分で新しいパケットを生成するこずもできないため、進行が遅くなりたした。



数ヶ月が過ぎおほずんど圹に立たなかった。 最埌に、2016幎の冬、 @ lorelaiずいうニックネヌムのグルヌプのメンバヌは、ファヌムりェアを倧芏暡なARMチップからPDMに正垞にコピヌし、退屈な逆アセンブリプロセスを開始したこずを報告したした。CPU呜什を受け入れ、セマンティック倉数ず関数名を持぀人間が読み取れるコヌドに倉換したす。 圌女は、デヌタを送信するために䜿甚されたさたざたな方法を芋぀けるのに玠晎らしい仕事をしたした。



無題のルヌチンの1぀を芋お、テヌブルからのCRC蚈算の暙準的な実装のように芋えるこずに気付きたした。 たた、テヌブルには暙準の16ビットCRCの倀が含たれおいたした。 テヌブルに独自の実装を䜜成し、通垞のCRCのようにテストしたした。 次に、関数がどのように蚘述されおいるかを泚意深く調べたした。 通垞のCRC実装は次のようになりたす。



while (len--) { crc = (crc << 8) ^ crctable[((crc >> 8) ^ *c++)]; }
      
      





実装は次のようになりたした::



 while (len--) { crc = (crc >> 8) ^ crctable[((crc >> 8) ^ *c++)]; }
      
      





違いに気づきたしたか ビット単䜍の巊シフト挔算子ず想定されおいたものは、䜕らかの方法で右シフトずしお゚ンコヌドされおいたした。 これは間違いです。 砎損したメッセヌゞを特定するのが難しくなるため、独自のCRCアルゎリズムを無効にする理由はありたせん。



皌働したした そしお、圌らは、メッセヌゞのデコヌド、ボヌラス[薬物]の送達のためのPDMからのセッションの蚘録、䞀時的塩基[䞀時基瀎レヌトは、むンスリン送達の増加たたは枛少を決定したす。 per。]、ファむリングの停止など。



シングルナヌス番号



すべおのむンスリン配達チヌムは、メッセヌゞの冒頭に4バむトのデヌタを持ち、それは䜕らかの暗号化のように芋えたした。 繰り返しになりたすが、送信されたメッセヌゞのコンテキストで解釈および分析するさたざたな方法を詊したしたが、CRCではありたせんでした異なるメッセヌゞでも同じ4バむトが衚瀺されるこずがありたした。 そしお時々、写真が繰り返されるのを芋たした。 おそらく、デヌタの耇補を防ぐためのプロトコルの䞀郚ず思われたした。 他のプロトコルでは、同様の機胜はnonce 䜿い捚おの番号ず呌ばれたす。



怜蚎したオプションの1぀は、特定のコマンドを再生するためのメッセヌゞベヌスを蚘録するこずでした。 各モゞュヌルのアドレスが異なっおいたずしおも、CRCの生成方法がわかったため、コマンドの叀いコピヌを取埗し、メッセヌゞに新しいアドレスを远加しおCRCを再カりントできたす。 この䞀回だけが、この戊略の䜿甚を劚げたした。 コマンドに関係なく、モゞュヌルはシヌケンス内の次のナンスのみを受け入れ、次のナンスを生成する方法を知りたせんでした。



しかし 結局、PDMファヌムりェアが逆コンパむルされおいるので、そこを芋るだけです そこで、PDMファヌムりェアを調査し、コヌド内のメッセヌゞの生成を远跡し、これらの4バむトがどこにあるべきかを芋぀けたした。 しかし、暗号化ナンスを蚈算する方法の代わりに、4぀のINS.



文字を芋぀けたしたINS.



。 なんおナンセンス たあ、どういうわけか、このメッセヌゞ領域はパむプラむンの埌半で曎新する必芁がありたす。



PDMには、無線に近い別のチップがありたした。 これは、モゞュヌルで䜿甚されたものず同じチップで、識別子はSC9S08ER48でしたが、むンタヌネット䞊では文曞化されおいたせんでした。 おそらく、むンシュレットの泚文甚に䜜られたのでしょう。 このチップからファヌムりェアを削陀できるかもしれたせん。 残念ながら、チップはブロックされ、ファヌムりェアのコピヌが劚げられたした。







仕事は再び遅くなりたした...それは本圓の行き止たりのようでした。 私たちはすべおの粟神的な努力をこのノンスに向けたしたが、その背埌にある数孊には良い手がかりがありたせんでした。 そしお、おそらく秘密を保持しおいたER48チップはブロックされおおり、クラックに圹立぀公開情報を芋぀けるこずは困難です。



X線写真



ER48を理解しようずしお、Slackコミュニティの䞀郚のメンバヌは、X線撮圱を提案したした。 それは本圓にクヌルでしたが、残念ながら、新しい機䌚を開くこずはできたせんでした。





䞀般的なショット





詳现ショット



怜死ず射撃



ダン・キャロンは、英囜ケンブリッゞ倧孊の研究者であるセルゲむ・スコロボガトフ博士に頌るこずに決めたした。 Danは、ブロックされたチップからコヌドを抜出した経隓があるこずを読み、私たちの問題を調べるように説埗したした。 Skorobogatov博士は、超小型回路のリバヌス゚ンゞニアリングにSEM走査型電子顕埮鏡を䜿甚する分野で研究を行いたした。 圌はこれが可胜であるず瀺唆したが、それは高䟡であり、高䟡な機噚を必芁ずし、結果を保蚌しない。 2016幎の秋にNightscoutハッカ゜ンで出䌚った埌、最近Loopの䜿甚を開始したJoe Moranは、プロゞェクトの支揎に同意したした。 圌は、シリコンバレヌの䌚瀟であるNanolab Technologiesずチップを開いお写真を撮るこずに同意し、NanolabずDr. Skorobogatovの仕事および圌の個人的なモゞュヌルにも芪切に資金を提䟛したした。



Skorobogatov博士は、Nanolabにさたざたな画像技術を適甚しお、既知の非䟵襲的たたは半䟵襲的方法で保護を砎るこずができるかどうかを調べるよう䟝頌したした。 その結果、倚くの画像が衚瀺され、その䞀郚は非垞に矎しいものでした。 これらは、シリコンマトリックスの光孊顕埮鏡画像です。





光孊顕埮鏡䞋のマむクロ回路の䞀般的なビュヌ





光孊顕埮鏡䞋のマむクロ回路の䞀般的なビュヌ



走査電子顕埮鏡を䜿甚しお、マトリックスの特定の領域の画像も撮圱したした。 さたざたな電圧、さたざたな衚面凊理、さたざたな機噚を䜿甚したす。





フラッシュセルのSEM画像。 デヌタを衚瀺したせん



残念ながら、これらの画像はいずれもフラッシュメモリの実際の内容を瀺しおいたせん。



Dr. Skorobogatovには最埌の1぀の方法があり、倱敗した堎合にのみ䜿甚できたす。 これは特蚱取埗枈みの方法であり、その䜿甚には倧孊の蚱可が必芁でした。 Skorobogatov博士は最初のテストを行い、このチップのデヌタを読み取れるこずを確認したした。 しかし、続行する前に、NDAに眲名する必芁があったため、抜出されたファヌムりェアの内容を誰が受け取るかに぀いお亀枉が行われたした。



最終的に、NDAはNightscout財団に眲名し、メ゜ッドおよびメモリ抜出の結果の䞍正開瀺を防止する責任を負いたした。



この合意ず䜜業の結果は、 Sergey Skorobogatov博士によっお曞かれた玠晎らしい蚘事ずファヌムりェアコヌドでした。 初めおコヌドにかなりの数の゚ラヌがありたしたが、開始するにはこれで十分でした。 ナむトスカりトの春のハッカ゜ンで、誰かが解䜓を垌望する堎合、ゞョヌはみんなに目を向けたした。 誰も手を挙げたせんでした。 プロセッサの呜什を理解可胜なものに倉えるこずは骚の折れる䜜業であり、その方法を知っおいる人はほずんどいたせん。 CPUのドキュメントを䜿甚しおアセンブラヌを掘り䞋げようずしたしたが、達成したこずはほずんどなく、倱望したした。 他の人々は、急速な進歩を期埅しお楜芳的にファヌムりェアコヌドを芁求し、タスクの芏暡ず耇雑さを認識し、静かに萜ちたした。





SC908呜什の逆アセンブリの䟋



ゞョヌはアセンブラヌでの幅広い経隓もあり、この困難なタスクを実行し始めたこずがわかりたした。 7月、Skorobogatov博士は2回目のメモリ抜出操䜜を完了し、゚ラヌは倧幅に枛少したした。 倏の間、Joe Moranは粟力的に䜜業しお膚倧な数のプロセッサ呜什を衚瀺し、それらをモゞュヌルの擬䌌コヌドの党䜓像に埐々に統合したした。



最埌に、ハヌドりェアリバヌス゚ンゞニアリングの専門家であるKen Shirriffが加わり、プロセスを倧幅に加速したした。 ゞョヌずケンは䞀緒になっお、ノンスを゚ンコヌドする関数を芋぀けるのに十分なコヌドを翻蚳するこずになりたした。 これは2017幎9月に起こりたした。











RileyLinkずルヌプ



openomniのPythonスクリプトを曎新したしたが、今床はRileyLink + iOSに焊点を合わせるため、OmniKitずRileyLinkのファヌムりェアアップデヌトに取り組み始めたした。 私たちはプロトコルの基本を持っおいるず信じおいたしたが、残りは単なる詳现でした。 繰り返しになりたすが、これからの金額を完党に過小評䟡したす。







モゞュヌルの倉調ずコヌディングを凊理する新しいファヌムりェアを䜜成する必芁がありたした。 たた、メドトロニックではれロがパケットマヌカヌの特別な終端であったため、れロを凊理するためにRLの2぀のチップが互いに通信する方法を曞き盎す必芁がありたした。 耇数のポンプをサポヌトするためにルヌプの倚くを䜜り盎さなければならず、ペアリング、非アクティブ化、および゚ラヌ凊理をサポヌトするための新しいむンタヌフェむスも必芁でした。 幞いなこずに、 Nate Rackliftはこれをすべお可胜にするためにLoopに匷固な基盀を築きたした。



その間、チヌムの圢匏を理解する䜜業が続けられたした。 プロトコルの最も包括的な文曞であるopenomni wikiにすべおが泚意深く文曞化されたした。 Joe、Evarist、およびElkeJÀgerは、メッセヌゞのデコヌドずペヌゞの曎新においお、長い間本圓に玠晎らしい仕事をしおきたした。 SlackチャネルのさたざたなメンバヌがPDMパケットずモゞュヌルのキャプチャに貢献し、党䜓的なデコヌド䜜業を支揎したした。



各チヌムの各コンポヌネントが埩号化するので、デコヌドは楜しい仕事で、倚くの小さな勝利がありたした。私はこの郚分に取り組んで、ルヌプにコヌドを埐々に远加するのが本圓に奜きでした。 2018幎4月、私はSlackで、「プログラムされた基本スケゞュヌルに埓っおiPhone + RLを介しおペアリングされたプラむマリカニュヌレ挿入を行い、その埌5台が病気になった」こずを共有したした。



RL 2.0ファヌムりェアは2018幎7月に完成し、新しい配信がすでに行われおいたす。 これらのボヌドをルヌプおよびオムニポッドで䜿甚できるこずが期埅されおいたしたが、既存の915 MHzアンテナはあたりにも悪く、433 MHzで効果的に動䜜したせんでした。



倏の間、デコヌドず実装は倧幅に進歩し、ルヌプは埐々にパフォヌマンスに近づいおいたす。 ゞョヌは私に資金を提䟛しお驚くべきこずをしたので、私は仕事を蟞めおこのプロゞェクトに集䞭し、最終的に玠晎らしいTidepoolチヌムに参加したした。 もちろん、DIYず医療技術の立法芏制の分野では、私が取り䞊げないむベントがさらにありたしたが、それは非垞に興味深い倏でした



スクリヌマヌ



さらに倚くの機胜がドラむバヌに衚瀺されたら、ルヌプに接続し、時間通りに配信を自動的に構成する機胜をオンにしたした。 この段階では、内郚モゞュヌルチェックの䞀郚で問題が芋぀かり、むンスリンの䟛絊を停止したずきに、「掟手な」モゞュヌルがしばしば埗られたした。



しかし、これは解決可胜な問題のようです。手動でコマンドを送信するずきにルヌプパッケヌゞず元のPDMの小さな䞍䞀臎を芋぀け続けたため、すべおを修正するず「悲鳎」が止たるこずを提案したした。



ワヌクルヌプ



2018幎10月3日に、JoeはLoopを実行するマネヌゞドモゞュヌルを導入し、最初のLoop Omnipodナヌザヌになりたしたが、心配するこずを知っおいたのですぐには教えたせんでした。 圌が私に蚀ったずき、私はただ心配しおいたした。 モゞュヌルがどのように機胜するかを芋お、機胜を理解し、基本的なアルゎリズムは長い間テストされたしたが、それでも...







1か月埌、2018幎11月のNightscoutハッカ゜ンで、さらに数人の冒険者が自分で詊しおみるこずにし、コヌドが公開される前に30人以䞊に成長する小さな閉鎖テストグルヌプの䞀郚になりたした。



残念ながら、3日間の䜿甚が完了する前に発生するこずが倚いモゞュヌルの「悲鳎」に遭遇し、ルヌプコマンドずPDMサンプルを慎重に比范したした。 このプロセスで、Elkeは特に圹に立ちたした。元のバヌゞョンのコマンドを自動的にチェックするスクリプトを䜜成したした。 モゞュヌルの断続的な動䜜は、5分ごずの通信に必芁なバッテリヌの増加に起因するのではないかず心配し始めたした。





モゞュヌルの電圧調敎噚のタップ、背面パネルのプラスチックに穎を開け、接着剀で



そのため、Arduinoを䜿甚しおモゞュヌルの電源電圧を枬定し、デヌタを曞き蟌み、芖芚化のためにロヌカルデヌタベヌスに保存し始めたした。 PDMずルヌプを比范したした。





モゞュヌルの䟛絊電圧の長期的な倉化



残念ながら、これも行き止たりになりたした。 PDMを䜿甚しお倧量のむンスリンを泚入するず、ルヌプモゞュヌルの寿呜党䜓よりもモゞュヌルの電圧を䜎くするこずができ、モゞュヌルを「叫ぶ」こずができたせんでした。 ストレスは問題ではなく、䜕か他のものがあるはずです。





955 MHz巊ず433 MHzコむルアンテナ右を備えたRileyLinks



ある時点で、モゞュヌルずのメッセヌゞの亀換に倱敗した堎合、モゞュヌルはパケットを䜕床も再送しお亀換を終了しようずするこずがあるこずに気付きたした。 テスタヌのログにも倚くの䞍具合があったため、アンテナの実隓を開始したした。 䞡方の問題は、通信の品質に関連する必芁がありたす。 さたざたなアンテナを詊しおむンタヌネット䞊のさたざたな堎所で泚文するこずを蚈画したしたが、これが優先事項になるたでテストする時間はありたせんでした。



RL゚ンクロヌゞャヌの内偎に接続できる433 MHzの柔軟なアンテナがいく぀かありたした。 倚くの堎合、䞀郚のシナリオではパフォヌマンスが向䞊したすが、他のシナリオでは向䞊したせん。 信頌性が䜎すぎたす。 私がリヌルに着いたずき、それは非垞に䞀貫しお非垞に驚くべき範囲で良いパフォヌマンスを瀺したした。 RileyLinkの新しいケヌスを䜜成する時間です。



5分ごずに調敎を行いながらメッセヌゞングを削枛する新しいアンテナずいく぀かの最適化により、悲鳎は非垞にたれになりたした。 おそらくPDMでのモゞュヌルの通垞の䜿甚に匹敵したす。 過去7,500時間のリアルタむムテストで、モゞュヌルの94が確実に完了したした。



テストずドキュメント



テストグルヌプはゆっくりず成長しおきたした。新しいナヌザヌが絶えずシステムに参加し、芋た目を倉えおどの郚分が混乱しおいるかを評䟡できたした。 これらのテスタヌは倚くの掟手なモゞュヌルに耐えお、Omnipodでルヌプのパフォヌマンスを改善するのに非垞に倧きな貢献をしたした。 基本的に、圌らは問題報告ず䜜業ログを送りたした。



これらのレポヌトには、Elkeが䜜成したツヌルを䜿甚しお分析できるメッセヌゞのログがありたす。 歪んだコマンドを受け取った堎合のアむデアを瀺し、ルヌプずモゞュヌルの盞互䜜甚の特定の郚分に関する統蚈を収集するこずもできたす。



Marion Barkerはテストグルヌプに参加し、テストの進捗状況に関する特別なレポヌトず远加の統蚈情報を远加したした。たた、高レベルの進捗状況を把握するために、倱敗に察する成功モゞュヌルの統蚈情報を䜿甚するこずができたした。



最埌に、 Katie DiSimoneがテストグルヌプに参加したした。 圌女は、耇数のデバむスでLoopを䜿甚するためのドキュメントでloopdocs.orgの倧芏暡な再構築を開始したした。 Omnipodで動䜜するLoopのバヌゞョンの埅機は非垞に長く、適切なドキュメントがなければ、同じ質問に圧倒されるこずは明らかでした。



新しいルヌプ機胜



Omnipodずの統合には、いく぀かのむンタヌフェヌス芁玠の再考ず新しいコントロヌルの远加が必芁でした。 モゞュヌルはバッテリヌを報告せず、これが発生した堎合、ナヌザヌは䜎充電でほずんど䜕もできたせん。そのため、バッテリヌレベルりィゞェットを衚瀺しおも意味がありたせん。 さらに、ポンプのナヌザヌむンタヌフェむスがなくおも、ナヌザヌはボヌラスをすばやくキャンセルできる必芁がありたす。 戊車アむコンはメドトロニック戊車を描いおいたので、リメむクしたかったのです。 タンクのレベルを瀺すモゞュヌルのロゎを開発しおくれたPaul Forgioneに感謝したす。







謝蟞



私たちがずっず前に蚭定した目暙を実珟するために、私たちがこの長い道のりを進んでくれたすべおの人々に感謝したす。 関係するすべおのむベントではなく、すべおのむベントに蚀及したわけではないこずを知っおいたす。 これは1぀の蚘事では䞍可胜であり、個人的な経隓しかありたせん。 䜕時間かかったか想像するのは難しいです。 それらをすべお远加するず、衝撃的な数字になるず確信しおいたす。 Omnipod自䜓の䜜成に関する䜜業は蚀うたでもありたせんが、これらはすべおの努力を芆い隠しおいるようです。 みなさんありがずう。 さらに、これらの時間の倚くは、そうでなければ家族ず過ごすこずになっおいたでしょう。 劻ず子䟛たちに時間を割いお理解しおくれたこずに本圓に感謝しおおり、圌らにも感謝したいず思いたす。



泚釈



Joachim Ornstedtは、openomniデコヌドぞの貢献者の1人であり、おそらくomnipodずの最初の統合の䜜成者ずしお蚀及する必芁がありたす。 圌は、光孊匏文字認識OCRを䜿甚しおPDMからデヌタを抜出するデバむスを構築し、別のマむクロコントロヌラヌを介しお数字ボタンを物理PDMに接続したした。 このアプロヌチは拡匵が困難ですが、非垞にスマヌトであり、REに基づく゜リュヌションで察凊しなければならなかった倚くの問題を回避したす。 圌がどのように問題に察凊し、デバむスをルヌプで動䜜させるのにかかった時間のほんの䞀郚で䜜業をセットアップしたかを本圓に賞賛したす。



All Articles