Giới thiệu đề tài Trong thời kì dịch bệnh Covid-19 hiện nay,việc ra đời hay phát minh ra một ứng dụng tích hợp đầy đủ các chức năng phục vụ cho người dân,nhân viên y tế,cán bộ các ngành,
Trang 1APP CẢNH BÁO COVID BẰNG QR VÀ MÀU
SẮC, CÓ CODE
Trang 2MỤC LỤC
Trang 3H ÌNH 2.9 V ÙNG LÀM VIỆC CỦA N ODE RED 1 10
H ÌNH 2.10 V ÙNG LÀM VIỆC CỦA N ODE RED 2 10
H ÌNH 2.11 T HẺ CHỨC NĂNG KHÁC CỦA N ODE RED 11
H ÌNH 2.12 L IÊN KẾT DỮ LIỆU A PPSHEET VÀ CÁC DATABASE 12
H ÌNH 3.2 T HIẾT KẾ GIAO DIỆN N ODE RED 1 15
H ÌNH 3.2 T HIẾT KẾ GIAO DIỆN N ODE RED 2 15
H ÌNH 3.14 T ẠO GIAO DIỆN KIỂU XEM CHO A PPSHEET 1 23
H ÌNH 3.22 T ẠO GIAO DIỆN KIỂU XEM CHO A PPSHEET 9 27
H ÌNH 3.23 T HIẾT LẬP U SERNAME VÀ P ASSWORD 28
Trang 4H ÌNH 3.27 T ẠO D ASHBOARD VÀ TẠO BIỂU ĐỒ 30
H ÌNH 3.30 C HỌN D ATA S OURCE VÀ CÀI ĐẶT CHO BIỂU ĐỒ 2 31
H ÌNH 3.31 C HỌN D ATA S OURCE VÀ CÀI ĐẶT CHO BIỂU ĐỒ 3 32
H ÌNH 5.4 N HẬP THÔNG TIN BỆNH NHÂN Ở D ASHBOARD 35
H ÌNH 5.10 K ẾT QUẢ THỰC HIỆN TRÊN D ASHBOARD 1 39
H ÌNH 5.12 K ẾT QUẢ THỰC HIỆN TRÊN D ASHBOARD 3 40
H ÌNH 5.14 K ẾT QUẢ THỰC HIỆN TRÊN D ASHBOARD 5 41
H ÌNH 5.15 K ẾT QUẢ THỰC HIỆN TRÊN D ASHBOARD 6 41
H ÌNH 5.32 D ASHBOARD CÁC BIỂU ĐỒ THỐNG KÊ A PPSHEET 50
Trang 5H ÌNH 5.35 D ASHBOARD VÀ BIỂU ĐỒ M ONGO DB 51
Chương 1 Tổng quan đề tài1.1 Giới thiệu đề tài
Trong thời kì dịch bệnh Covid-19 hiện nay,việc ra đời hay phát minh ra một ứng dụng tích hợp đầy đủ các chức năng phục vụ cho người dân,nhân viên y tế,cán bộ các ngành,…Ứng dụng được thiết kế nhằm giúp mọi người thuận tiện trong việc khai báo y tế,đăng kí tham giam tiêm chủng,giám sát tình hình bệnh dịch,thống kê số lượng,…góp phần giảm bớt gánh nặng cho những người có nhiệm vụ chống dịch.Ứng dụng có thể được sử dụng rộng rãi,mọi nơi mà có internet
1.2 Mục đích nghiên cứu
Sử dụng Node red và Appsheet để quét mã QR và nhập liệu,từ đó hiển thị và lưu lại lên Google trang tính và Appsheet.Giúp giám sát và lưu trữ các thông tin cảnh báo bệnh dịch Covid-19 trong tình hình Việt Nam hiện nay
1.3 Đối tượng nghiên cứu
Trang 6Chương 2 Cơ sở lí thuyết2.1 Tìm hiểu về mã QR
2.1.1 Mã QR là gì ?Các loại mã QR ?Nguyên lí hoạt động và ứng dụng của mã QR
Được phát minh vào năm 1994 bởi công ty Denso Wave của Nhật Bản.Mã QR, viết tắt của Quick response (Mã phản hồi nhanh) là dạng mã vạch có thể đọc được bởi một máy đọc mã vạch hay các điện thoại thông minh có chức năng chụp ảnh kèm với ứng dụng chuyên biệt để quét mã.QR chuẩn chỉ có thể đọc từ trên xuống Dữ liệu lưu trữ trong mã
QR có thể là đường dẫn đến trang web,số,kí tự văn bản,… Những mã lưu trữ thông tin dưới dạng một chuỗi pixel trong một lưới hình vuông
Hình 2.1 Mã QR
Các loại mã QR:
● Chế độ số (Numberic mode): Chế độ này dành cho các chữ số thập phân từ 0 đến
9 Chế độ số là chế độ lưu trữ hiệu quả nhất, với tối đa 7.089 ký tự khả dụng
● Chế độ chữ và số (Alphanumberic mode): Chế độ này dành cho các chữ số thập
phân từ 0 đến 9, cùng với các chữ cái viết hoa từ A đến Z và các ký hiệu $,%, *, +,-,., /,: và gồm cả dấu cách Nó cho phép lưu trữ tối đa 4.296 ký tự
● Chế độ nhị phân (Byte mode): Chế độ này dành cho các ký tự từ bộ ký tự ISO –
8859–1 Nó cho phép lưu trữ 2.953 ký tự
● Chế độ Kanji (Kanji mode): Chế độ này dành cho các ký tự 2 byte từ bộ ký tự
Shift JIS và được sử dụng để mã hóa các ký tự bằng tiếng Nhật Đây là loại mã
Trang 7gốc, được phát triển lần đầu tiên bởi Denso Wave Tuy nhiên, nó đã trở nên hạn chế nhất với chỉ 1.817 ký tự có sẵn để lưu trữ.
Nguyên lí hoạt động
Kí tự sẽ được chuyển đổi thành mã nhị phân,ô đen = 1,ô trắng = 0,đọc các ô trắng đen từ dưới lên,từ phải qua rồi sắp sếp thành chuỗi nhi phân.Dùng điện thoại hay thiết bị có chức năng đọc mã QR để quét mã
Ứng dụng của mã QR
Quét mã QR code cá nhân: khi đi siêu thị cửa hàng tiện lợi,sử dụng mã QR cá nhân trên các ứng dụng mobile banking để thanh toán
Quét mã QR để phân loại sản phẩm
Quét mã QR để quản lí thông tin,quản lí nhân viên trong công ty
Hình 2.2 Ứng dụng mã QR
2.1.2 Thành phần của một mã QR
Mã Qr có 6 thành phần chính :
● Quiet Zone (vùng yên tĩnh) – Đây là đường viền trắng trống xung quanh bên
ngoài của mã QR Nếu không có đường viền này, trình đọc QR sẽ không thể xác
Trang 8định được cái gì được và không được chứa bên trong mã QR (do sự can thiệp từ các yếu tố bên ngoài).
● Finder pattern (mẫu tìm kiếm) – Mã QR thường chứa ba hình vuông màu đen ở
góc dưới cùng bên trái, trên cùng bên trái và trên cùng bên phải Những hình vuông này cho người đọc QR biết rằng nó đang xem mã QR và ranh giới bên ngoài của mã nằm ở đâu
● Alignment pattern (mẫu căn chỉnh) – Đây là một hình vuông nhỏ hơn khác nằm
ở đâu đó gần góc dưới cùng bên phải Nó đảm bảo rằng mã QR có thể được đọc, ngay cả khi nó bị lệch hoặc ở một góc
● Timing pattern (mẫu thời gian) – Đây là một đường hình chữ L chạy giữa ba ô
vuông trong mẫu tìm kiếm Timing giúp người đọc xác định các ô vuông riêng lẻ trong toàn bộ mã và giúp cho mã QR bị hỏng có thể được đọc
● Version information (phiên bản thông tin) – Đây là một trường thông tin nhỏ
nằm gần ô mẫu công cụ tìm trên cùng bên phải Điều này xác định phiên bản mã
QR đang được đọc
● Data cells (các ô dữ liệu) – Phần còn lại của mã QR truyền đạt thông tin thực tế,
tức là URL, số điện thoại hoặc tin nhắn mà nó chứa
Hình 2.3 Các thành phần của mã QR
2 1 3 Ưu điểm và nhược điểm của mã QR
*Ưu điểm
● Nhanh chóng,tiện lợi
● Khối lượng thông tin lưu trữ khá nhiều
Trang 9● Không bắt buộc yêu cầu phải có một thiết bị chuyên dụng để quét mã QR,chỉ cần
có một điện thoại thông minh có tích hợp khả năng quét mã QR
*Nhược điểm
● Chỉ quét được khi có internet
● Chưa phổ biến
● Khó sử dụng đối với người lần đầu
● Có khả năng bị tấn công dữ liệu cá nhân
2.2.Tìm hiểu về xử lí ảnh màu RGB
2 2.1 Khái niệm ảnh số
Tập hợp hữu hạn các điểm ảnh với múc xám phù hợp dùng để ảnh gần với ảnh thật Ảnh
có thể được biểu diễn dưới dạng một ma trận 2 chiều, mỗi phần tử của ma trận tương ứngvới một điểm ảnh Mỗi phần tử này được gọi là một pixel (picture element)
Ảnh có thể được định nghĩa là một hàm 2 chiều f(x, y), trong đó x và y là các tọa độ trong không gian (spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của hàm f được gọi là độ sáng (intensity) hay độ xám (gray level) của ảnh tại điểm đó
2.2.2 Hệ màu RGB
Hệ màu RGB còn gọi là hệ màu “cộng” là hệ màu được kết hợp giữa 3 màu Red (Đỏ) Green (Xanh lá) và Blue (Xanh dương).Chúng hiện hữu hằng ngày trước mắt chúng ta như là: màn hình tivi,máy tính,máy ảnh kỹ thuật số,…Hệ màu RGB thường là những màu
có khả năng phát ra ánh sáng,để tạo ra các màu sắc hay dãy màu sắc.Các màu tạo ra từ 3 màu gốc Red,Green,Blue thường sẽ sáng hơn 3 màu nguyên gốc ấy
Trang 10Hình 2.4 Màu RGB
Khi trộn tất cả 3 màu RGB là ta sẽ được màu trắng
Khi trộn màu đỏ và màu xanh lá sẽ được màu vàng
Khi trộn màu đỏ và màu xanh nước biển sẽ được màu Magenta
Khi trộn màu xanh nước biển và màu xanh lá sẽ được màu Cyan
Hệ màu RGB là một trong những mô hình phổ biến nhất,trong đó mỗi điểm ảnh được biểu diễn bằng 3 giá trị số thuộc khoảng [0 255]
Trang 112.3 Tìm hiểu về giao tiếp webcam
2.3.1 Webcam là gì ?
Khái niệm
Webcam (Website Camera), là loại thiết bị ghi hình kỹ thuật số được kết nối với máy tính
để truyền trực tiếp hình ảnh mà nó ghi được đến một máy tính khác hoặc truyền lên một website nào đó thông qua mạng Internet Tùy vào phân khúc của laptop mà chất lượng hình ảnh của webcam cũng sẽ khác nhau
Về cơ bản, webcam gần giống như máy ảnh kỹ thuật số nhưng khác ở chỗ các chức năng chính của nó sẽ do phần mềm cài đặt trên máy tính điều khiển và xử lý
Hình 2.6 Hình ảnh Webcam
Nguyên lí hoạt động
Để ghi được hình ảnh, webcam sử dụng một thiết bị cảm nhận hình ảnh, thường là ccd (charge-coupled device) hoặc cmos (complementary metal-oxide semiconductor) thiết bịcảm nhận hình ảnh này là một con chip bằng silicon gồm 75.000 đến 300.000 điểm ảnh ánh sáng truyền tới những điểm ảnh này tạo ra những dòng điện những dòng điện này sau đó được chuyển thành dữ liệu số hoá, được nén lại và truyền tới máy tính thông qua dây dẫn được cắm vào cổng usb của máy tính phần mềm điều khiển webcam trên máy tính sẽ giải nén dữ liệu chuyển dữ liệu này tới những phần mềm có nhu cầu sử dụng như yahoo messenger, msn, media movie maker,
Trang 12Hình 2.7 Cảm biến hình ảnh CCD và CMOS
Thông thường, Webcam tạo ra hình ảnh với độ phân giải 640 x 480 pixel (trong khi máy ảnh số hoặc camera số chuyên nghiệp tạo được hình ảnh có độ phân giải lên tới 2.048 x 2.048 pixel), và phát đi hình ảnh tới phần mềm điều khiển với tốc độ 30 khuôn hình trongmột giây (30fps)
2.3.2 Ứng dụng của webcam
Phục vụ nhu cầu giám sát an nình,video call,sử dụng webcam để đăng nhập vào máy tính hay điện thoại,quay phim chụp ảnh,quét mã QR hay mã vạch,
Hình 2.8 Ứng dụng của Webcam
2.4 Tìm hiểu về Node red
2.4.1 Node red cơ bản
Node red là công cụ lập trình kéo và thả các khối có sẵn,API và các dịch vụ trực tuyến với nhau.Node red cung cấp một trình soạn thảo,lập trình dựa trên trình duyệt giúp dễ dàng kết nối các thiết bị với nhau bằng cách sử dụng các khối trong bảng màu (palette) có
Trang 13Hình 2.9 Vùng làm việc của Node red 1
Hình 2.10 Vùng làm việc của Node red 2
Trang 14Chức năng :
● Bảng màu Palette : Các Node với các chức năng khác nhau
● Workspace : Nơi kéo thả Node vào và kết nối với nhau tạo thành các luồng
● Sliderbar : Chứa các bảng cung cấp các số liệu và các công cụ trong quá trình chỉnh sửa
● Nút Deploy : triển khai các luồng đã được tạo
Hình 2.11 Thẻ chức năng khác của Node red
Ta có thể tải lên các flows có sẵn thông qua thẻ Import hoặc tải flows đang sử dụng hiện tại qua thẻ Export.Ngoài ra ta có thể thêm và tải các thư viện các Node chức năng mới cho Palette qua thẻ Manage palette
2.5 Tìm hiểu về Appsheet
2.4.1 Giới thiệu
AppSheet của Google Cloud là nền tảng phát triển ứng dụng không cần mã — cho phép bạn nhanh chóng tạo các ứng dụng dành cho thiết bị di động và máy tính để bàn bằng dữ liệu hiện có của mình
Trang 15AppSheet là nền tảng xây dựng phần mềm có thể chạy được trên cả máy tính và điện thoại thông minh (bao gồm cả iPhone lẫn Android) AppSheet sử dụng nhiều nguồn dữ liệu, trong đó đáng nói nhất là sử dụng Google Sheet làm cơ sở dữ liệu.Với AppSheet ứng dụng chạy được trên điện thoại, vì vậy đi đâu cũng cập nhật dữ liệu được.
Hình 2.12 Liên kết dữ liệu Appsheet và các database
2.4.2 Ưu điểm và nhược điểm
Ưu điểm:
● Không mã,không viết chương trình
● Tiện lợi,nhanh chóng,sử dụng ở mọi nơi có internet
● Thao tác tương tự như Excel
● Có thể tải về máy tính file dữ liệu dạng Excel
● Dữ liệu được lưu trực tuyến với dung lượng 15GB miễn phí
● Bảo mật,và không sợ virut
● Sử dụng ở mọi nơi có internet
Nhược điểm:
● Bị giới hạn dữ liệu trên app (5Mb-10Mb)
● Giới hạn số lượng tài khoản sử dụng ( 10 tài khoản đối với bản miễn phí,200 tài khoản đối với bản trả phí $50,chỉ có 50 tài khoản được phép đăng nhập vào cùng 1thời điểm)
● Giới hạn số thiết bị trên 1 tài khoản là 5 thiết bị
● Appsheet cho phép lọc chỉ 10.000 dòng dữ liệu
● Giới hạn về dạng kiểu xem (20-30 Table hoặc 20-30 View)
Trang 16● Giới hạn về Google map và số hình ảnh (1000 vị trí địa lý trên tháng).
2.5.3 Ứng dụng
Phù hợp với tất cả đối tượng,ứng dụng trong tất cả các lĩnh vực có nhu cầu về nhập,xuất
dữ liệu,tạo báo cáo,…Có thể sử dụng thay thế cho Excel và Ggsheet
Chương 3 Thiết kế và thi công3.1 Sơ đồ khối của hệ thống
Trang 17Hình 3.1 Sơ đồ khối hệ thống
3.2 Thiết kế giao diện
3.2.1 Node red
Thiết kế giao diện,kéo thả các Node như hình
Hình 3.2 Thiết kế giao diện Node red 1
Hình 3.2 Thiết kế giao diện Node red 2
Các chức năng của các node cơ bản
: bật tắt webcam trên Dashboard
Trang 18: hiển thị nội dụng mã QR.
: đọc màu RGB
: hiển thị thông tin ra màn hình Dashboard
: tách lấy kí tự bằng lệnh msg.payload = msg.payload.substr();: gộp các tín hiệu lại thành một mảng hoặc 1 object
: tách lấy thông tin trong một chuỗi
:kết nối với ggsheet
:chuyển đổi kiểu string thành kiểu Object
:tạo nhiều mục cùng lúc để nhập liệu
:liên kết với Mongodb cloud
: so sánh và gán giá trị
Trang 193.2.2 Appsheet
Bước 1: Tạo các trang tính
Nhấp vào biểu tượng “+” góc dưới trái của Google trang tính để tạo trang tính -> Đổi tên cho các trang tính đó
Ta tạo 8 trang tính: Thông tin;Khai báo y tế;Khia báo y tế di chuyển nội địa;Đăng kí tiêm chủng;Khảo sát tiêm chủng;Map List;Các ca nhiễm trong ngày
Hình 3.3 Tạo trang tính 1
Bước 2: Tạo Appsheet
Chọn thẻ “Tiện ích mở rộng” -> “Appsheet” -> “Tạo ứng dụng”
Trang 22Hình 3.8 Tạo Appsheet 5
Hình 3.9 Tạo Appsheet 6
Trang 23Hình 3.10 Tạo Appsheet 7
Hình 3.11 Tạo Appsheet 8
Trang 24Hình 3.12 Tạo Appsheet 9
Hình 3.12 Tạo Appsheet 10
Trang 25Hình 3.13 Tạo Appsheet 11
Bước 7: Tạo giao diện UX
Chọn thẻ UX -> “New View”.Điều này sẽ giúp tạo ra các mục trên Appsheet để ta có thể thấy và thao tác nhập liệu trên đó
Hình 3.14 Tạo giao diện kiểu xem cho Appsheet 1
Bước 8: Chọn kiểu hiển thị cho các mục UX vừa tạo như các hình bên dưới
Trang 26Hình 3.15 Tạo giao diện kiểu xem cho Appsheet 2
Mục “Thông tin” ta chọn kiểu xem là Table
Hình 3.16 Tạo giao diện kiểu xem cho Appsheet 3
Mục “Khai báo hộ” chọn kiểu xem là Table
Trang 27Hình 3.17 Tạo giao diện kiểu xem cho Appsheet 4
Mục “Đăng kí tiêm chủng” chọn kiểu xem là Table
Hình 3.18 Tạo giao diện kiểu xem cho Appsheet 5
Trang 28Hình 3.19 Tạo giao diện kiểu xem cho Appsheet 6
Hình 3.20 Tạo giao diện kiểu xem cho Appsheet 7
Trang 29Hình 3.21 Tạo giao diện kiểu xem cho Appsheet 8
Thẻ View entries -> Add,và chọn các biểu đồ đã tạo trước đó
Hình 3.22 Tạo giao diện kiểu xem cho Appsheet 9
3.2.3 MongoDB cloud
Bước 1: Tạo tài khoản -> Đăng nhập
Bước 2: Chọn thẻ Security -> Quickstart để tạo Username và mật khẩu
Trang 30Hình 3.23 Thiết lập Username và Password
Bước 3: Chọn “New project” để tạo dự án mới
Bước 4: Chọn “+Create” để tạo một database mới và đặt tên là Cluster0
Hình 3.24 Tạo database 1
Bước 5: Chọn “Browse Collections” -> “Create database” -> Đặt tên cho Database name
và Collection name
Trang 32Hình 3.27 Tạo Dashboard và tạo biểu đồ
Bước 7: Chọn Add Charts và cài đặt cho các chart.Chọn datasourse là tên của database vàcollection name ta vừa tạo ở trên
Hình 3.28 Biểu đồ thống kê
Chọn chart 1 “Khảo sát theo khu vực” kiểu Column(Cột) với trục X: Khu vực và Y:tổng
số mũi tiêm
Trang 33Hình 3.29 Chọn Data Source và cài đặt cho biểu đồ 1
Chọn chart 2 “F0 theo khu vực” kiểu Column với trục X: Địa chỉ và Y: số
Hình 3.30 Chọn Data Source và cài đặt cho biểu đồ 2
Chọn chart 3 “F0 theo ngày” dạng Column với trục X: Ngày và Y: số
Trang 34Hình 3.31 Chọn Data Source và cài đặt cho biểu đồ 3
Chọn chart 4 “F0 theo giới tính” dạnh Circular (hình tròn)
Hình 3.32 Cài đặt cho biểu đồ 4
Trang 35Chương 4 Giải thuật và điều khiển4.1 Hoạt động của hệ thống
Khởi tạo Node red,Appsheet,MongoDB,sau đó ta quét mã QR và nhập các thông tin cần thiết trên Dashboard thì thông tin của mã QR sẽ được hiển thị lên Dashboard và được chuyển đến lưu lại tại GGsheet và AppSheet.Ngược lại thì khi nhập thông tin ở AppSheet thì thông tin sẽ được lưu lại tại Appsheet và chuyển đến lưu trên GGSheet.Ngoài ra,sau khi nhập một số thông tin mà ta đã thiết lập để đưa lên lưu trữ ở MongoDB,MongoDB sẽ tiến hành lưu trữ và thống kê bằng biểu đồ cột,tùy người dùng cài đặt
4.2 Lưu đồ giải thuật
Hình 4.1 Lưu đồ giải thuật hệ thống
Trang 36Chương 5 Thực nghiệm5.1 Tiến trình thực nghiệm
Bước 1: Thực hiện quét mã bằng Node red Dashboard
Hình 5.1 Quét mã QR 1
Hìn
h 5.2 Quét mã QR 2
Trang 37Hình 5.3 Khai báo y tế bằng Dashboard
Bước 3: Nhập thông tin bệnh nhân trên Dashboard
Hình 5.4 Nhập thông tin bệnh nhân ở Dashboard
Bước 4: Khai báo y tế bằng Appsheet.Ta nhập dữ liệu trên Appsheet