LoRaに基づくCovid-19患者モニタリングデバイス
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
| |||
|
アプリとオンラインサービス
> |
| |||
| ||||
| ||||
|
このプロジェクトについて
夏らしい
センサーベースの接続されたネットワークを介して患者の健康状態を自動的に監視するためのインテリジェントな患者監視システムを提案しました。このシステムは、Covid-19患者向けに特別に設計されています。患者の生物学的行動を収集するために、いくつかのセンサーが使用されます。次に、意味のある生物学的情報がIoTクラウドに転送されます。このシステムはよりインテリジェントで、センサーデータを処理することで患者の重大な状態を検出でき、医師/看護師だけでなく病院の担当者にも即座にプッシュ通知を提供します。医師と看護師は、直接訪問することなく、対応する患者を遠隔で観察することにより、このシステムの恩恵を受けます。患者の親戚も、アクセスが制限されたこのシステムの恩恵を受けることができます。
<図>
説明
この監視システムのメインコントローラーとして、Things UNO(Lora開発ボード)を使用しました。 Things UNOボードは、さまざまなセンサーから患者の健康パラメーターに関する情報を収集しました(ハードウェアコンポーネントリストのセクションで説明)。 Things UNOは、Lora Gateway(Things Gateway)へのデータ送信も担当します。 LoraゲートウェイはAWSクラウドに接続されています。 AWS IoTクラウドプラットフォームは、このシステムのIoTクラウドとして使用されます。
ハードウェアコンポーネントリスト <図>
患者の緊急状態は、単純な数式-I、
によって決定されます。 <図>ここで、しきい値レベルに関する詳細な数学表記は、表1で詳しく説明されています。
<図>センサーデータを視覚化するためのモバイルアプリケーションを開発しました。患者の現在の健康パラメータ(現在の健康状態)を含むリアルタイムセンサーデータを表示するために、さまざまなチャートとゲージが使用されています。このアプリケーションを通じて、医師または看護師はICUユニットにアクセスすることなく患者をリモートで監視できます。インテリジェンスの性質上、システムは患者の緊急事態について対応する医師または看護師にプッシュ通知を送信しました。式-Iは、センサーデータを処理することによって患者の緊急状態を決定します。担当病院(ICU担当者)も、Webベースのクラウド接続デスクトップアプリケーション(図を参照)を介して、一度に複数の患者を常に監視し、ICUユニットの効率を向上させました。すべてのアプリケーションはIoTクラウドに接続され、ゲージ、スパークライン、テキストなどのさまざまな種類のグラフを使用してリアルタイムデータを視覚化しました。
<図> 医師と看護師のための患者監視システムのモバイルアプリケーション。デバイスはセンサーデータをIoTクラウドに継続的にストリーミングし、アプリケーションはクラウドに直接接続され、さまざまな種類のグラフを使用してリアルタイムで視覚化します。
<図>
<図>
結論
このプロジェクトで説明する提案システムでは、医師や看護師だけでなく、病院の担当者がICUユニットで患者をリアルタイムで監視できるため、効率とサービス品質が向上します。このシステムをウェアラブルデバイスとして変更する大きなチャンスがあります。これにより、どこからでも高齢者や赤ちゃんをリモートで監視できます。
参照
1. Uddin、M。S.、Alam、J。B.、およびBanu、S。(2017年9月)。モノのインターネットに基づくリアルタイムの患者監視システム。 2017年に第4回電気工学の進歩に関する国際会議(ICAEE)(pp。516-521)。 IEEE。 DOI:10.1109 / ICAEE.2017.8255410
コード
- ソース
ソース Arduino
#include#include #include #include #include // AppEUIとAppKeyconstを設定char * appEui =" 0000000000000000 "; const char * appKey =" 00000000000000000000000000000000 "; #define loraSerial Serial1#define debugSerial Serial // REPLACE_MEをTTN_FP_EU868またはTTN_FP_US915に置き換えます#define freqPlan REPLACE_ME // VARIABLE TO HOLD THE SENSORS DATAint bpm; int spo2; fお住まいの地域の海面気圧(****)Adafruit_BME280 bme; // BME280Sensnor宣言unsignedlong currentMillis; //現在の時刻を保持します//パルスオキシメータの期間(測定期間)#define REPORTING_PERIOD_MS 1000PulseOximeter pox; uint32_t tsLastReport =0; //パルスが検出されたときにコールバック(以下に登録)が発生しますvoid onBeatDetected(){// Serial.println ( "ビート!");} voidmeasured_pulse(){pox.update(); if(millis()-tsLastReport> REPORTING_PERIOD_MS){bpm =pox.getHeartRate(); tsLastReport =millis(); }} TheThingsNetwork ttn(loraSerial、debugSerial、freqPlan); void setup(){loraSerial.begin(57600); debugSerial.begin(9600); //(!debugSerial &&millis()<10000);の間、シリアルモニターを最大10秒待ちます。 debugSerial.println( "-STATUS"); ttn.showStatus(); debugSerial.println( "-JOIN"); ttn.join(appEui、appKey); Serial.println(F( "BME280テスト")); Serial.println( "初期化MAX30100"); pox.begin(); pox.setOnBeatDetectedCallback(onBeatDetected);ブールステータス; status =bme.begin(); if(!status){Serial.println( "有効なBME280センサーが見つかりませんでした。配線を確認してください!"); while(1); } pinMode(7、OUTPUT); pinMode(A0、INPUT); pinMode(8、INPUT); pinMode(6、INPUT);} void loop(){debugSerial.println( "-LOOP"); h_rate =analogRead(A0);ボタン=digitalRead(8);温度=pox.getTemperature(); spo2 =pox.getSpO2(); bpm =bpm;湿度=bme.readHumidity();動き=digitalRead(6);バイトペイロード[6];ペイロード[0] =highByte(bpm);ペイロード[1] =lowByte(温度);ペイロード[2] =highByte(humidity);ペイロード[3] =lowByte(movement);ペイロード[4] =lowByte(spo2);ペイロード[5] =lowByte(button);ペイロード[6] =lowByte(h_rate); debugSerial.print( "温度:"); debugSerial.println(温度); debugSerial.print( "湿度:"); debugSerial.println(湿度); debugSerial.print( "BPM:"); debugSerial.println(bpm); debugSerial.print( "SPO2:"); debugSerial.println(spo2); debugSerial.print( "H_rate:"); debugSerial.println(h_rate); debugSerial.print( "ボタン:"); debugSerial.println(button); debugSerial.print( "Movement:"); debugSerial.println(movement); ttn.sendBytes(payload、sizeof(payload)); delay(20000);}
回路図
製造プロセス