Private delegate void dldisplay string s có nghĩa là gì năm 2024

Trong phần này, ta sẽ nghiên cứu các giao thức mà reader và thẻ sử dụng để trao đổi thông điệp thông qua giao diện không gian (air interface) cũng như xem xét chi tiết thông tin được lưu trữ trên thẻ.

Giao thức: “Một tập các quy tắc chính thức mô tả cách truyền dữ liệu, đặc biệt là qua một mạng. Các giao thức cấp thấp xác định các tiêu chuẩn về điện, về vật lý được tiến hành theo kiểu bit và kiểu byte, việc truyền, việc phát hiện lỗi và hiệu chỉnh chuỗi bit. Các giao thức cấp cao đề cập đến định dạng dữ liệu bao gồm cú pháp của thông điệp, đoạn đối thoại giữa đầu cuối tới máy tính, các bộ ký tự, sự sắp xếp thứ tự của thông điệp, v.v…”

Với định nghĩa này, các giao diện không gian sẽ là các giao thức cấp thấp, còn các giao thức được mô tả dưới đây là các giao thức cấp cao. Nó xác định cú pháp của thông điệp và cấu trúc của đoạn đối thoại giữa reader và thẻ. Phần đầu xoay quanh một số thuật ngữ và khái niệm quan trọng để hiểu được giao thức thẻ và giải thích nhiều hơn về mối quan hệ giữa các chuẩn mã vạch và mã hóa thẻ, nó sẽ hữu ích cho người phát triển xây dựng các ứng dụng EPC (Electronic Product Code). Sau đây ta tìm hiểu một số loại thủ tục chống đụng độ và singulation để minh họa cách reader nhận dạng thẻ. Phần này gần giống phần chức năng security & privacy và một số mẹo gỡ rối trong việc truyền của thẻ.

Ban đầu giao thức singulation dường như chỉ những người quan tâm mới biết nhưng chúng đã được tập trung tranh luận sôi nổi trong suốt thời gian gần đây và là

nguyên nhân gây ra những quyết định then chốt trong thời gian thông qua kỹ thuật RFID trong nhiều ngành công nghiệp.

Thuật ngữ kỹ thuật phát triển khi có bất kỳ một kỹ thuật nào mới ra đời không ngoại trừ RFID. Một số thuật ngữ này khá hữu ích để mô tả các khái niệm khác sẽ xuất hiện trong phần này. Các thuật ngữ này là:

Singulation

Thuật ngữ này mô tả một thủ tục giảm một nhóm (group) thành một luồng (stream) để quản lý kế tiếp nhau được. Chẳng hạn một cửa xe điện ngầm là một thiết bị để giảm một nhóm người thành một luồng người mà hệ thống có thể đếm và yêu cầu xuất trình thẻ. Singulation cũng tương tự khi có sự truyền thông với các thẻ RFID, vì không có cơ chế nào cho phép thẻ reply tách biệt, nhiều thẻ sẽ đáp ứng một reader đồng thời và có thể phá vỡ việc truyền thông này. Singulation cũng có hàm ý rằng reader học các ID của mỗi thẻ để nó kiểm kê.

Anti-collision

Thuật ngữ này mô tả một tập thủ tục ngăn chặn các thẻ ngắt mỗi thẻ khác và không cho phép có thay đổi. Singulation nhận dạng các thẻ riêng biệt, ngược lại anti- collision điều chỉnh thời gian đáp ứng và tìm các phương thức sắp xếp ngẫu nhiên những đáp ứng này để reader có thể hiểu từng thẻ trong tình trạng quá tải này. Identity là một cái tên, một số hoặc địa chỉ mà nó chỉ duy nhất một vật hoặc một nơi nào đó. “Nguyễn Đình Chiểu” là một identity chỉ một con người cụ thể. “259/11/13 Phường Trung Dũng, Thành phố Biên Hòa, Tỉnh Đồng Nai” là identity chỉ một nơi cụ thể.

2.3.2 Phƣơng thức lƣu trữ dữ liệu trên thẻ

Giao thức truyền thông thẻ cấp cao hiểu được các loại ID và phương thức lưu trữ liệu trên thẻ. Tuy nhiên vì một reader chỉ liên lạc với một thẻ nên layout về mặt vật lý thực tế của bộ nhớ trên thẻ tùy thuộc vào nhà sản xuất. Layout có cấu trúc logic như hình vẽ:

Hình 2.10. Layout bộ nhớ của một thẻ minh họa

Trong đó:

- CRC là một checksum (xem chi tiết trong “CCITT-CRC”). - EPC là ID của thẻ.

- Password là một “mã chết” để làm mất khả năng hoạt động của thẻ. CCITT-CRC:

- CRC (Cyclic Redundancy Check) là một phương pháp xác minh một khối dữ liệu không thích hợp do đã bị sửa đổi. Người gửi khối dữ liệu này sẽ tính một giá trị bằng cách xử lý toàn khối thành một số lớn và chia nó bởi một số được gọi là đa thức CRC. Số dư của phép toán này là CRC. Người gửi sẽ gửi CRC này cùng với dữ liệu và người nhận dùng phương pháp tương tự để tính CRC qua khối dữ liệu để so sánh. Nếu CRC từ người gửi không thỏa với CRC đã được tính bởi người nhận thì người nhận yêu cầu dữ liệu được gửi lại. Để phát sinh CRC, các giao thức EPC sử dụng đa thức CCITT-CRC. Giao thức này dùng chuỗi 16 bit CRC sử dụng đa thức. Nó có thể bắt được 99.998% lỗi.

- Thuật toán tính CRC: Đầu tiên tính giá trị hex cho đa thức. Thực hiện bằng cách tính từ 15 xuống (vì đây là chuỗi CRC 16 bit) và đánh dấu 1 cho mỗi lũy thừa xuất hiện

trong đa thức. Đối với mỗi lũy thừa không có trong đa thức ta đánh dấu 0. Điều này có nghĩa số đó là số 0001000000100001 hoặc số hex 1021(số này là CCITT). Lấy đa thức khối dữ liệu chia cho đa thức này, số dư là CRC.

2.3.3 Dải tần hoạt động của hệ thống RFID

Khi phải lựa chọn một hệ thống RFID, yêu cầu đầu tiên là chọn dải tần hoạt động của hệ thống.

Tần số thấp - Low frequency 125 KHz: Dải đọc ngắn tốc độ đọc thấp

Dải tần cao - High frequency 13.56 MHz: Khoảng cách đọc ngắn tốc độ đọc trung bình. Phần lớn thẻ Passive sử dụng dải này.

Dải tần cao hơn - High frequency: Dải đọc từ ngắn đến trung bình, tốc độ đọc trung bình đến cao. Phần lớn thẻ Active sử dụng tần số này.

Dải siêu cao tần - UHF frequency 868-928 MHz: Dải đọc rộng, tốc độ đọc cao. Phần lớn dùng thẻ Active và một số thẻ Passive cao tần sử dụng dải này.

Dải vi sóng - Microwave 2.45-5.8 GHz: Dải đọc rộng tốc độ đọc lớn.

2.4 Ứng dụng RFID ở Việt Nam

Việt Nam đã từng bước ứng dụng các tiện ích của công nghệ RFID. Điển hình như công ty TECHPRO Việt Nam, hợp tác cùng Hãng IDTECK – Korea ứng dụng RFID trong chấm công điện tử, kiểm soát thang máy. Viện Công nghệ Thông tin đã giới thiệu chào bán các hệ thống ứng dụng RFID như: hệ thống kiểm soát xâm thực AC200 sử dụng thẻ RFID; khóa thẻ điện tử RFID K400R; hệ thống kiểm soát vô tuyến.

Trung tâm công nghệ cao Việt Nam, thuộc Viện điện tử - tin học - tự động hóa, đang nghiên cứu thiết kế và xây dựng hệ phần mềm cho các hệ thống quản lý tự động bằng thẻ RFID để ứng dụng trong hệ thống thu phí cầu đường. Tại TP. HCM, công nghệ RFID cũng đang được triển khai ứng dụng trong trạm thu phí Xa lộ Hà Nội và hệ thống kiểm soát bãi đỗ xe tự động tại hầm đậu xe tòa nhà The Manor... Bộ Khoa học và Công nghệ Việt Nam và Thái Lan đã thống nhất khai triển “Chương trình xây dựng hệ thống theo dõi, giám sát truy xuất sản phẩm tôm bằng RFID”.

Ngoài ra, còn có các đề tài đang nghiên cứu như “Nghiên cứu xây dựng hệ thống quản lý, điều hành kho thông minh Smart Warehouse dựa trên công nghệ RFID và hệ

thống nhúng” (Đại học Khoa học Tự nhiên) và “Nghiên cứu công nghệ xác định, nhận dạng sử dụng RFID trên mạng Internet” (Trung tâm Internet Việt Nam).

Trong năm 2007, toàn thế giới đã bán được haơn 2,24 tỷ thẻ RFID. Dự báo năm 2010 sẽ có 33 tỷ thẻ RFID được sản xuất ra trên phạm vi toàn cầu. Một bộ đọc RFID thông thường được bán với mức giá khoảng 1.000 USD, các thẻ RFID có giá dao động trên dưới 1 USD và có xu hướng ngày càng giảm. Từ năm 1955 đến năm 2005, doanh thu thẻ RFID vào khoảng 2,4 tỷ USD. IDTechEx cho biết thị trường RFID năm 2007, từ 4,93 tỷ USD sẽ tăng trưởng đến 5,29 tỷ USD vào năm 2008, tăng khoảng 7,3%. Hãng nghiên cứu ABI Research dự báo thị trường RFID vào năm 2013 sẽ đạt doanh thu 9,7 tỷ USD với mức tăng trưởng hàng năm là 15%. Điều thú vị là Trung Quốc, một nước gần như chưa có trong bản đồ sáng chế về RFID nhưng lại là nước có doanh thu từ các sản phẩm của công nghệ RFID tương đương với Mỹ: 1,3 tỷ USD (năm 2008).

2.5 Tiểu kết

Chương này giúp ta nắm được công nghệ nhận dạng vô tuyến –RFID, phương thức lưu trữ dữ liệu trên thẻ để lưu trữ thông tin phục vụ cho việc giữ xe.

Dựa vào tiêu chuẩn phân loại các loại thẻ, chúng tôi chọn và sử dụng thẻ cảm ứng (proximity) - là thẻ nhựa có sử dụng ăngten tích hợp và sử dụng sóng radio để giao tiếp với đầu đọc thẻ, là thẻ chỉ đọc (read-only), không có khả năng ghi lại hoặc xóa thông tin trên thẻ. Dữ liệu lưu trữ trên thẻ thông thường là 4 đến 10 số. Thẻ cảm ứng thường được sử dụng như thẻ ID, thẻ nhân viên, thẻ chìa khóa…

Chương tiếp theo sẽ giới thiệu về chương trình nhận dạng biển số xe tự đông và khả năng hoạt động của chương trình.

CHƢƠNG 3: CHƢƠNG TRÌNH GIỮ XE TỰ ĐỘNG

3.1 Ứng dụng công nghệ mã nguồn mở

Có nhiều phương pháp, giải pháp nhận dạng biển số xe như sử dụng mạng nơron, phương pháp Bayes, dùng bảy mômen bất biến… Tuy nhiên, để tiết kiệm thời gian và tiện lợi chúng tôi đã ứng dụng công nghệ mã nguồn mở vào chương trình để nhận dạng biển số.

3.1.1 Điều kiện cơ bản

Đòi hỏi máy tính chạy Windows XP hoặc hệ điều hành mới hơn, chạy Visual Studio 2010 C + + và MSXML 6.0 XML. Về phần cứng, yêu cầu duy nhất là một CPU hỗ trợ SSE2 phần mở rộng.

Bất kỳ máy tính 5 tuổi hoặc mới hơn được cập nhật thường xuyên với các bản vá lỗi của Microsoft và các gói dịch vụ nên đã đáp ứng được các yêu cầu nêu trên. Tuy nhiên, điều kiện yêu cầu phần mềm trên có thể được tải về từ Microsoft.

1. Visual Studio 2010 C + + chạy có thể được tải về từ

http://www.microsoft.com/download/en/details.aspx?id=5555

2. MSXML 6.0can be installed from

http://www.microsoft.com/downloads/details.aspx?FamilyID=D21C292C-368B- 4CE1-9DAB-3E9827B70604&displaylang=en

3. Để kiểm tra xem một bộ xử lý cụ thể hỗ trợ SSE2

http://en.wikipedia.org/wiki/SSE2

3.1.2 Nhận dạng biển số xe Gồm 3 bƣớc chính: Gồm 3 bƣớc chính:

- Phát hiện biển số xe bằng biểu đồ phân tích đa phân giải (Multiresolution): Bộ lọc chấp nhận, tìm các vùng phù hợp trong hình ảnh dựa trên biểu đồ phân phối của thuật toán.

- Thresholding, phân đoạn và phân nhóm hình dạng: Tìm thấy một ngưỡng tối ưu cho khu vực biển số ứng cử viên bằng cách phân tích các thông tin biểu đồ của nó. Phân đoạn hình dạng và tìm các cụm ký tự của ứng cử viên phù hợp.

- Xác định ký tự bởi tập mẫu phù hợp và xác minh biển số xe: Đối với mỗi hình dạng, tìm giá trị tương quan của nó với tất cả các thành viên trong tập xác định trước các mẫu ký tự. Thiết lập này bao gồm các mẫu của tất cả các ký tựcó thể được tìm thấy trong biển số xe.

3.2 Ứng dụng công nghệ RFID vào chƣơng trình.

Máy đọc thẻ RFID được kết nối với máy chủ qua cổng USB yêu cầu máy cài Driver điều khiển thiết bị (Sẽ được đính kèm chương trình).

Cài đặt đặt RFID vào chương trình:

Chương trình cần được sử dụng thư viện:

“AxInterop.VITAMINDECODERLib.dll”. Cài đặt chương trình:

- Thêm một serialPort từ Tools Box. - Mã chương trình.

- Sự kiện nút bấm kết nối máy đọc thẻ RFID qua cổng COM private void btnRFID_Click(object sender, EventArgs e) {

if (portstatus == 0) {

try {

btnRFID.Text = "Ngắt kết nối"; labelX9.Text = "Đã kết nối, RS232"; labelX9.ForeColor = Color.Red; portstatus = 1;

serialPort1.PortName = cbbComPort.Text; serialPort1.Open();

cbbComPort.Enabled = false; } catch { } } else { try {

if (portstatus == 1 && serialPort1.IsOpen) {

btnRFID.Text = "Kết nối";

labelX9.Text = "Ngưng kết nối, RS232"; labelX9.ForeColor = Color.Green; portstatus = 0;

serialPort1.Close();

ptbThietLap.Image =

Presentation.Properties.Resources.Administrative_Tools; cbbComPort.Enabled = true;

} } catch { } } } - Hàm serialPort

{

SerialPort sp = (SerialPort)sender; serialPort1 = (SerialPort)sender;

string indata = serialPort1.ReadExisting(); display(indata);

}

- Hàm hiển thị mã số thẻ lên Text Box

//Ham DlDisplay the hien du lieu khi doc RS232 private delegate void DlDisplay(string s);

private void display(string s) {

if (txtMaSoThe.InvokeRequired) {

DlDisplay sd = new DlDisplay(display); txtMaSoThe.Invoke(sd, new object[] { s }); } else { txtMaSoThe.Clear(); txtMaSoThe.Text = s; } }

3.3 Giao tiếp với cổng chắn

Phương thức giao tiếp truyền nhận dữ liệu giữa phần mềm và cổng chắn là truy xuất trực tiếp thông qua cổng COM. Khi máy chủ truyền tín hiệu 1 thì cổng chắn mở, truyền tín hiệu 2 thì cổng chắn đóng.

Và đây là đoạn chương trình truyền nhận dữ liệu giữa máy chủ và cổng chắn: private void updatePorts()

{

string[] ports = SerialPort.GetPortNames(); foreach (string port in ports)

{

cbbBarrier.Items.Add(port); }

}

private SerialPort ComPort = new SerialPort();

private void connect() {

bool error = false;

if (cbbBarrier.SelectedIndex != -1) {

ComPort.PortName = cbbBarrier.Text; ComPort.BaudRate = 9600;

ComPort.Parity = (Parity)Enum.Parse(typeof(Parity), "None"); ComPort.DataBits = 8; ComPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), "1"); try { ComPort.Open(); }

catch (UnauthorizedAccessException) { error = true; } catch (System.IO.IOException) { error = true; }

if (error) MessageBox.Show(this, "Không thể kết nối đến cổng chắn", "Kết nối cổng chắn", MessageBoxButtons.OK, MessageBoxIcon.Stop);

} else {

MessageBox.Show("Chọn cổng chắn để kết nối", "Cấu hình thông số cổng chắn", MessageBoxButtons.OK, MessageBoxIcon.Stop); } if (ComPort.IsOpen) { btnBarrier.Text = "Ngắt kết nối"; cbbBarrier.Enabled = false; } }

private void disconnect() {

ComPort.Close();

btnBarrier.Text = "Kết nối"; cbbBarrier.Enabled = true; }

private void sendData(int dataSTT) { if (ComPort.IsOpen) { ComPort.Write(dataSTT.ToString()); } else

{

MessageBox.Show("Kết nối tới cổng chắn đã đóng!", "Cổng chắn", MessageBoxButtons.OK, MessageBoxIcon.Stop);

} }

3.4 Giới thiệu hệ thống giữ xe tự động 3.4.1 Chức năng chính 3.4.1 Chức năng chính

Hệ thống giữ xe tự động cho phép tự động:

- Phát hiện, nhận dạng biển số xe thông qua camera.

- Chụp ảnh biển số xe của khách ra vào và lưu vào cơ sở dữ liệu.

- Đọc mã số thẻ khi khách quét thẻ qua máy đọc thẻ RFID và truy xuất dữ liệu từ máy chủ.

- Lưu lại thông tin biển số xe vào hoặc ra thông qua công nghệ phát hiện và nhận dạng các kí tự trên biển số xe.

- Mở cổng chắn cho xe qua khi thỏa mãn đầy đủ yêu cầu của hệ thống.

- Thông báo cho khách các trường hợp lỗi phát sinh lên bảng thông báo điện tử để khách nhanh chóng có biện pháp xử lý kịp thời.

Quá trình thực hiện chỉ diễn ra trong vòng 2 đến 5s. Mô hình hệ thống được mô tả như sau:

3.4.2 Mô tả các thiết bị cần có trong hệ thống

Sơ đồ 3.1. Sơ đồ hệ thống giữ xe tự động có cửa vào và ra khác vị trí

Ở mỗi cổng ra và vào sẽ có những thiết bị sau đây:

- 1 máy chủ dùng để truy xuất thông tin từ mã số thẻ của khách ra vào bãi giữ xe. Cũng như dùng để lưu trữ thông tin xe ra vào bãi giữ xe qua đó có thể thống kê số lượng xe có trong bãi, số lượng xe được ra vào trong ngày, tuần, tháng, từ ngày này đến ngày kia.

- 1 đầu đọc thẻ RFID dùng để đọc thông tin trên thẻ của khách hàng khi khách ra hoặc vào bãi giữ xe.

- 1 Camera dùng để tự động phát hiện ra biển số xe, chụp ảnh và nhận dạng thông tin trên biển số xe.

- 1 cổng chắn để điều tiết luồng lưu thông từng xe trong quá trình ra vào cổng của bãi giữ xe.

- 1 bảng thông báo điện tử đèn led và bộ loa dùng để thông báo các tình huống trong quá trình khách ra vào bãi giữ xe để khách hoặc nhân viên quản lý kịp thời xử lý.

- Các thiết bị phụ khác như bậc giảm tốc, rào chắn phân luồng… Dùng để định vị trí xe ra vào bãi giữ xe làm cho khoảng cách camera đến biển số xe theo đúng chuẩn của hệ thống nhằm tránh trường hợp sai xót.

- 2 máy chủ ở 2 đầu ra vào được kết nối với nhau qua mạng Lan để trao đổi thông tin xe ra vào một cách nhanh nhất.