//Logo Image
作者:馬鴻祥、鄭智銘(2005-05-20);推薦:徐業良(2005-05-20)

可攜式遠距健康監測系統架構中分散式資料伺服器之設計

1.     研究背景

居家環境是每個人最熟悉的空間,也是停留時間最長的場所,相較於傳統問診方式,建構於居家環境下的健康監測系統更能提供長期、持續性的健康監測資料,並能早期察覺行為模式、習慣的改變,及早發現疾病以及生理機能衰退。

近年來有許多「遠距居家照護(Tele-homecare)」相關研究,希望結合資訊與通訊科技,使能在被照護者的家中便利、有效地提供個人健康管理與保健服務。在歐洲、北美、日本也已經有許多遠距居家照護系統已開始作商業運轉,國內也有許多相關研究計畫在進行中。大部分的系統都以慢性病患為對象,長期監測生理訊號並透過網際網路傳送至集中式資料庫(centralized database)儲存、管理,以作為醫療院所診斷之依據。然而這樣的系統架構規模龐大,系統核心是醫院及資訊服務供給者(ISP),所需基礎建設投資大而較缺乏商品化的彈性。此外這樣的架構在國內現行醫療體系、健保制度下似乎也較不可行。

因此本研究提出「可攜式遠距健康監測系統(Portable Tele-Monitoring System, PTMS)」之架構(如圖1),以每一家庭(household)為健康監測資料傳送、儲存、與分析的基本單位,軟硬體設計均以模組化、可攜式(portable)為原則,僅需基本家庭網路環境(如ADSL),不需專用伺服器主機,便能依個人需求裝置於居家環境中。子女、照護者、乃至醫生都可以透過網際網路進入系統中,查詢健康監測資料。

如圖1所示,PTMS的核心是一個以微控制器搭配網路晶片架構,直接連結網際網路環境的「分散式資料伺服器(Distributed Data Server, DDS)」,有體積小、成本低、不易中毒、資料安全性高的優點,十分適合本研究可攜式系統需求。本文即在敘述DDS的功能、硬體設計,並以環境感測為例,說明其實際操作。

1. PTMS架構圖

2.     分散式資料伺服器硬體架構

如圖1所示,DDS主要功能有三:

(1)   感測器資料接收與儲存:如圖1中綠色箭頭所示,DDS以有線或無線的方式接收各感測器傳送過來的健康監測資料,經過初步處理、運算後儲存起來。

(2)   經由網際網路作資料擷取:如圖1中紅色箭頭所示,DDS中所儲存單一家庭、經過初步處理之健康監測資料,被動地接受子女、照護者、醫生、或其他經授權人員的資料索取要求,經由網際網路讀取資料。

(3)   事件驅動訊息傳送:如圖1中藍色箭頭,DDS也有由事件驅動(Event Driven)主動傳送訊息的功能。當感測訊號發生事先設定之異常狀況(如高溫),或DDS長期監測資料顯示異常模式(如長時間沒有動作發生),甚至被照護者在意外發生時主動按鍵傳呼,DDS即會以E-mail或手機簡訊,發送特定對應訊息給指定電子郵件住址或手機電話號碼。此外PTMS還可以進一步連結其他「智慧屋應用(Smart House Applications)」,DDS判讀感測器訊息,驅動家庭中空調、門窗、燈光、警鈴等開啟或關閉,使PTMS除了健康監測外,更有促進安全、舒適、便利生活的意義。

本研究開發之DDS是以Microchip公司生產之PIC18F4620單晶片微控制器為核心,該單晶片具有64K bytes大小的程式記憶體空間,與1310bitA/D channel,搭配8019網路卡所賦予與網際網路溝通的功能、多媒體儲存卡(Multi-media card, MMC)作資料儲存、以及LCD作資料顯示,建構成為監控系統中的伺服器。

如圖2所示,本研究開發之DDS採堆疊式組裝設計,共分為三層,圖3為其系統概要圖。最底層為元智大學機械系機電整合實驗室所開發之單晶片網路伺服器PIC_SERVER(圖4),但PIC18F4620單晶片已經移至中間層,單晶片中所預燒錄之韌體程式使該模組具備有伺服器功能。最上層可因應不同的監測需求,而放置不同的客製化電路板,以及LCD顯示螢幕。中間層為DDS之核心,將在下一節中詳細介紹。

2. 堆疊式組裝設計

3. 系統概要圖

4. PIC_SERVER外觀

3.     DDS中間層設計

3.1 重要元件介紹

DDS中間層為本研究所開發之電路板,實體如圖5所示,以下將介紹DDS中間層重要元件。

5. DDS中間層

(1)   電源系統

如圖6所示,在DDS的電源系統中,共有三組電源以提供不同元件所需。如圖3所示,主電源主要是提供單晶片工作所需之5V電壓,另外也同時提供給時間晶片與MMC元件電源。另外在板上規劃了一組LCD的獨立電源,避免與單晶片共用發生電壓不足問題。此兩組電源皆是以LM2940穩壓IC來設計,此IC有低壓降的特性,不需太高的電壓輸入即可輸出穩定的5V電源,避免高壓降的電量浪費。

此外在板上設計了一組電源以提供給時間晶片備用,時間晶片所需電源可為2.0~5.5V範圍內,有主電源與備用電源的電壓輸入,平常是與單晶片一起共用5V電壓,關閉主電源後,則是使用板上的鋰電池,以確保時間晶片可正常工作。

6. 電路圖

(2)   時間晶片

DDS採用Dallas公司生產之DS1302時間晶片,該晶片所記錄之萬年曆可使用至西元2100年,且在5V的工作電壓下,只需要2mA電流。DS1302時間晶片只要供應電源與外接石英震盪器即可自行動作,可利用單晶片進行時間設定,便可讀取秒、分、時、星期、日、月、年等時間資料。

(3)   多媒體記憶卡

DDS所使用的記憶儲存媒體為MMC記憶卡,MMC卡的讀取壽命約為30萬次。目前資料監測規劃為每10分鐘記錄一筆資料(重複三次),一天讀出寫入估計約450次,因此使用壽命約可以確保兩年不斷地讀出與寫入使用期間不會發生錯誤,不需要任何額外的維護。

3.2 腳位規劃

1所列為DDSPIC18F4620之腳位規劃,其中RD1MMCLCD共用之腳位,需在MMCLCD端分別以1K之隔離電阻隔離之;另外,LCDDS1302時間晶片在RD2發生腳位衝突,也需要加隔離電阻。

1. PIC18F4620腳位規劃

接腳

Pin#

DDS

RA0

2

A/I, D/I

RA1

3

A/I, D/I

RA2

4

A/I, D/I

RA3

5

A/I, D/I

RA4

6

Sys_LED (D/O), ICP_PB, Counter (D/I)

RA5

7

LCD_EN (D/O 專線)

RB0

33

PB_0 /  Ext. INT (D/I), Beeper (D/O)

RB1

34

NIC Address, SA0 (D/O)

RB2

35

MMC

RB3

36

A/I, D/I

RB4

37

NIC Address, SA1 (D/O)

RB5

38

NIC Address, SA2 (D/O)

RB6

39

NIC Address, SA3 (D/O)

RB7

40

NIC Address, SA4 (D/O)

RC0

15

A/I, D/I

RC1

16

A/I, D/I

RC2

17

A/I, D/I

RC5

24

MMC

RC6

25

RS232_TX (D/O), D/I

RC7

26

RS232_RX (D/I), D/O

RD0

19

NIC Data (D/I, D/O) / LCD Display / MMC

RD1

20

NIC Data (D/I, D/O) / LCD Display / MMC

RD2

21

NIC Data (D/I, D/O) / LCD Display / DS1302

RD3

22

NIC Data (D/I, D/O)

RD4

27

NIC Data (D/I, D/O) / LCD Display / DS1302

RD5

28

NIC Data (D/I, D/O) / LCD Display

RD6

29

NIC Data (D/I, D/O) / LCD Display / DS1302

RD7

30

NIC Data (D/I, D/O) / LCD Display

3.3 DDS所需元件

2所列為DDS最底層與中間層硬體所需元件,最上層視使用狀況的不同而有不同的電路板,故不列於表2中,整個DDS硬體材料成本約3500元。

2. 所需元件列表

 

零件

價格

最底層

電路板

300

RTL8019網路卡

150

EEPROM 512K

130

MAX232

60

其他材料

400

中間層

PIC18F4620

700

電路板

300

LM2940

50

MMC socket

50

MMC 128MB

400

DS1302

70

鋰電池

35

LCD

350

其他材料

400

4.     分散式資料伺服器實例應用—以環境監測為例

DDS建置完成後,即能進一步架構PTMS可攜式遠距居家監測系統(如圖7所示),可視不同的需求而有不同的應用。例如圖7為應用於環境監測之系統概要圖,每一個分散式感測資料伺服器後端可以連接8個不同感測器,所有DDS藉由網路方式形成一個感測網。使用者與管理者可以藉由TCP/IP/HTTP通訊協定的方式藉由VB程式或IE瀏覽器向各DDS索取所需要的監測資料,DDS採用開放式的資料傳輸模式,可以使用市面上各種現成的無線∕有線網路技術作為資料傳輸機制。

本節以環境監測為例,說明PTMS架構下DDS之軟硬體操作流程。

7. 系統概要圖

4.1 使用者硬體操作流程

DDS硬體部分如前述,使用者僅需插上電源、網路線與MMC卡,並設定網路IP之後便可以使用。使用時切換模式開關(圖8)後分別有一般監測、評估報告、時間調整三個模式功能,說明如下。

8. PTMS資料伺服器外觀

(1)   一般監測模式操作流程

模式開關切到中間位置為一般監測模式,在LCD上顯示MMC狀態(0為正常)、此PTMS資料伺服器的IP以及目前即時時間三項資訊。

一般模式時PTMS資料伺服器所執行的功能包括收集感測器監測數據、計算環境品質指標以及HTTP SERVER三項功能。PTMS資料伺服器每10分鐘為監測單位將所收集的感測器數據寫入MMC卡中(為了防止失誤,每隔20秒會再寫入一次,共寫入3次),寫入格式為資料儲存點的時間標記以及S1~S11最多11個感測器的數據資料,資料格式順序為「年、月、日、時、分、S1S2S3S4S5S6S7S8S9S10S11」。

PTMS資料伺服器每一天結束後,在隔天的0:01分以及12:01分會將前一天所監測的感測資料進行計算與評估。以環境品質為例,包含溫度、濕度、CO2、噪音、照度5個監測項目,在下一天的凌晨0:01分以及中午12:01分,會將前一天所收集的資料,從MMC卡中讀出,並計算前一天各項感測器的平均值、個別舒適指標以及整體環境品質指標,並將此評估報告儲存於MMC卡中。

(2)   時間調整模式操作流程

如圖9所示,模式開關右切時進入時間調整模式,此時調整設定鈕左鍵為選擇鍵右鍵為增加鍵。按下左鍵LCD上排顯示調整的項目,依序為set yearset monthset dayset hourset min,選定欲調整的項目後,按下右鍵增加一個單位。以圖8為例,目前時間為20041227,先按左鍵待LCD上排顯示set year時,便可以按下右鍵增加年份。

9. 時間調整模式

(3)   評估報告模式操作流程

如圖10所示,模式開關左切時進入評估報告模式,此模式提供近端使用者直接以PTMS資料伺服器的LCD螢幕查詢MMC卡中所記錄的環境品質評估報告的介面。

當切換至評估報告模式後首先顯示的是前一天的評估報告(假設使用者目前時間為2004106為例,切換至評估報告模式後首先呈現的是前一天2004105的的環境品質評估報告),上排LCD所顯示資訊包含MMC狀態(0為正常)、整體環境品質指標EQI1~5分,5為最優良)、溫度、濕度、CO2、噪音、照度5項感測項目的舒適指標(5為最優良)。下來所顯示資訊為所查詢的資料時間、5項感測數據當日的平均值(因2004105僅有溫度與濕度感測器,因此其他資料項為0)。

進入評估報告模式後,此時調整設定鈕的功能左鍵為查詢前一天的評估報告,右鍵為查詢後一天的評估報告(以圖10為例,按下左鍵會顯示104號的評估報告,按下右鍵會顯示106日的評估報告)。

10. 評估報告模式

4.2環境監測程式流程

PTMS資料伺服器執行程式流程如圖11所示,程式開始後首先判斷模式開關切換至哪一種模式,分別執行一般監測模式、時間調整模式、與評估報告模式三種個別的功能。

11. PTMS資料伺服器執行程式流程

(1)   一般監測模式程式流程

11中,當模式開關切換至一般模式時,我們將PIC_SERVER最主要的處理能力都應用在HTTP SERVER的功能上,僅有四個特定事件發生時,PIC_SERVER才會挪出一點時間去執行其他的功能。如此設計下的PIC_SERVER,將主要的能力應用在HTTP SERVER的服務上,一秒鐘約能執行四千次以上無窮迴圈,檢查網路卡是否有收到遠端client的請求並提供HTTP SERVER服務。以下針對四個事件加以介紹:

a.   收集感測器數據、擷取時間晶片時間、更新LCD、偵測MMC卡狀態:每執行500HTTP SERVER後,PIC_SERVER會挪出一點時間去執行其他上述的功能,如此設計下,每秒A/D取樣頻率、LCD與時間日期顯示的更新頻率約為每秒8次,對環境監測系統而言已經非常足夠。

b.  寫入MMC卡:每10分鐘PIC_SERVER會挪出一點時間將感測器所監測的資料寫入MMC卡中,共重複寫入3次(每隔20秒一次)。

c.   環境品質評估報告與EMAIL報告:每天的凌晨0:01分以及中午12:01分,PIC_SERVER會挪出一點時間,將MMC卡中前一天的監測資料進行計算與分析評估,並將評估報告寫入MMC卡中。

d.  收到遠端指令:若PIC_SERVER收到遠端的指令,包括要求即時資料、要求MMC卡中歷史資料等,PIC_SERVER會挪出一點時間執行上述功能。

(2)   調整時間模式

進入時間調整模式後,首先會向時間晶片擷取時間資料,並偵測選擇鍵與增加鍵是否有動作,若有調整動作則更新時間晶片中的時間資料,並顯示於LCD上。

(3)   評估報告模式

切換評估報告模式時,首先會向時間晶片擷取時間資料,計算出前一天日期以及所對應的MMC記憶卡內的資料儲存位置,隨即讀取前一天的評估報告數據。隨即偵測按鍵是否有作動,若有作動則視作動鍵的動作,讀取MMC卡內前一天或後一天的評估報告資料,並將所讀取的資料顯示於LCD螢幕上。

4.3 使用者軟體操作介面

1PTMS架構圖中,使用者除了可以藉由瀏覽器向分散式資料伺服器詢問即時、屆時文字資料外,程式設計者更可設計一友善介面讓使用者方便使用。以下將介紹以Visual Basic程式語言方式所撰寫之介面。

Visual Basic程式語法是以物件導向方式為特點,拉選物件並命名後便可以進行程式的撰寫,加以事件的觸發便可控制程式發生的先後順序。圖12為客製化的VB介面實例,只要使用者輸入IP位置就可讓使用者閱讀即時資訊如溫、濕度、電池電量、MMC的狀態,或其他應用中使用的感測器資料,並可獲取DDSMMC的所有資料,計算出一天的平均溫、濕度等,程式設計員可根據不同的應用情境而設計不同的客製介面。圖12VB介面功能詳述如下。

12. VB介面

(1)   即時資訊

此為使用者索取所有資料所需要的第一步驟,此區塊內設計可監測四組分散於不同地點之DDS,使用者輸入IP位置,點選「即時連線」鈕後,即可與相對應IPDDS連線。連線成功後,出現「連線中」的字樣,並呈現即時的資料。

(2)   一般資訊

需觸發事件一並點選日期,按下「下載資料」鈕後,就可下載該天一天資料量的資訊,並可計算該天的平均溫、濕度。

(3)   資料日期

需觸發事件二並點選所需觀測之感測器,按下「繪圖」鈕後,就可以在VB介面上看到感測器趨勢變化狀況。

(4)   系統維護

此為獨立事件,不需觸發任何事件也可觸動。此功能設計的目的是讓使用者不需近端的時間調整功能,也可以在遠端藉由網際網路作時間更正與重置的動作。