1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo Cáo Tìm Hiểu Đề Tài QRCODE và làm ứng dụng đọc mã QRCODE trên Android

18 3,4K 41

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 2,23 MB

Nội dung

QR Code, viết tắt của Quick response code (tạm dịch Mã phản hồi nhanh) hay còn gọi là mã vạch ma trận (matrixbarcode) là dạng mã vạch hai chiều (2D) có thể được đọc bởi một máy đọc mã vạch hay smartphone (điện thoại thông minh) có chức năng chụp ảnh (camera) với ứng dụng chuyên biệt để quét mã vạch.

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TP.HỒ CHÍ MINH  B Đề ÁO tài: Tìm hiểu QR Code Môn học: Nhập môn CNPM Giảng viên hướng dẫn: Võ Xuân Thể Thực hiện: Nguyễn Hoàn Nam Dương Lớp: D14CQAT01-N MSSV: N14DCAT032 TPHCM,4/2017 MỤC LỤC Tìm hiểu QR Code I Những điều cần biết QR QR ? QR ma trận hay gọi hai chiều (Two-Dimensional) phát triển công ty Denso Wave (Nhật Bản) vào năm 1994 “QR" viết tắt từ "Quick Response", tiếng Anh có nghĩa đáp ứng nhanh, người tạo có ý định cho phép giải tốc độ cao QR chứa thông tin theo hướng dọc ngang , vạch (Barcode) chứa liệu theo hướng đồng thời QRcode chứa khối lượng lớn thông tin so với vạch thông thường Lịch sử phát triển Sơ khai QRcode Barcode – loại vạch phát minh năm 1973 sữ dụng rộng rãi nhiều lĩnh vực giới Barcode bùng nỗ phát triển mạnh tốc độ đọc, độ xác tính ưu việt khác Tuy nhiên, với hạn chế nhiều mặt đặt biệt khối lượng thông tin BarCode lưu trữ (chỉ khoảng 20 số chữ số) nên loại 2-D sinh để giải vấn đề Barcode 2D Code with stacked bar codes 2D Code (matrix type) 2D ( Two-Dimensional) ban đầu thật chất Barcode xếp chồng lên tạo thành (stacked Barcode) sau phát triển thêm thành nhiều loại 2D khác với phương pháp ma trận để lưu trữ nhiều thông tin Trong có nhiều loại sữ dụng phổ biến lĩnh vực công nghệ khoa học : PDF417, DataMatrix, Maxi thông dụng QRCode Hệ thống QR Denso Wave phát minh măm 1994 Mục đích theo dõi xe cộ trình sản xuất; thiết kể phép quét phận với tốc độ cao Mặc dù ứng dụng ban đầu để theo dõi phận xe, QR ứng dụng nhiều ngữ cảnh khác bao gồm ứng dụng theo dõi thương mại ứng dụng hướng tới tiện lợi cho người sử dụng điện thoại di động QR sử dụng để hiển thị 16 Tìm hiểu QR Code chữ cho người sử dụng, thời gian diễn kiện, để thêm danh thiếp vCard vào thiết bị người sử dụng, để mở URI, để viết e-mail tin nhắn hay chí thông tin định vị vị trí địa lý Người sử dụng tạo in QR riêng họ cho người khác quét sử dụng để ghé thăm trang phải trả tiền miễn phí thông qua QR Nó trở thành kiểu sử dụng nhiều nhóm vạch hai chiều II Những tính QR Các tính quan trọng - QR code lưu giữ thông tin chứa vài chục đến vài nghìn ký tự chữ số vượt trội nhiều so với Barcode truyền thống lưu trữ khoảng 20 kí tự Tối đa 7,089 ký tự hoá biểu tượng Biểu tượng QR có kích thước hoá 300 ký tự chữ số - QR Code có khả xử lý nhiều loại liệu phức tạp, chẳng hạn ký tự số chữ, Kanji, Hiragana, chữ Khmer, chữ Hán, chữ Hebrew ký hiệu, nhị phân control codes Một đoạn chữ tiếng Nhật hóa QR *Khả lưu trữ liệu QR - Số đơn thuần: Tối đa 7.089 kí tự - Số chữ cái: Tối đa 4.296 kí tự - Số nhị phân (8 bit): Tối đa 2.953 byte - Kanji/Kana: Tối đa 1.817 kí tự 16 Tìm hiểu QR Code - Kích thước nhỏ gọn tiện dụng BarCode : Vì QR Code mang thông tin theo chiều ngang chiều dọc nên QR Code có khả hoá lượng liệu khoảng phần mười kích thước so với BarCode Mặc khác QR có dạng Vi QR (Micro QRcode) với kích thước nhỏ tiện dụng Kích thước BarCode so với QRCode lưu liệu - Một tính khác vượt trội QR bị bẩn, hư hại phần nhẹ đọc liệu Bởi QR có mức sữa lỗi định (sử dụng thuật toán chỉnh sửa lỗi Reed-Solomon) để đảm bảo cho liệu không bị đi, mức cao lượng thông tin chứa QR code giảm Từ người dùng tùy biến, chỉnh sữa QR phục vụ cho nhiều mục đích khác *Khả sửa chữa lỗi - Mức L 7% số từ (codeword) phục hồi - Mức M 15% số từ phục hồi - Mức Q 25% số từ phục hồi - Mức H 30% số từ phục hồi Một vài QR code phục vụ cho việc quảng cáo 16 Tìm hiểu QR Code QR bị lỗi phần đọc liệu - Dù nằm vị trí dù ngược – xuôi – ngang – dọc việc đọc code dễ dàng không cần phải xoay chỉnh thiết bị đọc hay code cho định dạng Khả có chủ yếu nhờ cấu trúc QR có hoa văn định vị nên QR đọc 360° Cấu trúc QR - Tính Structured Append: tính cho phép QR chia thành nhiều vùng liệu Ngược lại, thông tin lưu trữ nhiều biểu tượng QR tái tạo lại dạng ký hiệu liệu đơn Nhiều kí tự số QR chia thành nhiều QR - Ngoài QR phát triển thành nhiều loại với nhiều ứng dụng riêng sữ dụng nhiều lĩnh vực qua đặt tính riêng chẳng hạn Micro QR Code, IQR Code, SQR code, Frame QR Những hạn chế 16 Tìm hiểu QR Code Bên cạnh tính vô hửu ích QR có vài hạn chế nhỏ sau: - Phải có thiết bị đọc QR smartphone có phần mềm hổ trợ tính đọc QR - Mức độ phổ biến thực tế so với Barcode thấp nhiều lần mặc khác doanh nghiệp, tổ chức cá nhân hài lòng với Barcode nên chưa sẳn sàng bỏ chi phí đầu tư cho thiết bị đọc QRcode III Cách tạo QR Các bước thuật toán tạo QR Dưới khái quát bước thuật toán tạo QR: • Bước 1: Data Analysis Chuẩn QR có bốn chế độ hóa văn bản: số, chữ số, nhị phân, chữ Kanji Mỗi chế độ hoá văn chuỗi nhị phân (1 0), lại sử dụng phương pháp khác để chuyển đổi văn thành chuổi nhị phân, phương pháp hóa tối ưu hoá để hóa liệu với chuỗi ngắn Do đó, bước thực phân tích liệu để xác định xem văn hoá chế số, chữ số, nhị phân, chữ Kanji, sau chọn chế độ tối ưu cho văn • Bước 2: Data Encoding Bây chọn chế độ hoá thích hợp cho văn chúng ta, bước hoá văn Kết bước chuỗi bit chia thành từ liệu có chiều dài bit VD: Đoạn chử Hello World hóa với QR code cho kết quả: 00100000 01011011 00001011 01111000 11010001 01110010 11011100 01001101 01000011 01000000 11101100 00010001 11101100+ • Bước 3: Error Correction Coding QR sử dụng sửa lỗi Reed-Solomon Điều có nghĩa sau tạo chuỗi nhị phân liệu đại diện cho văn mình, phải sử dụng chuỗi để tạo số hiệu chỉnh lỗi cách sử dụng trình gọi Reed-Solomon error correction Máy quét QR đọc số liệu từ hoá sửa lỗi Bằng cách so sánh hai , máy quét xác định xem đọc liệu có xác hay không, sửa lỗi đọc liệu không xác 16 Tìm hiểu QR Code • Bước 4: Structure Final Message Các liệu hoá sửa lỗi tạo bước trước phải xếp theo thứ tự thích hợp Đối với QR lớn, liệu hiệu chỉnh lỗi tạo khối, khối phải xen kẽ theo QR code specification • Bước 5: Module Placement in Matrix Sau tạo liệu hiệu chỉnh lỗi xếp chúng theo thứ tự, phải đặt bit ma trận QR Các từ xếp ma trận cách cụ thể Trong bước này, đặt patterns cho tất QR, chẳng hạn boxes ba góc - Finder patterns(FP): Là ba khối góc QR bên trái, bên phải bên trái - Separators: Là khoảng trắng bên cạnh FP - Alignment patterns: Tương tự FP, nhỏ hơn, đặt suốt - Timing patterns: Là đường chấm chấm kết nối FP - Dark module: Là module màu đen • Bước 6: Data Masking Một số patterns ma trận QR khiến máy quét QR khó đọc xác Để chống lại việc này, QR Code Specification xác định mask pattern, thay đổi QR theo particular pattern Chúng ta phải xác định pattern số mask pattern dẫn đến QR có đặc điểm không mong muốn Điều thực cách đánh giá ma trận che dấu dựa bốn penalty rules QR cuối bạn phải sử dụng mẫu mask pattern dẫn đến penalty score thấp 16 Tìm hiểu QR Code Những hình ảnh cho thấy tám QR, hình mask pattern Tất tám QR ví dụ hóa liệu Như hình trên, mask pattern có điểm số thấp mask pattern Do đó, ví dụ này, hóa QR nên sử dụng mask pattern xuất QR cuối • Bước 7: Định dạng Thông tin Phiên Bước cuối thêm định dạng thông tin phiên vào QR cách thêm điểm ảnh khu vực particular phần để trống bước trước Các điểm ảnh định dạng xác định mức độ hiệu chỉnh lỗi mask pattern sử dụng QR QR tạo hoàn tất 16 Tìm hiểu QR Code Công cụ online tạo QR đơn giản Hiện có nhiều ứng dụng để tạo QR code hoàn toàn miễn phí Chỉ cần gõ từ khóa “QR code generator” công cụ tìm kiếm tìm nhiều công cụ trực tuyến giúp tạo QR Tạo QR miễn phí với website : http://www.qr-code-generator.com VI Tạo ứng dụng đọc QR Android với Zxing Giới thiệu thư viện Zxing Zxing (Zebra Crossing) thư viện nguồn mở, cho phép người dùng quét "graphical barcodes" 1-D 2-D với camera thiết bị Android họ xử lý nhiều định dạng vạch chiều chiều, cài đặt Java Mục đích thư viện sử dụng máy ảnh điện thoại di động để chụp giải vạch thiết bị, không cần phải kết nối với máy chủ Hiện thư viện hỗ trợ định dạng vạch sau: UPC-A UPC-E, EAN-8 EAN-13, Code 39, Code 128, QR Code, Data Matrix, ITF Thư viện chia làm nhiều phần, phần sau hỗ trợ phát triển thường xuyên nguồn thư viện Zxing: https://github.com/zxing/zxing Các bước tạo ứng dụng đơn giản đọc QR Android Studio • Bước 1: Creating project 16 Tìm hiểu QR Code Tạo Project Android Studio, goto File ⇒ New ⇒ New Projects • B c 2: Thêm thư viện Zxing vào “dependencies” Để biên dịch thư viện ZXing, cần thêm thư viện vào dependencies ứng dụng với nội dung: dependencies { compile 'com.google.zxing:core:3.2.1' compile "com.journeyapps:zxing-androidembedded:3.2.0@aar" } 16 Tìm hiểu QR Code • Bước 4: Tạo giao diện ta tiến tạo Chúng hành Activity có tên ReaderActivity cách click phải vào app ⇒ new ⇒ Activity Kế tiếp file Activity_Reader.xml tiến hành thiết kế giao diện hình bên trên: 16 Tìm hiểu QR Code Đoạn code tạo Button scan_btn để thị phím Scan, TextView để thị văn bản: “QRCODE SCANNER” TextView kq dùng để thị kết sau Scan 16 Tìm hiểu QR Code • Bước 5: Tạo hàm xử lý file ReaderActivity.java import com.google.zxing.integration.android.IntentIntegrator; import com.google.zxing.integration.android.IntentResult; public class ReaderActivity extends AppCompatActivity { private Button scan_btn; private TextView kq; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reader); scan_btn = (Button) findViewById(R.id.scan_btn); kq = (TextView) findViewById(R.id.kq); final Activity activity = this; scan_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { IntentIntegrator integrator = new IntentIntegrator(activity); integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); integrator.setPrompt("Hãy di chuyển đến QRCODE"); integrator.setCameraId(0); integrator.setBeepEnabled(false); integrator.setBarcodeImageEnabled(false); integrator.initiateScan(); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if(result != null){ if(result.getContents()==null){ Toast.makeText(this, "Không thể tìm QRCODE", Toast.LENGTH_LONG).show(); } else { kq.setText("Kết quả: " + result.getContents()); } } else { super.onActivityResult(requestCode, resultCode, data); } } } 16 Tìm hiểu QR Code • Bước 6: Build project cài đặt ứng dụng Smart Phone Android - Để Build project chọn Build ⇒ Build APK chương trình xuất file app-debug.apk thư mục : ~\QRCode\app\build\outputs\apk - cuối cài đặt file cho Smart Phone tiến hành test: V Ứng dụng QR -Kiểm kê hàng hóa, thông tin sản phẩm -Thông tin cá nhân: card visit -Lưu trữ URL: điện thoại việc đọc QR Code để lấy URL, sau tự động mở trình duyệt - Sử dụng bến xe bus, xe lửa, tàu điện ngầm: người sử dụng quét QR Code bến xe biết thông tin chuyến xe -Sử dụng Viện bảo tàng: người sử dụng cần quét QR Code đặt cạnh vật trưng bày biết thông tin chi tiết cập nhật đồ vật -Sử dụng để mua hàng đâu: người sử dụng tàu điện ngầm, xe bus … thấy thích mặt hàng quảng cáo đặt mua thông qua QR Code Mobile Internet -Sử dụng siêu thị: để biết thông tin, hướng dẫn nấu ăn hàm lượng dinh dưỡng thức ăn cần mua -Sử dụng buổi hội thảo, thuyết trình, tổ chức kiện: người tham gia sử dụng QR Code thay cho Business Card 16 Tìm hiểu QR Code -Sử dụng với tờ báo, tạp chí giấy: người đọc quét QR Code in tờ báo, tạp chí giấy để truy cập phiên online/mobile tờ báo, tạp chí -Sử dụng chương trình nhạc hội, live show, bar, club: để xác định xem tiết mục, ca sỹ, ban nhạc, nhạc chơi, tác giả nhạc -Sử dụng nhà hàng, khách sạn, coffee shop: để biết công thức cách chế biến ăn, thức uống, thông tin khách sạn -Sử dụng với đồ vật cá nhân (xe, áo thun…) : cung cấp thông tin chi tiết hàng, xuất xứ, giá -Sử dụng truyền thông quảng cáo: dần thay quảng cáo hình thức in ấn phát tờ bướm QR Code đính kèm thông tin thương hiệu ấn phẩm, bảng hiệu cửa hàng, bảng quảng cáo, billboard -Sử dụng QR để tạo khác biệt chữ ký email thường dùng; quà, để tạo đặc biệt bất ngờ cho người nhận, làm cho người nhận thấy tò mò nội dung QR Code đính kèm * Một vài ví dụ ứng dụng QR Code: 16 Tìm hiểu QR Code Vcard QRCode Chỉ đường QR code Thanh toán cách quét QR Code Tài liệu tham khảo 16 Tìm hiểu QR Code “What is QR code ?” http://www.qrcode.com/en/about/ (12 tháng năm 2017) “QR Code” https://en.wikipedia.org/wiki/QR_code (12 tháng năm 2017) “Android QR Code Scanner using ZXingScanner Library Tutorial” https://www.numetriclabz.com/android-qr-code-scanner-usingzxingscanner-library-tutorial/ (15 tháng năm 2017) QR Code Tutorial: Introduction http://www.thonky.com/qr-codetutorial/introduction (15 tháng năm 2017) 16

Ngày đăng: 18/04/2017, 21:18

w