HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------
HOÀNG VĂN LUẬN
NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG
TRAO ĐỔI DỮ LIỆU VÀ CHĂM SÓC SỨC KHỎE
LUẬN VĂN THẠC SĨ KỸ THUẬT
TP. HỒ CHÍ MINH - 2016
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------
HOÀNG VĂN LUẬN
NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG
TRAO ĐỔI DỮ LIỆU VÀ CHĂM SÓC SỨC KHỎE
CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 60.52.02.08
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƢỜI HƢỚNG DẪN KHOA HỌC:
TS. CHUNG TẤN LÂM
TP. HỒ CHÍ MINH - 2016
i
LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung đã đƣợc đề cập trong luận văn đƣợc viết
dựa trên kết quả thực hiện và nghiên cứu của bản thân, dƣới sự hƣớng dẫn của thầy
giáo TS.Chung Tấn Lâm.
Mọi thông tin và số liệu tham khảo đều đƣợc trích dẫn đầy đủ nguồn và sử
dụng đúng luật bản quyền quy định.
Tôi xin chịu trách nhiệm về nội dung của cuốn luận văn.
TP.HCM, ngày 07 tháng 06 năm 2016
Tác giả luận văn
Hoàng Văn Luận
ii
LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các Thầy, Cô giáo Học viện
Công nghệ Bƣu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học
tập tại Nhà trƣờng.
Em xin bày tỏ lòng biết ơn sâu sắc đến TS. Chung Tấn Lâm, ngƣời đã trực
tiếp hƣớng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt
thời gian làm luận văn tốt nghiệp.
Bên cạnh đó, để hoàn thành luận văn này, em cũng đã nhận đƣợc rất nhiều sự
giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồng nghiệp. Em
xin chân thành cảm ơn.
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhƣng chắc
rằng luận văn khó tránh khỏi thiếu sót. Em rất mong nhận đƣợc sự thông cảm và chỉ
bảo tận tình của quý Thầy cô và các bạn.
Em xin chân thành cám ơn!
Học viên thực hiện
Hoàng Văn Luận
iii
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CÁM ƠN .............................................................................................................ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC CÁC BẢNG..........................................................................................v
DANH MỤC CÁC HÌNH VẼ................................................................................... vi
MỞ ĐẦU .....................................................................................................................1
CHƢƠNG I - TỔNG QUAN VỀ HỆ THỐNG TRAO ĐỔI DỮ LIỆU VÀ ..............2
CHĂM SÓC SỨC KHỎE ..........................................................................................2
1.1. Tổng quan về hệ thống trao đổi dữ liệu và chăm sóc sức khỏe .......................... 2
1.2. Thành phần vật lý của hệ thống e-Health ............................................................ 3
1.3. Kiến trúc hệ thống thông minh e-Health ............................................................. 5
1.4. Thu thập dữ liệu ................................................................................................... 6
1.5. Thuật toán quyết định .......................................................................................... 7
1.6. Phê duyệt quyết định ............................................................................................ 8
1.7. Mô tả phần cứng hệ thống ................................................................................... 9
1.7.1. Giới thiệu kit Raspberry Pi .......................................................................9
1.7.1.1. Giới thiệu............................................................................................9
1.7.1.2. Cấu hình của Raspberry Pi ...............................................................10
1.7.1.3. Kết nối của Raspberry Pi .................................................................12
1.7.1.4. Giới thiệu hệ điều hành cho Raspberry Pi .......................................14
1.7.2. Board cảm biến e-Health.........................................................................15
1.7.3. Board kết nối Raspberry Pi với Arduino................................................17
CHƢƠNG 2 - LẬP TRÌNH LẤY DỮ LIỆU CẢM BIẾN .......................................22
2.1. Thiết bị đo nhịp tim và nồng độ oxy trong máu CMS-50D+ ........................... 22
2.1.1. Giới thiệu.................................................................................................22
2.1.2. Thông số kỹ thuật ....................................................................................23
iv
2.1.3. Nguyên lý hoạt động ...............................................................................23
2.1.4. Độ chính xác của SpO2 ...........................................................................24
2.1.5.Lập trình lấy dữ liệu SpO2 .......................................................................24
2.2. Cảm biến đo nhiệt độ cơ thể .............................................................................. 26
2.2.1. Giới thiệu.................................................................................................26
2.2.2.Lập trình lấy dữ liệu nhiệt độ ...................................................................28
2.3. Cảm biến nhịp thở .............................................................................................. 29
2.3.1. Giới thiệu.................................................................................................29
2.3.2. Lập trình lấy dữ liệu nhịp thở .................................................................31
2.4. Cảm biến hƣớng nằm ......................................................................................... 32
2.4.1. Giới thiệu.................................................................................................32
2.4.2. Lập trình lấy dữ liệu hƣớng nằm .............................................................32
2.5. Cảm biến đo điện tim ECG ................................................................................ 34
2.5.1. Giới thiệu.................................................................................................34
2.5.2. Nguyên lý ................................................................................................34
2.6. Thiết kế CSDL và Website ................................................................................ 35
2.6.1. Mô hình liên kết thực thể - quan hệ ........................................................35
2.6.1.1. Các kiểu thực thể ..............................................................................35
2.6.1.2. Mô hình quan hệ...............................................................................37
2.6.1.3. Các bảng dữ liệu...............................................................................37
2.6.2. Giao diện Website ...................................................................................41
CHƢƠNG 3 - KẾT QUẢ THỰC HIỆN ...................................................................43
3.1. Kết quả thực hiện ............................................................................................... 43
3.2. Đánh giá hệ thống .............................................................................................. 43
KẾT LUẬN ...............................................................................................................47
PHỤ LỤC A - CHƢƠNG TRÌNH LẤY DỮ LIỆU TỪ CÁC CẢM BIẾN .............49
TÀI LIỆU THAM KHẢO .........................................................................................55
v
DANH MỤC CÁC BẢNG
Bảng 1.1. Các hàm thông dụng với Arduino ............................................................... 20
Bảng 1.2. Các hàm trong thƣ viện Serial ...................................................................... 20
Bảng 1.3. Các hàm trong thƣ viện Wire ....................................................................... 20
Bảng 1.4. Các hàm trong thƣ viện SPI ......................................................................... 20
Bảng 2.1. Các kiểu thực thể quan hệ ............................................................................ 36
Bảng 2.2. Bảng dữ liệu Config ..................................................................................... 37
Bảng 2.3. Bảng dữ liệu Patient ..................................................................................... 38
Bảng 2.4. Bảng dữ liệu guisms ..................................................................................... 38
Bảng 2.5. Bảng dữ liệu Physician_Patient.................................................................... 39
Bảng 2.6. Bảng dữ liệu Physician ................................................................................. 39
Bảng 2.7. Bảng dữ liệu Temp ....................................................................................... 39
Bảng 2.8. Bảng dữ liệu Pulse ........................................................................................ 40
Bảng 2.9. Bảng dữ liệu Flow ........................................................................................ 40
Bảng 2.10. Bảng dữ liệu ECG....................................................................................... 40
Bảng 2.11. Bảng dữ liệu SpO ....................................................................................... 41
Bảng 2.12. Bảng dữ liệu POS ....................................................................................... 41
Bảng 3.1. Theo dõi nhịp thở của bệnh nhân ................................................................. 44
Bảng 3.2. Bảng ra quyết định của hệ thống .................................................................. 45
Bảng 3.3. Theo dõi nhịp tim của bệnh nhân ................................................................. 45
vi
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Mô hình tổng quát hệ thống thu thập dữ liệu và chăm sóc sức khỏe ........ 3
Hình 1.2. Các board đƣợc sử dụng trong hệ thống e-Health ..................................... 4
Hình 1.3. Mô hình kết nối các cảm biến với hệ thống ............................................... 4
Hình 1.4. Kiến trúc hệ thống thông minh e-Health .................................................... 5
Hình 1.5. Giải thuật ra quyết định .............................................................................. 7
Hình 1.6. Board Raspberry Pi ..................................................................................... 9
Hình 1.7. Những thông số sơ lƣợc về Raspberry Pi B v.2 ....................................... 10
Hình 1.8. Sơ đồ các chân GPIO của board Raspberry Pi......................................... 13
Hình 1.9. Raspberry Pi và các thiết bị kết nối với nó .............................................. 14
Hình 1.10. Các cổng giao tiếp in/out board e-Health mặt trên ................................ 15
Hình 1.11. Các cổng giao tiếp in/out board e-Health mặt dƣới ............................... 16
Hình 1.12. Board e-Health gắn trên Arduino ........................................................... 17
Hình 1.13. Board kết nối Raspberry Pi với Arduino................................................ 18
Hình 1.14. Sơ đồ các chân của board kết nối Raspberry Pi với Arduino ................ 19
Hình 2.1. Thiết bị đo nhịp tim và nồng độ oxy trong máu ...................................... 22
Hình 2.2. Cảm biến đo nhiệt độ cơ thể ..................................................................... 26
Hình 2.3. Cảm biến nhịp thở ..................................................................................... 29
Hình 2.4. Cảm biến hƣớng nằm ................................................................................ 32
Hình 2.5. Cảm biến đo điện tim ECG ...................................................................... 34
Hình 2.6. Di chuyển dòng điện của tim. Từ hạch SA trong tâm nhĩ chuyển xuống
hạch AV và lan vào tâm thất (x giây) ....................................................................... 35
Hình 2.7. Mô hình thực thể - quan hệ ....................................................................... 37
Hình 2.8. Giao diện chính Website........................................................................... 42
Hình 2.9. Giao diện dữ liệu cảm biến ....................................................................... 42
Hình 3.1. Biểu đồ theo dõi nhịp thở của bệnh nhân ................................................. 44
Hình 3.2. Biểu đồ theo dõi nhịp tim của bệnh nhân................................................. 46
1
MỞ ĐẦU
Hiện nay, tại Việt Nam việc thăm khám, theo dõi và điều trị bệnh đã và đang
trở nên là nhu cầu thiết yếu của ngƣời dân, đặc biệt là ở các thành phố lớn, các vùng
núi xa xôi và hải đảo, nơi điều kiện về y tế còn gặp nhiều khó khăn và thiếu thốn về
điều kiện cơ sở vật chất, hạ tầng. Hơn nữa, trong điều kiện bùng nổ công nghệ
thông tin nhƣ hiện nay, mọi ngƣời đều đƣợc tiếp cận với các thiết bị cá nhân nhƣ là
phƣơng tiện làm việc, học tập nghiên cứu và giải trí. Xuất phát từ những điều này,
em đã chọn đề tài “Nghiên cứu phát triển hệ thống trao đổi dữ liệu và chăm sóc
sức khỏe” để đáp ứng đƣợc nhu cầu ngày càng cao về chăm sóc y tế của con ngƣời
và góp phần vào sự tiến bộ, văn minh hiện đại của nƣớc nhà.
Hệ thống là sự kết hợp giữa các phần cứng cảm biến thu nhận, xử lý các thông
số sinh học, phần mềm điều khiển xử lý dữ liệu và hiển thị trên các thiết bị cá nhân
dựa trên nền tảng Web. Các thông số sinh học chứa những thông tin về bệnh lý bao
gồm: Điện tim ECG, nhịp tim HR, nhịp thở RESP, nồng độ ão hòa SpO2 và nhiệt
độ cơ thể Temp. Thiết bị đã đƣợc xây dựng và hoạt động tƣơng đối ổn định, có độ
tin cậy và chính xác cao, đảm bảo an toàn, phần mềm điều khiển đơn giản, kết quả
đo đƣợc hiển thị một cách trực quan và thân thiện.
Quyển luận văn này giúp ngƣời đọc nắm bắt đƣợc kiến trúc phần cứng cũng
nhƣ phần mềm của hệ thống trao đổi dữ liệu và chăm sóc sức khỏe mà mục tiêu của
luận văn đã đề ra ở trên.
Luận văn bao gồm 3 chƣơng:
Chƣơng 1: Tổng quan về hệ thống trao đổi dữ liệu và chăm sóc sức khỏe.
Chƣơng 2: Lập trình lấy dữ liệu từ các thiết bị y khoa.
Chƣơng 3: Kết quả thực hiện.
Mặc dù em đã hoàn thiện đƣợc quyển luận văn và hệ thống “Trao đổi dữ liệu
và chăm sóc sức khỏe”, nhƣng do còn hạn chế về kiến thức nên chắc chắn còn nhiều
thiếu sót. Em mong nhận đƣợc sự đóng góp quý báu của quý thầy cô giáo và các
bạn.
2
CHƢƠNG I - TỔNG QUAN VỀ HỆ THỐNG TRAO ĐỔI
DỮ LIỆU VÀ CHĂM SÓC SỨC KHỎE
1.1. Tổng quan về hệ thống trao đổi dữ liệu và chăm sóc sức khỏe
Luận văn này trình bày việc thiết kế và thực hiện hệ thống trao đổi dữ liệu và
chăm sóc sức khỏe gọi tắt là e-Health. Hệ thống đƣợc thiết kế để khắc phục sự
chậm trễ trong việc truyền tải thông tin y tế bệnh nhân đến bộ phận chăm sóc sức
khỏe. Ví dụ, trong tai nạn và tình huống khẩn cấp, mà thời gian là rất quan trọng, hệ
thống giúp loại bỏ sự cần thiết phải nhập dữ liệu bằng tay. Một hệ thống e-Health
hiệu quả cũng góp phần vào việc sử dụng hiệu quả dữ liệu dựa trên dữ liệu thời gian
thực. Kiến trúc cho hệ thống này dựa trên việc sử dụng các cảm biến y tế, trong đó,
một khi kết nối với bệnh nhân, hệ thống cho phép đo lƣờng tình trạng thể chất của
bệnh nhân. Những cảm biến thu thập dữ liệu từ cơ thể bệnh nhân qua mạng không
dây, với các dịch vụ điện toán đám mây. Hệ thống đƣa ra các quyết định y tế thích
hợp sử dụng một thuật toán ra quyết định, mà dựa trên các tiêu chuẩn y tế và các dữ
liệu y tế lịch sử của bệnh nhân. Quyết định đề xuất sẽ đƣợc gửi đến nhân viên y tế,
chịu trách nhiệm chăm sóc sức khỏe cho bệnh nhân, và phê duyệt. Hệ thống sẽ gửi
quyết định cuối cùng cho bệnh nhân sau khi nhân viên y tế phê duyệt. Do đó, bệnh
nhân sẽ có các dịch vụ chất lƣợng cao vì hệ thống thông minh e-Health hỗ trợ nhân
viên y tế bằng cách cung cấp thu thập dữ liệu theo thời gian thực, loại bỏ phƣơng
pháp thu thập dữ liệu truyền thống thủ công và tạo điều kiện cho việc giám sát một
lƣợng lớn nhiều bệnh nhân cùng lúc.
3
Cảm biến
nhịp thở
Cảm biến
nhiệt độ
Raspberry Pi
Bác sĩ – Bệnh nhân
Cảm biến
Webserver
điện tim đồ
Cảm biến
hƣớng nằm
Hình 1.1: Mô hình tổng quát hệ thống thu thập dữ liệu và chăm sóc sức khỏe
Có rất nhiều lợi thế của việc sử dụng hệ thống thông minh e-Health, chẳng
hạn nhƣ:
Cung cấp thu thập dữ liệu theo thời gian thực.
Loại bỏ việc thu thập dữ liệu truyền thống thủ công, mà đôi khi xảy ra lỗi
trong quá trình nhập liệu.
Theo dõi một lƣợng lớn bệnh nhân với số lƣợng đội ngũ y tế hạn hẹp.
Đảm bảo việc sử dụng giƣờng bệnh hiệu quả, chỉ dành cho những bệnh
nhân thực sự cần đến và giúp các nhân viên y tế có thể áp dụng đƣợc
những kinh nghiệm thu thập đƣợc trong quá trình điều trị cho bệnh nhân.
1.2. Thành phần vật lý của hệ thống e-Health
Trong luận văn này em sử dụng các cảm biến kết nối với một board cảm biến
e-Health đƣợc gắn với board Raspberry Pi. Board cảm biến e-Health và các cảm
biến y khoa đƣợc thiết kế bởi công ty Libelium, nhằm giúp các nhà nghiên cứu và
phát triển đo lƣờng dữ liệu cảm biến theo thời gian thực, có thể sử dụng cho mục
đích thử nghiệm. Nền tảng e-Health này chỉ đƣợc sử dụng cho mục đích nghiên cứu
và không có chứng nhận y tế nên việc sử dụng nó là hạn chế, không nên sử dụng để
4
theo dõi những bệnh nhân quan trọng, những ngƣời cần các thiết bị giám sát y tế
chính xác. Board cảm biến e-Health lúc đầu đƣợc thiết kế cho Arduino, để sử dụng
board cảm biến này với Raspberry Pi ta phải sử dụng thêm board cầu nối để kết nối,
cho phép Raspberry Pi trao đổi dữ liệu với các cảm biến thông qua board e-Health.
Raspberry Pi
Board cầu nối
Board cảm biến e-Health
Hình 1.2: Các board đƣợc sử dụng trong hệ thống eHealth
Mặc dù có sẵn nhiều cảm biến nhƣng trong giới hạn luận văn này, em chỉ sử
dụng các loại cảm biến sau: cảm biến đo nhịp tim và nồng độ oxy trong máu
(SpO2), cảm biến đo nhiệt độ cơ thể, cảm biến đo vị trí nằm của bệnh nhân và cảm
biến đo điện tim (ECG).
Hình 1.3: Mô hình kết nối các cảm biến với hệ thống
5
1.3. Kiến trúc hệ thống thông minh e-Health
Kiến trúc này đƣợc thiết kế dựa trên sự kết hợp truyền dữ liệu giữa các cảm
biến y khoa (cho biết tình trạng bệnh lý của bệnh nhân) và hệ thống CSDL (lƣu trữ
dữ liệu ngƣời bệnh). Sự kết hợp này biến e-Health thành một hệ thống theo dõi sức
khỏe cơ bản.
Hình 1.4: Kiến trúc hệ thống thông minh e-Health
Từ hình 1.4 ta thấy, các cảm biến y khoa đƣợc kết nối với Raspberry Pi,
Raspberry Pi có nhiệm vụ thu thập dữ liệu từ các cảm biến và truyền dữ liệu này
thông qua các kênh truyền thông không dây với các dịch vụ lƣu trữ dữ liệu. Nền
tảng này cung cấp các dịch vụ sau:
Dịch vụ lƣu trữ, có nhiệm vụ lƣu trữ dữ liệu bệnh nhân.
6
Dịch vụ phân tích dữ liệu, có nhiệm vụ cung cấp các quyết định y khoa
dựa trên các dữ liệu y khoa lịch sử của bệnh nhân.
Dịch vụ quản lý, sử dụng cho việc cập nhật, xem xét và kiểm tra dữ liệu
của bệnh nhân đƣợc thực hiện bởi nhân viên y tế. Nhân viên y tế và bệnh
nhân có thể sử dụng các ứng dụng đám mây từ các thiết bị di động và cố
định khác nhau, sử dụng Internet.
1.4. Thu thập dữ liệu
Các cảm biến y khoa đƣợc kết nối với Raspberry Pi để đọc dữ liệu từ cơ thể
của bệnh nhân và thực hiện truyền dữ liệu (mã bệnh nhân và dữ liệu cảm biến) qua
mạng không dây sau đó lƣu vào trong cơ sở dữ liệu MySQL. Những cảm biến này
lấy dữ liệu bệnh nhân theo thời gian thực và đƣợc đƣa lên hiển thị trên website để
bác sỹ hay ngƣời nhà bệnh nhân đều có thể theo dõi trực tuyến.
Khi có dấu hiệu bất thƣờng, dữ liệu đƣợc cập nhật vào các bảng trong
MySQL. Lúc này các thủ tục quyết định sẽ thực hiện ra quyết định và gửi quyết
định cho bác sỹ phê duyệt bằng SMS hay tƣơng tác trên website.
7
1.5. Thuật toán quyết định
Hình 1.5: Giải thuật ra quyết định
Hình 1.5 cho thấy tiến trình xử lý hệ thống giải thuật quyết định. Thủ tục
thuật toán ra quyết định có nhiệm vụ đƣa ra quyết định y tế dựa trên bốn thông số,
tên bệnh nhân, mã bệnh nhân, loại cảm biến và dữ liệu cảm biến hiện tại. Khi
chƣơng trình nhận dữ liệu từ cảm biến, thuật toán sẽ kiểm tra nếu dữ liệu cảm biến
là bình thƣờng hay bất bình thƣờng dựa trên giá trị bình thƣờng từ kết quả kiểm tra
y tế và các chính sách y tế đối với bệnh nhân đƣợc định nghĩa trong hệ thống. Trong
mối quan hệ sức khỏe, giá trị bình thƣờng của các kết quả kiểm tra y tế thƣờng đƣợc
mô tả nhƣ là biến của các đại lƣợng hay giá trị của những ngƣời khỏe mạnh. Giá trị
tham khảo thƣờng đƣợc xác định bởi giá trị cao nhất và thấp nhất của những ngƣời
bình thƣờng.
8
Mỗi bệnh nhân có một hồ sơ chính sách y tế trong hồ sơ hệ thống với loại
cảm biến, để hỗ trợ hệ thống tạo ra quyết định y tế phù hợp. Ví dụ, một vài bệnh
nhân có bệnh mãn tính, trong một vài trƣờng hợp, đội ngũ y tế xem xét một vài thay
đổi với các thông số bình thƣờng trong các kiểm tra y tế. Đội ngũ y tế có thể đƣa ra
các chính sách đặc biệt cho mỗi bệnh nhân dựa trên tình trạng bệnh nhân. Ví dụ:
Ví dụ 1:
Nếu patient_id = “1” & SpO < “89” & temp > “37.5” = “bệnh nhân cần theo dõi” &
ra quyết định & gửi cảnh báo tới bác sỹ.
Ví dụ 2:
Nếu patient_id = “2” & SpO < “85” & temp > “39” = “bệnh nhân cần theo dõi” &
ra quyết định & gửi cảnh báo đến bác sỹ.
Nếu dữ liệu là bình thƣờng, thuật toán sẽ lƣu dữ liệu này trong bảng thông
tin cảm biến trong cơ sở dữ liệu để thực hiện truy vấn lịch sử dữ liệu. Hơn nữa,
thuật toán sẽ tạo quyết định y tế dựa trên dữ liệu y tế lịch sử của bệnh nhân. Nếu
bệnh nhân không có bất kì dữ liệu lịch sử y tế trong cùng điều kiện, hệ thống sẽ
thực hiện quyết định y tế dựa trên lịch sử dữ liệu y tế của bệnh nhân trong cùng điều
kiện sức khỏe.
1.6. Phê duyệt quyết định
Sau khi hệ thống tạo quyết định thích hợp, những quyết định đƣợc gửi tới đội
ngũ y tế có trách nhiệm chăm sóc theo dõi sức khỏe bệnh nhân và thực hiện phê
duyệt quyết định. Có nhiều cách để gửi cảnh báo cho đội ngũ y tế nhƣ gửi sms hay
email. Họ có thể sử dụng trình duyệt hay thiết bị di động để xem xét và cập nhật
quyết định. Đội ngũ y tế có trách nhiệm sẽ xem xét thông tin lịch sử của bệnh nhân
dựa trên các đơn thuốc và các bệnh mãn tính. Sau đó, đội ngũ y tế sẽ quyết định nếu
quyết định đƣợc tạo ra bởi hệ thống phù hợp với tình trạng của bệnh nhân hay họ sẽ
thực hiện thay đổi và cập nhật chúng. Sau khi đội ngũ y tế chấp nhận quyết định, hệ
thống sẽ chấp nhận quyết định, thực hiện lƣu lại và gửi các quyết định đã đƣợc chấp
nhận tới bệnh nhân để theo sự chỉ dẫn y tế.
Một số thuận lợi của hệ thống đƣa ra, bao gồm:
9
Cung cấp dữ liệu theo thời gian thực.
Hạn chế việc thu thập dữ liệu theo phƣơng pháp thủ công, dễ gây ra lỗi dữ
liệu.
Cho phép theo dõi lƣợng lớn bệnh nhân không phụ thuộc vào đội ngũ y tế.
Sử dụng hợp lý giƣờng bệnh, tiết kiệm chi phí đầu tƣ.
1.7. Mô tả phần cứng hệ thống
1.7.1. Giới thiệu kit Raspberry Pi
1.7.1.1. Giới thiệu
Hình 1.6: Board Raspberry Pi
Raspberry Pi(Rpi) là một chiếc máy tính tí hon giá chỉ từ 35$ chạy hệ điều
hành Linux ra mắt vào tháng 2 năm 2012. Ban đầu Rpi đƣợc phát triển dựa trên ý
tƣởng của tiến sĩ Eben Upton tại đại học Cambridge muốn tạo ra một chiếc máy tính
giá rẻ để học sinh có thể dễ dàng tiếp cận và khám phá thế giới tin học. Dự định
khiêm tốn của ông đến cuối đời là có thể bán đƣợc tổng cộng 1000 bo mạch cho các
trƣờng học. Vậy thì điều gì đã làm nên thành công ngoài sức tƣởng tƣợng của Rpi
khi đã bán đƣợc hơn một triệu bo mạch chỉ trong vòng chƣa đầy một năm.
Rpi là một máy tính siêu nhỏ, chỉ có kích thƣớc nhƣ 1 chiếc thẻ ATM rút
tiền. Bạn chỉ cần 1 bàn phím, 1 tivi hoặc 1 màn hình có cổng HDMI/DVI, 1 nguồn
USB 5V và 1 dây micro USB là đã có thể sử dụng Rpi nhƣ 1 máy tính bình thƣờng.
10
Với Rpi, bạn có thể sử dụng các ứng dụng văn phòng, nghe nhạc, xem phim độ nét
cao (tới 1024p)...
Hình 1.7: Những thông số sơ lƣợc về Rpi B v2
1.7.1.2. Cấu hình của Rpi
Trái tim của Pi là vi xử lý Broadcom BCM2835 chạy ở tốc độ 700mHz. Đây
là vi xử lý SoC (system-on-chip) tức là hầu hết mọi thành phần của hệ thống gồm
CPU, GPU cũng nhƣ audio, communication chip đều đƣợc tích hợp trong một. Chip
SoC này nằm ngay bên dƣới chip memory Hynix 512 MB màu đen ở giữa board.
Tùy theo model mà Raspberry sử dụng chip khác nhau:
Rpi model B+: Broadcom BCM2835 với 512MB RAM.
Rpi 2 model B: Broadcom BCM2836 với 1GB RAM.
Rpi model A: Broadcom BCM2835 với 256MB RAM.
Rpi 3 model B: Broadcom BCM2837 với 1GB RAM.
Bởi vì RAM đƣợc tích hợp sẵn trong đế chip nên bạn không thể nâng cấp
RAM cho Pi. CPU BMC2835 sử dụng nhân ARM1176JZFS (ARM11) cho hiệu
năng cao và giá thành thấp. SoC này khác với CPU ở trong PC thông thƣờng ở chỗ
nó đƣợc chế tạo dựa trên kiến trúc tập lệnh (Instruction Set Architect – ISA)
11
là ARM chứ không phải kiến trúc x86 nhƣ của Intel. ARM có ISA dạng rút gọn
RISC và tiêu thụ điện năng rất thấp nên phù hợp với thiết bị di động.
ARM dẫn đầu trong mảng thiết bị di động. Lấy ví dụ nhƣ chip ARM trên
Rpi: toàn bộ mạch hoạt động với nguồn 5V, 700mA tức là chỉ tiêu hao 3.5W mỗi
giờ trong khi một laptop cũng ngốn ít nhất vài chục Watt. Thiết kế này bảo đảm Rpi
hoạt động với sức mạnh vừa phải trong khi vẫn giữ đƣợc hình dáng nhỏ gọn do
không cần quạt tản nhiệt và do đó, ARM có mặt trong hầu hết điện thoại di động
thời nay.
Ngoài ra chip BCM2835 dùng thế hệ ARM11 thuộc phiên bản ARMv6.
ARMv6 hoạt động hiệu quả và tiết kiệm năng lƣợng nhƣng mặc định lại không
tƣơng thích phần mềm với thế hệ ARMv7. Tuy nhiên, điều này có thể giải quyết
bằng cách sử dụng phần mềm chuyển đổi để đạt sự tƣơng thích. Nói nhƣ vậy không
có nghĩa là lập trình Rpi sẽ gặp nhiều khó khăn. Ngƣợc lại, cộng đồng Rpi phát triển
rất nhanh trên thế giới và nguồn tài nguyên còn phong phú hơn nhiều, hàng loạt dự
án, phần mềm đƣợc phát triển cho Pi sẽ làm bạn hài lòng.
Cắm Rpi vào cổng USB của máy tính có thể cấp nguồn cho Pi hoạt động ở
mức bình thƣờng, không sử dụng các kết nối internet nhƣ LAN và wifi.
Raspberry là một máy tính, để máy tính này hoạt động bạn cần cài đặt hệ
điều hành. Trong thế giới nguồn mở linux, có rất nhiều phiên bản hệ điều hành tùy
biến (distro) khác nhau. Tùy theo nhu cầu và mục đích, cũng nhƣ khả năng học hỏi
mà bạn sẽ sử dụng distro phù hợp với mình.
Ứng dụng của Rpi: Có nhiều ứng dụng từ đơn giản đến phức tạp có thể kể đến nhƣ:
dùng Rpi làm trung tâm giải trí đa phƣơng tiện, internet TV, ổ đĩa sao lƣu dự phòng
trên mạng nội bộ, kết hợp với webcam làm hệ thống phát hiện chuyển động, nhận
diện khuôn mặt, điều khiển robot, nhận và gửi tin nhắn GSM với USB 3G, điều
khiển tắt/mở đèn trong nhà, và còn rất nhiều ứng dụng khác...
12
1.7.1.3. Kết nối của Rpi
Khe cắm thẻ nhớ: sử dụng loại thẻ SD Card, đây là nơi lƣu trữ hệ điều hành
và tất cả các dữ liệu hoạt động của Rpi. Dung lƣợng của thẻ nhớ phải từ 2GB trở lên
để đảm bảo cho hệ thống hoạt động tốt.
Micro USB Power: Rpi có thể sử dụng đến 700mA tại mức áp 5V khi sử
dụng nhiều thiết bị USB và cổng LAN. Do đó để Rpi hoạt động ổn định, nhà sản
xuất khuyến cáo sử dụng bộ nguồn USB 5V 2A. Ngoài việc cấp nguồn cho Pi thông
qua cổng micro USB, bạn có thể cấp nguồn trực tiếp vào cổng GPIO (5V và GND).
Nếu bạn không am hiểu về điện tử thì cách này không đƣợc khuyến cáo. Điện áp
quá mức 5V cấp trực tiếp vào GPIO có thể gây hƣ hỏng các thiết bị cắm vào cổng
USB, chip quản lý USB và LAN. Tốt nhất nên sử dụng 1 nguồn switching chuyển
về 5V hoặc sử dụng IC LM7805.
TFT Touch Screen: nơi đây sẽ giúp cho bạn có thể kết nối Rpi với màn hình
cảm ứng để hiển thị và sử dụng Raspberry một cách trực quan nhất. Chúng ta có thể
thực hiện các tác vụ tƣơng đƣơng nhƣ khi sử dụng chuột và bàn phím.
Camera expansion: khe cắm này là để cắm modem camera vào Rpi. Khi sản
xuất Rpi thì nhà sản xuất còn sản xuất thêm một modem camera 5MP nhƣng ngƣời
mua không đƣợc hỗ trợ mà phải mua thêm. Chúng ta có thể chụp hình, quay phim,
... làm việc tất cả các tác vụ nhƣ trên một camera bình thƣờng.
Cổng HDMI: cổng này dùng để kết nối với các thiết bị có hỗ trợ chuẩn kết
nối HDMI, nếu thiết bị của chúng ta không hỗ trợ HDMI mà chỉ hỗ trợ VGA thì
chúng ta phải sử dụng một dây cáp chuyển đổi từ HDMI sang VGA. Thƣờng thì
cổng này dùng để kết nối ra màn hình, tivi, máy chiếu, .... để hiển thị giao diện của
hệ điều hành.
Cổng kết nối Ethenet: dùng để kết nối Internet, mạng Lan, truy cập SSH,...
2 cổng USB: dùng để kết nối với chuột, bàn phím, usb, usb 3g, usb wifi và
các thiết bị có hổ trợ cổng USB.
13
Stereo audio: dùng để kết nối với tai nghe, loa, và các thiết bị âm thanh có
cổng Jack 3.5mm.
TV: dùng để kết nối và phát tín hiệu hình ảnh lên Tivi.
GPIO: Rpi cung cấp nhiều cổng GPIO, giao tiếp SPI, I2C, Serial. Các cổng
GPIO đƣợc sử dụng để xuất/nhận giá trị 0/1 ra/vào từ bên ngoài. Giao tiếp SPI, I2C,
Serial có thể đƣợc dùng để kết nối trực tiếp với các vi điều khiển khác. Đặc biệt phù
hợp cho những ai cần điều khiển các thiết bị điện tử ngoại vi.
Rpi v1 GPIO
Rpi v2 GPIO
Hình 1.8: Sơ đồ các chân GPIO của board Rpi
14
Hình 1.9: Rpi và các thiết bị kết nối với nó
1.7.1.4. Giới thiệu hệ điều hành cho Rpi
Sau phần giới thiệu Rpi và cấu tạo của nó, ta sang phần thực hành với Pi.
Khác với vi điều khiển có thể chạy ngay sau khi chạy chƣơng trình điều khiển, Pi
cần có hệ điều hành để hoạt động. Đây cũng là ƣu điểm của Pi vì nó cho phép ngƣời
dùng tận dụng rất nhiều phần mềm và thiết bị ngoại vi để lập trình ứng dụng phức
tạp một cách nhanh chóng.
Các hệ điều hành hiện tại mà Rpi hỗ trợ:
NOOBS (New Out Of Box Software): đây là hệ điều hành cơ bản nhất
của Rpi, không hổ trợ giao diện mà chỉ dùng giao diện dòng lệnh.
Raspbian: đƣợc tạo nên từ hệ điều hành Debian của Linux chuyên dùng
cho các dòng máy tính, có giao diện nhƣ 1 máy tính, hổ trợ cả về mạng,
và giao tiếp vào ra.
15
Pidora: tạo nên từ phiên bản hệ điều hành Fedora của Linux, cũng hỗ trợ
tốt về giao diện, mạng và giao tiếp vào ra.
RaspBMC: tạo ra để chuyên dùng giải trí, sử dụng giao diện XBMC
media center, giao diện thƣờng thấy trong các TIVI Internet hiện nay.
OpenELEC: một phiên bản dùng giao diện XBMC Mediacenter khác, hỗ
trợ nhanh và thân thiện cho ngƣời sử dụng.
RISC OS: phiên bản hệ điều hành rút gọn với tính năng hoạt động nhanh
nhất trong các hệ điều hành.
Arch: phiên bản hệ điều hành phát triển riêng cho các dòng kit dùng chip
ARM.
1.7.2. Board cảm biến e-Health
Board cảm biến e-Health cho phép Arduino và Rpi có thể thực hiện các ứng
dụng y tế và sinh trắc học để giám sát cơ thể với hơn 10 cảm biến khác nhau nhƣ:
nhịp tim, nồng độ oxy trong máu (SpO2), nhịp thở, nhiệt độ cơ thể, điện tâm đồ
(ECG), đo nồng độ đƣờng trong máu, phản ứng đổ mồ hôi của da, huyết áp, vị trí
nằm của bệnh nhân và cảm biến cơ (EMG).
Hình 1.10: Các cổng giao tiếp in/out board e-Health mặt trên
16
Hình 1.11: Các cổng giao tiếp in/out board e-Health mặt dƣới
Board này là board chính của đồ án, cùng với các cảm biến y khoa với thƣ
viện e-Health cho Arduino và Rpi, cho phép chúng ta thực hiện đọc hay thu nhận
các thông số dễ dàng với chi phí thấp.
Các cảm biến e-Health đƣợc thiết kế với các chân tƣơng thích với Arduino.
Vì vậy để sử dụng đƣợc e-Health với Arduino ta phải cấp nguồn cho Arduino với
nguồn ngoài hoặc nguồn USB.
Trong lập trình Arduino, thƣ viện e-Health đƣợc sự dụng để lập trình. Thƣ việc
đƣợc sử dụng với hàm nhƣ sau:
#include <PinChangeInt.h>
#include <eHealthDisplay.h>
#include <eHealth.h>
17
Hình 1.12: Board e-Health gắn trên Arduino
Cấu hình:
Trang web chính thức của libeluim và cooking hacks chứa tất cả các thông tin cần thiết để cấu hình board e-Health
để hoạt động tốt với các cảm biến trên Arduino và Rpi.
1.7.3. Board kết nối Rpi với Arduino
Board kết nối Rpi với Arduino cho phép sử dụng nhiều board và module
đƣợc thiết kế cho Arduino sử dụng đƣợc với Rpi. Board có thể kết nối đƣợc với các
cảm biến số và tƣơng tự, sử dụng sơ đồ chân nhƣ Arduino nhƣng sử dụng nguồn và
tài nguyên Raspberry. Board này tƣơng thích với Rpi, Rpi (Model B+), Rpi 2 và
bản mới Rpi 3.
Để tƣơng thích với Raspberry, thƣ viện arduPi đƣợc tạo ra cho phép
Raspberry sử dụng code nhƣ đang sử dụng với Arduino. Để làm đƣợc điều đó thƣ
viện đã xây dựng các hàm chuyển đổi cho phép điều khiển nhƣ với Arduino với các
giao tiếp I/O nhƣ i2C, SPI, UART, analog, digital.