• Tất cả các chương trình trong khóa luận lập trình bằng ngôn ngữ C# .Net 3.5.
• Các chương trình thực thi bằng Synchronous Socket của C# để giao tiếp qua Internet.
• Sử dụng lớp SerialPort để giao tiếp với Reader và điện thoại.
• Hệ quản trị cơ sở dữ liệu MSSQL.
• Khi áp dụng ở qui mô rộng hơn, hệ thống quản lý các chương trình theo các user phân quyền thành y tá, bác sỹ, người quản trị. Trong phạm vi khóa luận,
các chương trình kết nối với nhau trực tiếp qua địa chỉ IP của các máy tính chạy chương trình đó.
Đi kèm bộ toolkit là chương trình Reader Utility, cung cấp giao diện sử dụng giữa máy tính và reader
Hình 7 Reader Utility
Để đọc và ghi lên RFID thẻ tùy ý theo các chương trình trong khóa luận, yêu cần cần phải làm lại module giao tiếp với Reader. Reader giao tiếp với máy tính qua cổng Serial (RS485), các thông số: • Baud Rate: 9600 • Data Bits: 8 • Parity: pNone • Stop Bits: 1 • DTR: true • RTS: true
Từ giao diện có sẵn và sử dụng chương trình Comport Toolkit 3.9 ta biết được các qui ước trao đổi giữa máy tính và reader.
Một số lệnh cơ bản qui ước giữa Reader và máy tính khi sử dụng Comport Toolkit thu được:
• Chếđộ K0: sử dụng cho các transponder thường (64bits dữ liệu)
• Chếđộ K1: sử dụng cho các MPT transponder (Mutlipage Transponder)
• Chế độ đọc đơn (K0 mode): Máy tính gửi ký tự X qua cổng giao tiếp đến Reader. Nếu reader trả về một số định danh hợp lệ thì theo sau đó là ký tự X, ký tự kiểu của transponder, dấu cách, 4 ký tự mã của ứng dụng, dấu cách và 16 sốđịnh danh. Nếu hệ thống không đọc được sốđinh danh, ký tự X (XI nếu định danh không hợp lệ).
• Chế độ ghi (K0 mode): Để máy tính có thể lập trình vào transponder đầu tiên máy tính phải gửi ký tự P đến Reader và khi ký tự P trả về, máy tính gửi tiếp 16 ký tự hexa, 16 ký tự này là dữ liệu cần thiết để ghi vào transponder. Khi chu kỳ
ghi hoàn thành, transponder sẽ gửi dãy số được lập trình về lại Reader để so sánh. Sau khi so sánh Reader gửi 1 ký tự trạng thái (0,1,2) gửi lại máy tính:
o 0: transponder được lập trình thành công.
o 1: transponder được lập trình khác với dãy số máy tính gửi ra Reader.
o 2: Reader không nhận được dãy số phản hồi từ transponder để so sánh.
• Để thực hiện chếđộ đọc, ghi transponder nhiều trang Reader phải chuyển sang chế độ K1( MPT mode: Multipage Transponder) bằng cách gửi ký K1 ra Reader.
• Khi đang ở chế độ K1, nếu gửi ký tự M kèm theo ký tự X hệ thống sẽ chuyển sang chếđộ Multiplexer (sẽ không đề cập ở khóa luận này).
• Chếđộđọc đơn (K1 mode) PC gửi ra reader kèm sau ký tự X là chuỗi số gồm 2 chữ số (từ 1 -> 11 trong mã hexa). Trong đó 2 sốđi kèm là vị trí trang thông tin sẽđược đọc.
• Để lập trình một MPT transponder sau kèm theo ký tự P, máy tính gửi 2 chữ số
hexa (1->11) và chuỗi 16 ký tự hexa. Sau khi nhận ký tự cuối cùng từ máy tính 1 BlockCheckCharater được tính toán và gửi toàn bộ ra transponder. Tại chu kỳ
cuối của quá trình ghi, cũng tương tự như quá trình ghi trong chếđộ K0, reader nhận lại các ký tự định danh và trang địa chỉ từ transponder để so sánh với những gì nhận được từ PC. Tùy theo kết quả so sánh, máy tính gửi về số
antena, trạng thái ghi, kiểu transponder, dấu cách, vị trí trang, dấu cách, mã ứng dụng, dấu cách, sốđịnh danh. Ví dụ Máy tính Æ Reader P (ký tự qui định) Reader Æ Máy tính P (ký tự qui định) Máy tính Æ Reader
05 (vị trí trang cần ghi – hexa)
432FFA6B22228FFA (chuỗi thông tin cần ghi tại trang 05 – hexa) Reader Æ máy tính
10M 05 1074 4497462691794938<CR><LF> Ghi thông tin thành công tại trang 05-hexa
4.2.2.1 Xe cứu thương
Đây cùng với chương trình tại bệnh viện là chương trình chính giao tiếp với thiết bị
RFID trong khóa luận. Sử dụng qui ước đọc nhiều trang tại chế độ K1 ở phần trên đọc các thông tin về bệnh nhân. Chuyển dữ liệu về bệnh viện thông qua Internet. Gửi tín hiệu ra Reader và nhận dữ liệu được Reader đọc từ thẻ RFID. Dữ liệu nhận về theo qui ước như đã nói ở chương 3 (hình 3.1). Máy tính kết nối với reader qua cổng serial. Khi nhận
được dữ liệu là một mảng byte[], chuyển thành dữ liệu thập phân và so sánh với các mô tả
lệnh rồi thực hiện các mô tả lệnh đó Các mô tả lệnh bao gồm:
• Gửi một luồng dữ liệu sau nó đến bệnh viện
• Gửi một luồng dữ liệu sau nó đến tổng đài Giao diện chương trình khi kết nối thành công
Hình 8 Thông tin bệnh nhân 4.2.2.2 Bệnh viện
Trong khóa luận này chương trình mô tả chương trình tại bệnh viện trong hệ thống sẽ sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL server. Việc liên kết các hệ quản trị
Trong bảng bệnh án, do chương trình chỉ có tính mô phỏng nên các nội dung trong phần chuyên môn không đề cập đầy đủ như môt bệnh án chuẩn thông thường trong bệnh viện.
Phần hành chính trong bệnh án có khóa ngoại tham chiếu đến bảng thông tin bệnh nhân. Bảng bệnh nhân này cho phép nhân viên y tế xem.
Hình 9 Chương trình tại bệnh viện
create table Disease(
Id varchar(16) not null primary key,
Patient_id varchar(16) foreign key references patient(id), Disease_name varchar(50),
Blood varchar(2),
Home_phone varchar(16) )
create table Patient (
Id varchar(16) not null primary key, name varchar(50),
Age int,
Address varchar(50), Job varchar(50) )
create table Doctor (
Id varchar(16) primary key, name varchar(50), Address varchar(50), Phone varchar(16)
)
Khi bệnh nhân đến đăng ký khám, người quản trị nhập các thông tin đầy đủ vào cơ
sở dữ liệu. Các thông tin như ID bệnh nhân, các mô tả lệnh, ID bệnh án, ID bác sỹ tư từ
dạng thập phân chuyển thành byte[] qua cổng serial ra reader rồi từ reader ghi vào thẻ
4.2.2.3 Tổng đài
Chương trình này nhận được thông tin từ xe cứu thương và của bệnh viện về qua Internet và mô phỏng tổng đài gửi đến người nhà bệnh nhân và bác sỹ tư.
Chương trình sử dụng AT command để gửi sms từ máy tính qua điện thoại. Yêu cầu chương trình:
• Máy tính kết nối với điện thoại qua Bluetooth (cổng serial) và tên cổng đúng với tên cổng của chương trình (phải thiết lập cổng khi khởi động chương trình).
• Điện thoại kết nối có khả năng gửi sms trong tình trạng bình thường.
• Chương trình tổng đài được kết nối đồng thời với chương trình bệnh viện và chương trình xe cứu thương
Khi nhận được string từ bên ngoài (chương trình bệnh viện hoặc chương trình trên xe cứu thương) bao gồm nội dung cần thông báo và số điện thoại người nhận(bác sỹ tư
hoặc người thân), chương trình này lọc phần nội dung và sốđiện thoại (16 ký tựđầu là số điện thoại) rồi gửi thông báo đến sốđiện thoại tương ứng.
CHƯƠNG 5 KẾT LUẬN