Phần 3 là phầnweb server có chức năng tổng hợp hiển thị các thông tin của bệnh nhân mà phầncứng và phần ứng dụng di động thu thập được, ngoài ra nó có thêm một số chứcnăng giúp cho việc
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG
GVHD: NGUYỄN NGÔ LÂM SVTH: NGUYỄN THỊ THU NGA BÙI THỊ THANH NGÂN
THIẾT KẾ HỆ THỐNG GIÁM SÁT SỨC KHỎE CƠ BẢN
CHO BỆNH NHÂN COVID-19
Trang 2ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:
THIẾT KẾ HỆ THỐNG GIÁM SÁT SỨC KHỎE
CƠ BẢN CHO BỆNH NHÂN COVID-19
GVHD: ThS NGUYỄN NGÔ LÂM SVTH:
TP Hồ Chí Minh, Tháng 08 năm 2022
NGUYỄN THỊ THU NGA BÙI THỊ THANH NGÂN
18161116 18161117
Trang 3Tp Hồ Chí Minh, ngày 9 tháng 8 năm 2022
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: Th.S Nguyễn Ngô Lâm
1 Tên đề tài: Thiết kế hệ thống giám sát sức khỏe cơ bản cho bệnh nhân
Covid-19
2 Các số liệu, tài liệu ban đầu:
- Giáo trình kỹ thuật truyền số liệu
- Giáo trình cơ sở ứng dụng IoTs
- Giáo trình thực tập vi xử lý
- Lập trình điều khiển xa với ESP8266- ESP32 và Arduino
3 Sản phẩm: Hệ thống giám sát sức khỏe cơ bản và phần web giám sát, ứngdụng di động khai báo thông tin
TRƯỞNG NGÀNH
GIẢNG VIÊN HƯỚNG DẪNCỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Trang 4
*** CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: Th.S Nguyễn Ngô Lâm
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm: ……… (Bằng chữ: )
Tp Hồ Chí Minh, ngày 9 tháng 8 năm 2022
Giảng viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 5CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên hướng dẫn: Th.S Nguyễn Ngô Lâm
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
Trang 6
LỜI CẢM ƠN
Trong thời gian thực hiện luận văn tốt nghiệp chúng em đã có được sự giúp đỡ
và hỗ trợ đến từ các thầy cô, sự quan tâm từ gia đình và bạn bè đồng hành
Lời đầu tiên nhóm chúng em xin gửi lời cảm ơn thầy Nguyễn Ngô Lâm đãhướng dẫn chúng em thực hiện đề tài này Từ khi bắt đầu đề tài ở bước lựa chọn,chúng em đã được thầy góp ý rất nhiều để có thể chọn được đề tài phù hợp, và trongquá thực hiện chúng em đã được thầy hỗ trợ rất nhiều để vượt qua những khó khăntrong khoảng thời gian nghiên cứu và thực hiện đề tài
Nhóm thực hiện đề tài cũng muốn gửi tới các thầy cô giảng viên trong trườngĐại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh và đặc biệt là các thầy cô trongngành Công nghệ kỹ thuật Điện tử– Viễn thông lời cảm ơn sâu sắc vì đã tận tâmtruyền đạt những kiến thức cơ sở và chuyên ngành để chúng em có thể ứng dụngnghiên cứu và thực hiện đề tài này
Đề tài vẫn còn nhiều thiếu sót nên nhóm mong nhận được nhiều sư góp ý từcác thầy vô để có thể cải thiện hệ thống nhiều hơn và có tính ứng dụng cao trongthực tế
TP Hồ Chí Minh, ngày 9 tháng 8 năm 2022
Trang 7MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN iii
LỜI CẢM ƠN iv
MỤC LỤC v
TÓM TẮT viii
DANH MỤC HÌNH ẢNH, BIỂU ĐỒ ix
DANH MỤC BẢNG xii
CÁC TỪ VIẾT TẮT xiii
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1
1.1 Giới thiệu 1
1.2 Mục tiêu đề tài 1
1.3 Tổng quan tình hình nghiên cứu 2
1.3.1 Tình hình nghiên cứu ngoài nước 2
1.3.2 Tình hình nghiên cứu trong nước 2
1.4 Phương pháp nghiên cứu 2
1.5 Bố cục đề tài 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 Tổng quan về nhịp tim, nồng độ Oxy trong máu và thân nhiệt người 4
2.1.1 Nhịp tim 4
2.1.2 Nồng độ Oxy trong máu 4
2.1.3 Thân nhiệt cơ thể người 5
2.1.4 Kết luận 5
2.2 Linh kiện được sử dụng 5
2.2.1 ESP8266 Node MCU
[5]5
Trang 82.3 Chuẩn giao tiếp I2C 22
2.3.1 Giới thiệu 22
2.3.2 Cách hoạt động của I2C 23
2.4 Ngôn ngữ lập trình và các thư viện sử dụng 24
2.4.1 Ngôn ngữ lập trình Javascript – Javascript framework 24
2.4.2 Ngôn ngữ lập trình Java 24
2.4.3 Giao thức HTTP truyền tải dữ liệu giữa client và server 25
2.4.4 Firebase, Firebase realtime database và Firebase Authentication 26
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 28
3.1 Giới thiệu 28
3.1.1 Yêu cầu hệ thống 28
3.1.2 Sơ đồ khối 29
3.2 Thiết kế hệ thống phần cứng 30
3.2.1 Khối đo nhịp tim và nồng độ oxy trong máu 30
3.2.2 Khối đo thân nhiệt 33
3.2.3 Khối nút nhấn 34
3.2.4 Khối buzzer 35
3.2.5 Khối hiển thị màn hình OLED 36
3.2.6 Khối xử lý trung tâm 37
3.2.7 Khối nguồn 39
CHƯƠNG 4: THI CÔNG HỆ THỐNG 40
4.1 Giới thiệu 40
4.2 Lắp ráp và kiểm tra 40
4.3 Đóng gói và thi công mô hình 42
4.4 Lập trình hệ thống 44
4.4.1 Lưu đồ giải thuật phần cứng 44
4.4.2 Lưu đồ giải thuật phần mềm của web server 47
4.4.3 Phần mềm Arduino IDE 51
4.4.4 Giới thiệu phần mềm lập trình web Visual Studio Code 52
4.4.5 Giới thiệu phần mềm lập trình ứng dụng di động Android Studio 53
Trang 9CHƯƠNG 5: KẾT QUẢ 54
5.1 Kết quả 54
5.1.1 Mô hình chạy thực tế 54
5.1.2 Giao diện App Android 56
5.1.3 Giao diện Web Server 62
5.1.4 Kết quả so sánh 65
CHƯƠNG 6: ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 69
6.1 Đánh giá 69
6.1.1 Ưu điểm 69
6.1.2 Nhược điểm 69
6.2 Hướng phát triển 70
TÀI LIỆU THAM KHẢO 71
PHỤ LỤC 73
Trang 10TÓM TẮT
Trong bài luận văn này, nhóm tác giả đã thiết kế một “Hệ thống giám sát sứckhỏe cơ bản cho bệnh nhân mắc Covid-19”, hệ thống giám sát số liệu trong thờigian thực Mục đích của nhóm thực hiện đề tài là mang tới một giải pháp giúp việcgiám sát và điều trị cho bệnh nhân mắc Covid-19 một cách tốt hơn, cải thiện chấtlượng khám chữa bệnh và giảm tải áp lực cho nhân viên bệnh viện, thay vì phải tớitừng phòng cách ly để theo dõi sức khỏe ta có thể theo dõi thông qua một hệ thống
Hệ thống gồm 3 phần, phần 1 là phần cứng hệ thống chuyên thu thập cácthông số sức khỏe cơ bản và gửi dữ liệu đó tới cơ sở dữ liệu để lưu trữ, ngoài raphần cứng còn có thể báo động bằng âm thanh cho thấy thông số đo đang cao bấtthường Phần 2 là phần ứng dụng di động nó có chức năng giúp người dùng khaibáo một số thông tin cá nhân phục vụ cho việc giám sát và điều trị Phần 3 là phầnweb server có chức năng tổng hợp hiển thị các thông tin của bệnh nhân mà phầncứng và phần ứng dụng di động thu thập được, ngoài ra nó có thêm một số chứcnăng giúp cho việc giám sát dễ dàng hơn như cảnh báo, chỉnh sửa hoặc xóa thôngtin, tải dữ liệu về
Tác giả đã khảo sát thử nghiệm hệ thống và so sánh với một thiết bị y tế đãđược bán trên thị trường để lấy kết quả so sánh Hệ thống hoạt động khá ổn định và
có thể dùng cho mục đích giám sát các bệnh nhân nghi nhiễm Covid-19
Trang 11DANH MỤC HÌNH ẢNH, BIỂU ĐỒ
Hình chương 2Hình 2 1:Module ESP8266 node MCU 6
Hình 2 2 Kí hiệu Module ESP8266 node MCU 6
Hình 2 3: Sơ đồ chân của ESP8266 NodeMCU 6
Hình 2 4: Sơ đồ nguyên lý module ESP8266 8
Hình 2 5: Module MAX30100 9
Hình 2 6: Sơ đồ chân MAX30100 9
Hình 2 7: Kí hiệu MAX30100 9
Hình 2 8: Cặp đèn LED và bộ cảm biến quang của MAX30100 10
Hình 2 9:Phổ hấp thụ của các phân tử hemoglobin được oxy hóa và khử oxy 11
Hình 2 10: Sơ đồ nguyên lý cảm biến nhịp tim và nồng độ oxy trong máu MAX30100 12
Hình 2 11: Biểu diễn cấu trúc của FIFO bằng đồ thị 13
Hình 2 12: Ghi 1 byte dữ liệu vào MAX30100 13
Hình 2 13: Đọc nhiều byte dữ liệu từ MAX30100 14
Hình 2 14: Module MLX90614 14
Hình 2 15: Sơ đồ chân MLX90614 14
Hình 2 16: Ký hiệu MLX90614 14
Hình 2 17: Sơ đồ khối bên trong cảm biến nhiệt độ cơ thể MLX90614 16
Hình 2 18:Sơ đồ nguyên lý module cảm biến nhiệt độ cơ thể MLX90614 16
Hình 2 19:Đọc dữ liệu từ RAM 19
Hình 2 20: Đọc dữ liệu từ EEPROM 19
Hình 2 21: Ghi dữ liệu vào EEPROM 19
Hình 2 22: Module buzzer 20
Hình 2 23: Sơ đồ chân của module buzzer 20
Hình 2 24: Kí hiệu MLX90614 20
Trang 12Hình 2 29: Khung dữ liệu I2C 23
Hình 2 30: Nguyên lý hoạt động của giao thức HTTP 26
Hình chương 3 Hình 3 1:Sơ đồ khối hệ thống 29
Hình 3 2: Sơ đồ kết nối module MAX30100 với ESP8266 31
Hình 3 3: Sơ đồ kết nối module MLX90614 với ESP8266 33
Hình 3 4: Sơ đồ kết nối nút nhấn với ESP8266 34
Hình 3 5: Sơ đồ kết nối module buzzer với ESP8266 35
Hình 3 6: Sơ đồ kết nối OLED với ESP8266 36
Hình 3 7 Adapter 5V-1A 39
Hình chương 4 Hình 4 1: Kết nối bên trong mô hình 41
Hình 4 2: Mô hình hệ thống 42
Hình 4 3: Mô hình hệ thống mặt trái 42
Hình 4 4: Lưu đồ giải thuật chương trình chính 44
Hình 4 5: Lưu đồ xử lý tín hiệu nhịp tim và nồng độ oxy, thân nhiệt và báo động khi quá điều kiện cho phép 45
Hình 4 6: Lưu đồ thay đổi ngưỡng nhiệt độ bằng nút nhấn 46
Hình 4 7: Lưu đồ giải thuật Web server – Web hiển thị 47
Hình 4 8: Lưu đồ tuần tự quá trình xử lý web 48
Hình 4 9: Lưu đồ xử lý ứng dụng di động 49
Hình 4 10: Lưu đồ tuần tự quy trình xử lý ứng dụng di động 50
Hình 4 11: Giao diện Arduino IDE mới khởi động 51
Hình 4 12: Giao diện Arduino IDE sau khi lập trình 51
Hình 4 13: Tổng hợp và nạp chương trình 52
Hình 4 14: Giao diện thiết kế của Visual Studio Code 52
Hình 4 15: Giao diện thiết kế của Android Studio 53
Hình chương 5
Hình 5 1: Giao diện hệ thống được cấp nguồn 54
Hình 5 2: Giao diện khi cảm biến nhiệt độ cơ thể hoạt động 55
Hình 5 3: Giao diện khi cảm biến nhịp tim và nồng độ oxy hoạt động 55
Hình 5 4: Phần cứng gửi dữ liệu đo lên firebase 56
Trang 13Hình 5 5: Giao diện đăng nhập ứng dụng di động 56
Hình 5 6: Giao diện đăng ký tài khoản ứng dụng di động 57
Hình 5 7: Chức năng đặt lại mật khẩu cho ứng dụng di động 58
Hình 5 8: Link đặt lại mật khẩu được gửi tới mail của người dùng 59
Hình 5.9: Cửa sổ đặt lại mật khẩu 59
Hình 5.10: Thông báo đặt mật khẩu mới thành công 59
Hình 5.11: Kết quả của việc đăng ký tài khoản trên App 60
Hình 5.12: Giao diện nhập thông tin của ứng dụng di động 60
Hình 5.13: Kết quả dữ liệu được gửi từ ứng dụng di động 61
Hình 5.14: Giao diện web server tổng hợp dữ liệu 62
Hình 5.15: Chức năng tra cứu thông tin bệnh nhân 62
Hình 5.16: Chức năng chỉnh sửa thông tin người bệnh 63
Hình 5 17: Chức năng cảnh báo thông số bất thường 63
Hình 5 18: Chức năng tải dữ liệu về dạng file excel 64
Hình 5 19: Bảng dữ liệu tải về 64
Hình 5 20: Chức năng xóa thông tin bệnh nhân 64
Hình 5.21: Thiết bị đo nhịp tim và nồng độ oxy trong máu cầm tay A2 65
Hình 5.22: Kẹp thiết bị ở ngón tay 65
Hình 5.23: Thiết bị nhiệt kế điện tử MT-811 67
Hình 5.24: Đặt đầu cảm biến nhiệt kế dưới lưỡi để đo 67
Trang 14DANH MỤC BẢNG
Bảng chương 2Bảng 2 1: Thông số kỹ thuật của MAX30100 9
Bảng 2 2:Cấu hình chân của module MAX30100 10
Bảng 2 3:Dữ liệu FIFO 13
Bảng 2 4:Thông số kỹ thuật của MLX90614 14
Bảng 2 5:Cấu hình sơ đồ chân MLX90614 15
Bảng 2 6: Các lệnh (command) cần thiết để giao tiếp với MLX90614 17
Bảng 2 7: Địa chỉ truy cập EEPROM ở chế độ ứng dụng 18
Bảng 2 8:Mô tả hầu hết các thanh ghi RAM quan trọng 18
Bảng 2 9: Thông số kỹ thuật đầy đủ của OLED 22
Bảng chương 3 Bảng 3 1: Thông số hoạt động của các linh kiện hệ thống 39
Bảng chương 5 Bảng 5 1:Bảng so sánh giá trị nhịp tim và spo2 của mô hình thiết kế và thiết bị cầm tay 66
Bảng 5.2: Bảng so sánh giá nhiệt độ của mô hình thiết kế và thiết bị nhiệt kế 68
Trang 15CÁC TỪ VIẾT TẮT
TCP/IP Transmission Control Protocol / Internet Protocol
Trang 16SCL Serial Clock
EEPROM Electrically Erasable Programmable Real-Only Memory
Trang 17CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệuDịch bệnh là nỗi ác mộng của toàn nhân loại, không chỉ gây ra thiệt hạinghiêm trọng về tài sản mà quan trọng hơn nó ảnh hưởng tới tính mạng con người.Trong quá khứ đã có biết bao nhiêu đại dịch hoành hành như dịch SARS, dịch tả,Ebola Trước khi phát minh ra thuốc đặc trị đã cướp đi biết bao nhiêu mạng người.Gần đây nhất là đại dịch Covid-19 cướp đi sinh mạng của 6,17 triệu người Vớinhững biến đổi khó lường mà virus SARS-Covi-2 mang tới, chúng ta cần nhữngthiết bị tốt hơn để giám sát người bệnh và giúp họ qua cơn nguy hiểm Bằng cách sửdụng những cảm biến tối ưu giám sát chuyển biến sức khỏe như cảm biến đo nồng
độ oxy trong máu, đo nhịp tim, cảm biến đo thân nhiệt không tiếp xúc sẽ giúp các ybác sĩ có thể giám sát tình trạng của người nhiễm bệnh một cách nhanh chóng chínhxác và còn có thể giám sát nhiều người qua một hệ thống website chuyên dụng.Hiện nay đã có nhiều thiết bị giúp cải thiện việc điều trị bệnh nhân mắc Covid-
19 nhưng vì đặc thù căn bệnh có những triệu chứng giống như bệnh cảm sốt thôngthường, cúm mùa, đặc biệt xuất hiện tình trạng khó thở nên hiện tại chưa có thuốcđặc trị và việc điều trị bệnh chính là điều trị các triệu chứng ví dụ như khi sốt phảitập trung giảm thân nhiệt Chính việc phức tạp trong khâu giám sát tình trạng củabệnh nhân khiến cho việc điều trị bệnh kéo dài đặc biệt với biến chủng Delta gây tỉ
lệ tử vong cao và triệu chứng nguy hiểm Thêm vào đó gây áp lực lên các bác sĩ vàbệnh viện tuyến đầu
Hiểu được những khó khăn đó, sự ra đời của hệ thống theo dõi sức khỏe cơbản dành cho các bệnh nhân Covid-19 góp phần cải thiện hiệu quả điều trị bệnh vàgiảm tải công việc cho các y bác sĩ, giúp họ có thể giám sát kịp thời tình trạng củangười bệnh Với sự phát triển của công nghệ và các thiết bị cảm biến sẽ giúp việcchữa trị bệnh nhân hiệu quả hơn
1.2 Mục tiêu đề tài
Mục đích của nhóm là thiết kế mô hình gồm hệ thống lưu trữ thông tin bệnhnhân, giám sát tình trạng và cung cấp cảnh báo, thiết bị đo các thông số cơ bản Hệ
Trang 181.3 Tổng quan tình hình nghiên cứu
1.3.1 Tình hình nghiên cứu ngoài nước
Công nghệ đang phát triển hơn mỗi ngày, có biết bao nhiêu thiết bị tân tiếnđược phát minh ra nhằm mục đích phục vụ nhu cầu của con người, giúp chúng ta cóđược sự an toàn tiện ích Và lúc này khi dịch bệnh đang hoành hành ngoài kia,chúng ta cần sự hỗ trợ từ các thiết bị và công nghệ Trên thế giới đã có một sốnghiên cứu các hệ thống để hỗ trợ việc điều trị bệnh nhân điển hình là hệ thốnggiám sát sức khỏe thông minh dựa trên IoT cho bệnh nhân Covid19 của các nhànghiên cứu từ Mohammad Moniujjaman Khan vào năm 2021 Hệ thống có chứcnăng theo dõi các thông số qua một thiết bị android, sử dụng Arduino Uno và cáccảm biến nhiệt độ, cảm biến SpO2 và cảm biến nhịp tim Dựa trên các thông số đođược bệnh nhân có thể tự tìm kiếm sự chăm sóc y tế ngay cả khi không có mặt của
y bác sĩ, hệ thống đã được thử nghiệm trên người với số lượng là năm đối tượng.Nếu độ bão hòa Oxy và nhịp tim bệnh nhân bất thường hệ thống sẽ ngay lập tứcphát cảnh báo Bệnh nhân và bác sĩ có thể giám sát dữ liệu bằng cách sử dụng ứngdụng di động Hệ thống trên rất phù hợp với những người có bệnh nền như phổi tắcnghẽn mãn tính và hen suyễn
1.3.2 Tình hình nghiên cứu trong nước
Trong nước ta đã áp dụng các mô hình điều trị bệnh nhận như là phân tầng đểđiều trị hiệu quả hơn Tuy nhiên chưa có một mô hình hoàn chỉnh để giám sát sứckhỏe của người bệnh sát sao nhất, hầu hết đều phải sử dụng thiết bị để đo các thông
số sau đó khai báo trên ứng dụng khai báo y tế điện tử, các thông số sẽ chỉ đượctheo dõi khi người bệnh cảm thấy có vấn đề về sức khỏe và cảm thấy nó đang dầntrở nên tồi tệ Bởi vì hầu hết người bệnh sẽ theo dõi và cách ly tại nhà, chỉ nhữngtrường hợp bệnh tình nặng mới phải điều trị trong bệnh viện nên số lượng cách lytại nhà lớn hơn rất nhiều những người điều trị tại bệnh viện Vậy nên trong bệnhviện chưa được triển khai một mô hình theo dõi và giám sát một cách tự động
1.4 Phương pháp nghiên cứu
Ứng dụng những kiến thức nền tảng về mạch điện và điện tử cơ bản để vẽ ra
sơ đồ khối, sơ đồ nguyên lý phần cứng với mục đích hoàn thiện một hệ thống có thểứng dụng thực tế
Ứng dụng kiến thức đã học về hệ thống nhúng, ngôn ngữ lập trình web, ngônngữ lập trình ứng dụng di động, ngôn ngữ lập trình C để thiết kế phần mềm cho hệthống
Tìm hiểu và sử dụng các thư viện hỗ trợ để dễ dàng thiết kế hệ thống hơn
Trang 191.5 Bố cục đề tài
Bài báo cáo có nội dung gồm 6 phần
Chương 1: Tổng quan đề tài
Bằng cách nhìn nhận vào thực tế rằng việc liên tục theo dõi tình trạng của cácbệnh nhân là tốn kém thời gian, công sức Cộng thêm sự gia tăng các ca nhiễm theocấp số nhân, các cơ sở y tế trở nên cực kì bận rộn và các y bác sĩ gần như kiệt sức
Áp lực lên toàn bộ ngành y tế là rất lớn Thêm vào đó việc công nghệ IoT đang pháttriển mạnh vậy tại sao không tạo ra một hệ thống giúp cải thiện hiệu quả việc theodõi trạng thái người bệnh và tiết kiệm sức lực cho các bác sĩ và y tá tại bệnh viện
Chương 2: Cơ sở lý thuyết
Trình bày ngắn gọn và rõ ràng về các linh kiện sử dụng, các lý thuyết liênquan, những ngôn ngữ lập trình và thư viện sử dụng
Chương 3: Thiết kế hệ thống
Thiết kế một hệ thống dựa trên những nghiên cứu về linh kiện sao cho hệthống hoạt động ổn định và có đem lại kết quả các thông số đo có độ chính xác khácao và ngang bằng với các sản phẩm thiết bị được bán trên thị trường Thêm vào đó
hệ thống cần sự rõ ràng về mặt hình thức, các thông tin của người bệnh cần đượctrình bày sao cho dễ quan sát để không làm chậm trễ việc chữa trị
Chương 4: Thi công hệ thống.
Tiến hành tổng hợp các linh kiện đặt nó vào một khối thống nhất, kết hợp cácchương trình con cho ra một phần mềm, phần ứng dụng web server và ứng dụng diđộng hoàn chỉnh
Chương 5: Kết quả
Đưa ra kết quả dựa trên những gì đã thực hiện được, đấy là một hệ thống giámsát sức khỏe người bệnh qua các thông số như nhịp tim, nồng độ oxy trong máu vàthân nhiệt Cùng với đó là hệ thống phần mềm gồm một web server để hiển thị tổnghợp các thông tin dùng cho mục đích tổng hợp giám sát, và một ứng dụng di độngcho phép khai báo các thông tin ban đầu của bệnh nhân
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về nhịp tim, nồng độ Oxy trong máu và thân nhiệt người2.1.1 Nhịp tim
Nhịp tim là một khái niệm thường được nghe trong lĩnh vực y học, nó thực sựquan trọng trong chu trình sự sống của con người Nhịp tim là số lần tim co thắt mỗiphút được y học viết tắt là BPM hay Beat Per Minute Nhịp tim có thể thay đổi rấtnhiều nhất là khi ta có hoạt động mạnh ví dụ như chạy, thể thao, mỗi khi bị bệnhnhịp tim cũng sẽ thay đổi và tư thế đo cũng ảnh hưởng đến nó, nhịp tim là trung tâmcủa quá trình mang máu đi lưu thông khắp cơ thể để cung cấp dinh dưỡng cho các
tế bào
Nhịp tim bình thường được công bố là khoảng 60 đến 100 nhịp mỗi phút, nếuchậm hơn 60 nhịp được gọi là nhịp tim chậm, nhanh hơn 100 nhịp thì được gọi lànhịp tim nhanh Thời điểm xác định nhịp tim chính xác nhất là vào buổi sáng saukhi thức dậy
Mặc dù COVID-19 là một bệnh về hô hấp hoặc phổi, tim cũng bị ảnh hưởngtổn thương tạm thời hoặc lâu dài đối với những mô tim yếu ớt khiến tim phải làmviệc nhiều hơn để bơm máu đi khắp cơ thể Corona Virus có thể lây nhiễm và làmtổn thương mô cơ tim cũng như các trường hợp nhiễm virus bao gồm các chủngcúm làm ảnh hưởng tới khả năng bơm máu của tim Đó cũng là lý do khi tiêmvaccine phải có thời gian quan sát phản ứng sau khi tiêm khoảng 30 phút, nếu có bất
kì phản ứng nào như tim đập nhanh hoặc khó thở cần được liên hệ với bác sỹ
2.1.2 Nồng độ Oxy trong máu
Ai cũng hiểu được tầm quan trọng của Oxy đối với sự sống, khi chúng ta hítthở khí oxy sẽ đi vào trong phổi, và chuyển tới các cơ quan trong cơ thể theo đườngmáu nhờ một thành phần trong máu tên là Hemoglobin (Hb) Một phân tửHemoglobin kết hợp với 4 phân tử Oxy để đạt đến độ bão hòa [3] SpO2 chính là độbão hòa Oxy trong máu nó cho biết tỷ lệ phân tử Hemoglobin có Oxy ở trong máu.Chỉ số này rất quan trọng đối với sự sống vì khi máu thiếu Oxy trong máu các cơquan khác gần như sẽ chịu tác động xấu và có thể ảnh hưởng tới khả năng hoạtđộng Vì Covid-19 là loại bệnh ảnh hưởng tới đường hô hấp của con người gây tìnhtrạng suy hô hấp nên việc nắm bắt tình trạng người bệnh thông qua chỉ số SpO2giúp kịp thời cứu chữa bệnh nhân khi không có những dấu hiệu lâm sàng khác.Bệnh nhân có chỉ số SpO2 quá thấp (<94) cần được theo dõi kỹ lưỡng kết hợp vớicác biểu hiện lâm sàng khác để có thể cấp cứu kịp thời [3]
Trang 21Những bệnh nhân nặng là những người có chỉ số SpO2 <94% trong không khíphòng cùng với nhịp thở >25 lần/phút, khó thở nặng, co kéo cơ hô hấp phụ, nhịptim nhanh hoặc chậm, huyết áp tăng, là những bệnh nhân có nguy cơ tình trạngbệnh trở nặng cao [3].
2.1.3 Thân nhiệt cơ thể người
Năng lượng không ngừng được tạo ra trong cơ thể người thông qua các quátrình chuyển hóa, sự cân bằng thân nhiệt là điều kiện quan trọng cho sự hoạt độngbình thường của quá trình chuyển hóa [4] Virus Covid-19 cũng có những triệuchứng tương tự với bệnh cúm mùa nhưng nó đáng sợ hơn bởi gây ra tình trạng sốtcao kèm với những biểu hiện nguy hiểm như khó thở và, tim đập nhanh Bởi thếthân nhiệt khi bị mắc bệnh là một trong những yếu tố thường được chú ý trong việcđiều trị căn bệnh này bởi có tới 70 – 80% trường hợp mắc Covid-19 xuất hiện cáctriệu chứng sốt Bệnh nhân thường sốt nóng thân nhiệt từ 38 -39°C có trường hợpsốt cao tới 39,5°C kèm ớn lạnh
2.1.4 Kết luận
Từ những thông tin trên có thể thấy rõ sức ảnh hưởng của ba yếu tố nhịp tim,
độ bão hòa Oxy trong máu và thân nhiệt lên bệnh nhân mắc Covid-19 Tóm lại nhịptim và nồng độ Oxy trong máu là hai nhân tố chính để xác định tình trạng nguy kịchcủa bệnh nhân, và thân nhiệt là một nhân tố giúp xác định bệnh nhân có mắc Covidhay không bên cạnh các biểu hiện khác như mất vị giác, ớn lạnh Bởi vì virus có thểđược lây nhiễm vào cơ thể nhưng không triệu chứng tới 14 ngày, không thể đểngười bệnh tới khi có các triệu chứng nặng mới điều trị mà phải theo dõi ngay từđầu Đó là lý do mà nhóm thực hiện đề tài chọn ba chỉ số này để thực hiện giám sátngười bệnh, ngăn chặn những tình trạng chuyển biến xấu đối với bệnh nhân
2.2 Linh kiện được sử dụng
2.2.1 ESP8266 Node MCU [5]
Trong quá trình học tập và nghiên cứu chúng ta đã được tiếp xúc với nhiềuloại vi điều khiển khác nhau Dựa theo yêu cầu đề tài ta cần một dòng vi điều khiển
có thể hỗ trợ kết nối wifi và bộ xử lý mạnh mẽ Trong dự án này, lựa chọn sử dụng
Trang 22một ứng dụng độc lập hoặc làm slave cho MCU chủ Khi ESP8266 được nạp phầnmềm nó sẽ nhanh chóng khởi động từ đèn flash Bộ nhớ đệm tốc độ cao tích hợpgiúp tăng hiệu suất hệ thống (bỏ) và tối ưu hóa bộ nhớ hệ thống Ngoài ra có tíchhợp WiFi, truy cập internet không dây với kết nối đơn giản (giao diện SPI/SDIOhoặc I2C/UART) ESP8266 thường được tích hợp với các module cảm biến và cácthiết bị ứng dụng cụ thể khác thông qua các GPIO của nó, sử dụng các giao thức nốitiếp, chúng ta có thể kết nối nó với các thiết bị như màn hình LCD hỗ trợ I2C, chipRTC, module GPS, màn hình cảm ứng, thẻ SD, v.v NodeMCU có thể được cấpnguồn bằng hai cách cắm Micro USB hoặc cấp nguồn qua chân nguồn cung cấp bênngoài (chân VIN)
Hình 2 1:Module ESP8266 node MCU Hình 2 2 Kí hiệu Module ESP8266
node MCU
Hình 2 3: Sơ đồ chân của ESP8266 NodeMCU
Trang 23 Một số thông số kỹ thuật cơ bản của ESP8266:
- Hỗ trợ chuẩn 802.11 b/g/n
- Micro-MCU 32 bit tích hợp, tốc độ 80 MHz và 160 MHz, hỗ trợ RTOS
- WiFi: 2.4 GHz hỗ trợ bảo mật WPA/WPA2
- Hỗ trợ UART, I2C, SPI, I2S, PWM, GPIO, điều khiển từ xa IR
- Có RAM 128 KB, bộ nhớ Flash 4MB để lưu trữ dữ liệu và chương trình
- Giao tiếp: Cable Micro USB (tương đương cáp sạc điện thoại)
- Cấp nguồn: 5VDC (qua MicroUSB hoặc Vin)
- GPIO giao tiếp mức: 3.3VDC
- Tích hợp Led báo trạng thái, nút Reset, Flash
Trang 24Hình 2 4: Sơ đồ nguyên lý module ESP8266 [6]
Trang 252.2.2 Module cảm biến nhịp tim và nồng độ oxy trong máu MAX30100 [7].Module MAX30100 là một cảm biến có thể đo mức độ bão hòa oxy trong máu
và nhịp tim Độ bão hòa oxy ngoại vi (SpO2) là phép tính độ bão hòa oxy của mạchmáu, dùng để chỉ lượng hemoglobin được oxy trong máu Trong cơ thể người, giátrị SpO2 thông thường nằm trong khoảng từ 90 đến 100% Trong hệ thống này,module MAX30100 là phù hợp Nó là một cảm biến quang học lấy kết quả đọc của
nó từ việc phát ra hai bước sóng ánh sáng từ hai đèn LED - một đèn đỏ và một đènhồng ngoại - sau đó đo độ hấp thụ của mạch máu qua cảm biến quang Sự kết hợpmàu LED cụ thể này được tối ưu hóa để đọc dữ liệu thông qua đầu ngón tay củamột người Tín hiệu được xử lý bởi bộ xử lý tín hiệu tương tự có độ ồn thấp và đượctruyền tới MCU thông qua BUS I2C
5 Phạm vi nhiệt độ hoạt động -40℃ đến +85℃
Trang 26Bảng 2 2:Cấu hình chân của module MAX30100
3 SCL Chân tín hiệu Clock được sử dụng cho giao tiếp I2C
4 SDA Chân dữ liệu được sử dụng cho giao tiếp I2C
Dòng này là dòng hở, vì vậy nó được kéo CAO bởiđiện trở tích hợp Khi một ngắt xảy ra, chân INT sẽ ởmức THẤP và ở mức THẤP cho đến khi ngắt đượcxóa
Cảm biến bao gồm một cặp điốt phát quang phát ra ánh sáng đỏ đơn sắc cóbước sóng 640nm, ánh sáng hồng ngoại có bước sóng 940nm và một bộ cảm biếnquang
Hình 2 8: Cặp đèn LED và bộ cảm biến quang của MAX30100 [8]
MAX30100 hoạt động bằng cách chiếu cả hai đèn vào ngón tay hoặc dái tai(hoặc về cơ bản ở bất kỳ nơi nào có da không quá dày, vì vậy cả hai đèn có thể dễdàng xuyên qua mô) và đo lượng ánh sáng phản xạ bằng cảm biến quang Phươngpháp phát hiện xung qua ánh sáng này được gọi là Photoplethysmogram Hoạt độngcủa MAX30100 được chia thành hai phần: Đo nhịp tim và đo oxy xung (đo mứcoxy trong máu)
Trang 27 Đo nhịp tim
Hemoglobin oxy (HbO2) trong máu động mạch có đặc tính hấp thụ ánh sáng
IR Máu càng đỏ (hemoglobin càng cao) thì ánh sáng IR càng được hấp thụ nhiềuhơn Khi máu được bơm qua ngón tay theo mỗi nhịp tim, lượng ánh sáng phản xạ sẽthay đổi, tạo ra dạng sóng thay đổi ở đầu ra của bộ tách sóng quang Khi bạn tiếptục chiếu ánh sáng và đọc các kết quả của bộ cảm biến quang, bạn sẽ nhanh chóngbắt đầu nhận được kết quả đo nhịp tim (HR)
Đo oxy xung
Đo oxy xung dựa trên nguyên tắc lượng ánh sáng RED và IR được hấp thụthay đổi tùy thuộc vào lượng oxy trong máu của bạn Biểu đồ sau là phổ hấp thụ củahemoglobin oxy hóa (HbO2) và hemoglobin khử oxy (Hb)
Hình 2 9:Phổ hấp thụ của các phân tử hemoglobin được oxy hóa và khử oxy [8]
Như có thể thấy từ Hình 2.9, máu được khử oxy hấp thụ nhiều ánh sáng REDhơn (640nm), trong khi máu được oxy hấp thụ nhiều ánh sáng IR hơn(940nm) Bằng cách đo tỷ lệ ánh sáng hồng ngoại và ánh sáng RED mà bộ táchsóng quang nhận được, mức oxy (SpO2) trong máu sẽ được tính toán
Trang 28Hình 2 10: Sơ đồ nguyên lý cảm biến nhịp tim và nồng độ oxy trong máu
64 byte có thể được lưu trữ trong FIFO Bộ đệm FIFO có thể giảm tải cho bộ viđiều khiển đọc từng mẫu dữ liệu mới từ cảm biến, do đó tiết kiệm năng lượng hệthống Hình 2.11 cho thấy cấu trúc của FIFO bằng đồ thị
Dữ liệu FIFO được căn trái như bảng 2.3, tức là bit MSB luôn ở vị trí bit 15bất kể độ phân giải ADC Mỗi mẫu bao gồm một dữ liệu IR và một dữ liệu RED (2thanh ghi), vì vậy để đọc một mẫu cần 4 lần đọc Con trỏ ghi tăng lên mỗi khi mộtmẫu mới được thêm vào FIFO Con trỏ đọc sẽ tăng tự động sau mỗi mẫu được đọc
từ FIFO Ở chế độ chỉ nhịp tim, byte thứ 3 và thứ 4 của mỗi mẫu trả về số 0, nhưngcấu trúc cơ bản của FIFO vẫn giữ nguyên
Trang 29Bảng 2 3:Dữ liệu FIFO
Hình 2 11: Biểu diễn cấu trúc của FIFO bằng đồ thị [7]
Giao tiếp I2C với MAX30100
Hoạt động ghi dữ liệu:
Đối với hoạt động ghi, slave ID có 7 bit B7 - B1 (mặc định 0b1010111), bitslave ID (B7 - MSB) được truyền đầu tiên, tiếp theo là byte register address và sau
đó là một hoặc nhiều byte dữ liệu Con trỏ địa chỉ thanh ghi tự động tăng sau mỗibyte dữ liệu nhận được Chấm dứt truyền dữ liệu với điều kiện STOP (P) Thao tácghi được thể hiện trong Hình 2.12
Trang 30Hình 2 13: Đọc nhiều byte dữ liệu từ MAX30100 [7]
2.2.3 Module cảm biến nhiệt độ cơ thể MLX90614 [9]
Module MLX90614 là cảm biến nhiệt độ hồng ngoại (IR) không tiếp xúc cóthể được sử dụng để đo nhiệt độ mà không cần bất kỳ tiếp xúc vật lý nào Chỉ cầnhướng cảm biến vào điểm bạn muốn đo và nó sẽ phát hiện nhiệt độ bằng cách hấpthụ các sóng IR phát ra MLX90614 tạo ra hai phép đo nhiệt độ: nhiệt độ đối tượng
và nhiệt độ môi trường Module giao tiếp với bộ vi điều khiển bằng giao thức I2C
Trang 31STT Thành phần Thông số kỹ thuật
3 Nhiệt độ đối tượng -70 ° C đến 382,2 ° C
4 Nhiệt độ môi trường -40 ° C đến 125 ° C
Bảng 2 5:Cấu hình sơ đồ chân MLX90614
1 Vin (Nguồn điện) Vdd có thể được sử dụng để cấp nguồn
cho cảm biến, thường sử dụng 3.3 V
3 SDA Chân dữ liệu nối tiếp được sử dụng chogiao tiếp I2C
giao tiếp I2C
Trang 32Bên trong, MLX90614 bao gồm hai thiết bị: đầu dò nhiệt hồng ngoại và ASSP(Bộ xử lý ứng dụng điều hòa tín hiệu) Đây là sơ đồ khối bên trong của MLX90614cho thấy cả nhiệt điện và ASSP.
Hình 2 17: Sơ đồ khối bên trong cảm biến nhiệt độ cơ thể MLX90614 [9]
Bức xạ hồng ngoại do một vật thể hoặc con người phát ra trước tiên được hội
tụ bởi một thấu kính hội tụ (thấu kính lồi) vào một đầu dò hồng ngoại đặc biệt gọi
là Thermopile Nhiệt quang cảm nhận được lượng năng lượng hồng ngoại đangđược phát ra bởi các vật thể trong trường nhìn của nó và tạo ra một tín hiệu điện tỷ
lệ với năng lượng đó Điện áp tạo ra bởi Thermopile được ADC 17-bit của ASSPthu nhận và sau đó được xử lý và xuất trước khi chuyển đến bộ vi điều khiển, kếtquả đầu ra được lưu trữ trong bộ nhớ RAM bên trong MLX90614
Hình 2 18: Sơ đồ nguyên lý module cảm biến nhiệt độ cơ thể MLX90614
Trang 33
Thư viện được sử dụng cho MLX90614 giao tiếp với vi điều khiển:0110 0000 Vào chế độ hiệu chuẩn
0110 0001 Thoát chế độ hiệu chuẩn
1111 1111 Vào chế độ SLEEP
Module MLX90614 có EEPROM 32x16, địa chỉ của nó là 000H-01FH Một
số vị trí EEPROM được bảo vệ chống ghi (có thể truy cập khi vào chế độ Hiệuchuẩn), một số thanh ghi có thể ghi được như bảng 2.7 Trước khi ghi vàoEEPROM, phải thực hiện xóa Xóa chỉ đơn giản là ghi số 0 vào EEPROM
Trang 34Bảng 2 7: Địa chỉ truy cập EEPROM ở chế độ Ứng dụng
Module MLX90614 có RAM 32x17 Người dùng không thể ghi dữ liệu quaRAM mà chỉ có thể đọc và chỉ một số thanh ghi RAM giới hạn như bảng 2.8
Bảng 2 8:Mô tả hầu hết các thanh ghi RAM quan trọng.
Bộ nhớ RAM và EEPROM có thể truy cập ở hai chế độ: Chế độ Ứng dụng vàChế độ Hiệu chuẩn Sự khác biệt chính giữa các chế độ là trong chế độ Hiệu chỉnh,thêm 17 ô của EEPROM có thể ghi được Một số ứng dụng điển hình củaMLX90614 sẽ không cần quyền truy cập vào các ô này Do đó Chế độ Ứng dụng đủ
để đọc và cấu hình lại hầu hết MLX90614
Đọc dữ liệu từ RAM hoặc EEPROM.
Trong chế độ Ứng dụng, RAM và EEPROM có thể đọc với kích thước 32x16
Bộ nhớ RAM và EEPROM được đọc thông qua SMBus Dữ liệu đọc được chia đôi,bởi một bit kí hiệu (Sn) trong RAM Bộ nhớ EEPROM có thể truy cập để đọc màkhông bị hạn chế
Trang 35Hình 2 19: Đọc dữ liệu từ RAM [9]
Hình 2 20: Đọc dữ liệu từ EEPROM [9]
Ghi dữ liệu vào EEPROM
Hình 2 21: Ghi dữ liệu vào EEPROM [9]
2.2.4 Module buzzer [10]
Buzzer là một thiết bị dùng để tạo ra âm thanh Có hai loại buzzer: chủ động
và thụ động Trong mô hình hoạt động, buzzer chỉ bắt đầu phát âm thanh nếu đượckết nối với nguồn điện, nhưng trong mô hình thụ động, chúng ta cần gửi một xung
từ bộ vi điều khiển để phát âm thanh Module buzzer tạo ra âm thanh đơn âm khikích hoạt Module buzzer bao gồm một bộ rung áp điện với một bộ dao động tíchhợp Nó tạo ra âm thanh khoảng 2,5 kHz khi được kích hoạt
Trang 36- Dòng điện hoạt động: 30mA
- Mức kích hoạt: Active Low
-Đó là sự đánh đổi giữa pin và tốc độ Nhờ tính linh hoạt của bộ điều khiểnSSD1306, mô-đun có các kích thước và màu sắc khác nhau: ví dụ: 128x64, 128x32,với OLED trắng, OLED xanh lam và OLED màu kép
Trang 37Hình 2 26: Màn hình OLED.
Màn hình OLED hoạt động mà không cần đèn nền vì nó tự tạo ra ánh sáng.Đây là lý do tại sao màn hình có độ tương phản cao, góc nhìn cực rộng và có thểhiển thị mức độ màu đen sâu, làm giảm đáng kể năng lượng cần thiết để chạyOLED Trung bình màn hình sử dụng dòng điện khoảng 20mA, mặc dù nó phụthuộc vào mức độ sáng của màn hình
Bất kể kích thước của module OLED là bao nhiêu, trình điều khiển SSD1306tích hợp sẵn RAM dữ liệu hiển thị đồ họa (GDDRAM) 1KB cho màn hình chứamẫu bit được hiển thị Vùng nhớ 1K này được sắp xếp thành 8 trang (từ 0 đến 7).Mỗi trang chứa 128 cột / phân đoạn (khối 0 đến 127) Và mỗi cột có thể lưu trữ 8bit dữ liệu (từ 0 đến 7)
8 trang x 128 phân đoạn x 8 bit dữ liệu = 8192 bit = 1024 byte = bộ nhớ 1KB
Hình 2 27: Toàn bộ bộ nhớ 1K với các trang, phân đoạn và dữ liệu.
Trang 38Bảng 2 9: Thông số kỹ thuật đầy đủ của OLED.
Thư viện được sử dụng để màn hình OLED giao tiếp với vi điều khiển: Wire.h,Adafruit_GFX.h, Adafruit_SSD1306.h2.3 Chuẩn giao tiếp I2C
Để giao tiếp giữa các module với nhau cần sử dụng đến các chuẩn truyền, vaitrò của nó đóng góp vào việc tổ chức và lựa chọn thiết bị dựa trên yêu cầu của hệthống Các giao thức được sử dụng thường xuyên nhất trong các hệ thống nhúng làSPI, I2C và UART
2.3.1 Giới thiệu
I2C là bus MULTI MASTER SERIAL, tức là có thể kết nối nhiều hơn mộtthiết bị có khả năng điều khiển bus với nó Nó được phát minh bởi Phillips và làviết tắt của
Inter-Integrated Circuit.
Một số IC nhớ như EEPROM và một số RTCnhư DS1307 sử dụng giao tiếp I2C để giao tiếp với vi điều khiển Trang 39Hình 2 28:Sơ đồ kết nối I2C tổng quát.
Trong I2C, chỉ cần hai đường hai chiều Serial Data (SDA) & Serial Clock(SCL) để truyền thông tin giữa các thiết bị được kết nối với bus Mỗi thiết bị I2Cđược nhận dạng bởi một địa chỉ 7-bit duy nhất Thiết bị bắt đầu giao tiếp được gọi
là MASTER Master điều khiển tín hiệu clock Trong khi thiết bị được định địa chỉbởi Master được gọi là
SLAVE
Việc tạo tín hiệu xung nhịp trên bus I2C luôn docác thiết bị master chịu trách nhiệm; mỗi master tạo ra các tín hiệu clock của riêng
nó khi truyền dữ liệu trên bus
2.3.2 Cách hoạt động của I2C
Master bắt đầu giao tiếp bằng cách đưa ra bit START, tiếp đó là địa chỉ củathiết bị mà nó muốn truy cập Sau khi có địa chỉ tất cả các IC trên bus sẽ so sánh địachỉ đó với địa chỉ của chính chúng, nếu địa chỉ không khớp dữ liệu sẽ không truyền
và đợi cho tới bit STOP Nếu địa chỉ khớp slave sẽ tạo ra một tín hiệu ACK cho biếtchúng đã sẵn sàng truyền dữ liệu
Hình 2 29: Khung dữ liệu I2C
Trang 40slave Sau khi mỗi byte được nhận, master tạo ra một điều kiện xác nhận trênbus Xác nhận bị bỏ qua sau khi nhận byte cuối cùng Master kết thúc tất cả các hoạtđộng bằng cách tạo ra một điều kiện stop trên bus Master cũng có thể hủy truyền
dữ liệu bất kỳ lúc nào bằng cách tạo điều kiện stop
2.4 Ngôn ngữ lập trình và các thư viện sử dụng.
2.4.1 Ngôn ngữ lập trình Javascript – Javascript framework.
Javascript là một ngôn ngữ thường được sử dụng để lập trình kịch bản các ứngdụng web dựa trên các đối tượng đã có sẵn hoặc được tạo mới Javascript hỗ trợ cáctrình duyệt khác nhau như Coccoc, Chrome Javascript thường được sử dụng kèmvới HTML và CSS tạo thành bộ ba đắc lực cho lập trình viên sử dụng để phát triểncác ứng dụng trên webserver Trong khi HTML và CSS chủ yếu để thiết kế giaodiện giúp giao diện thêm bắt mắt thì Javascript có nhiệm vụ xử lý các đối tượngtrong HTML Javascript có nhiều ưu điểm như là có thể hoạt động trên nhiều hệđiều hành khác nhau từ Windows đến MacOS kể cả các hệ điều hành trên điện thoại
di động và nó có thể xử lý các tác vụ kể cả khi nó tới từ hai trình duyệt khác nhaubởi vì các phiên xử lý là riêng biệt và không ảnh hưởng lẫn nhau
Javascript Framework là một bộ thư viện được xây dựng dựa vào ngôn ngữjavascript Mỗi framework được thử nghiệm xây dựng các ứng dụng web và mởrộng chúng Framework giúp cho các nhà phát triển xây dựng các ứng dụng phứctạp nhanh và hiệu quả hơn bằng cách cung cấp một hệ sinh thái các công cụ giúp cảithiện trải nghiệm của nhà phát triển Các framework cho phép thêm các chức năngnhư kiểm tra và đảm bảo vận chuyển mã không có lỗi Cấu trúc của chúng quyếtđịnh cách xây dựng ứng dụng và cho phép trừu tượng hóa, tái sử dụng các thànhphần, từ đó giúp đơn giản hóa việc tạo ra các ứng dụng động có độ tương tác cao
2.4.2 Ngôn ngữ lập trình Java.
Java là một ngôn ngữ lập trình bậc cao được phát triển bởi Sun Microsystemsphát hành vào năm 1995 Java chạy được trên hầu hết các hệ điều hành nhưWindows, MacOS và các phiên bản khác nhau của UNIX
Ngoài Java còn có rất nhiều ngôn ngữ được các nhà phát triển ứng dụng diđộng sử dụng như Kotlin, C++, C# kể cả Python, tuy nhiên Python ít được sử dụng
vì Android không tương hỗ Python gốc, mà phải qua một bước nữa là chuyển chúngthành APK để chúng có thể chạy Ngoài ra C++ và C# cũng là một ngôn ngữ rấtmạnh mẽ để phát triển ứng dụng Android nhưng phổ biến hơn cả vẫn là hai ngônngữ Java và Kotlin, hai ngôn ngữ này được sử dụng phổ biến nhất để lập trình ra