Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

Article: QR Code - Tổng quan và ứng dụng 5384

bar code, qr code
phananhvu.myopenid.com 125
Updated over 4 years ago

Chú ý: Hình ảnh CÓ tính chất minh họa.

Xem mục Test của bài này để biết cách đọc thông điệp đằng sau hình ảnh trên.

 

Theo wiki thì:

A QR Code is a matrix code (or two-dimensional bar code) created by Japanese corporation Denso-Wave in 1994. The "QR" is derived from "Quick Response", as the creator intended the code to allow its contents to be decoded at high speed. QR Codes are common in Japan where they are currently the most popular type of two dimensional code.

Hiện nay loại mã này phổ biến nhất là ở Nhật. Ứng dụng phổ biến nhất của loại này là cung cấp thông tin nhằm tạo đầu vào cho các máy điện thoại di động có camera.

Bài này xin giới thiệu qua về QR code, các ứng dụng của QR code và thảo luận về khả năng ứng dụng QR code ở Việt Nam.

 

Đặc điểm

Hai đặc điểm nổi trội của loại code này là

1. Capacity lớn hơn hẳn so với bar code.

QR Code Data capacity
Numeric only Max. 7,089 characters
Alphanumeric Max. 4,296 characters
Binary (8 bits) Max. 2,953 bytes
Kanji, full-width Kana Max. 1,817 characters

Có thể tham khảo về capacity của QR code ở đây.

2. Khả năng sửa lỗi cao.

Các loại mã kiểu này dễ bị bẩn. Với QR code, kể cả khi 30% bị mất (ví bẩn, rách, ...) thì vẫn còn khả năng khôi phục dữ liệu.

Ngoài ra, QR code còn có các đặc tính rất thiết thực như: ít tốn diện tích (so với bar code), lữu trữ được hình ảnh, kanji, kana và đọc được theo mọi hướng. Có lẽ vì thế mà việc ứng dụng QR code đã vượt ra khỏi mục tiêu ứng dụng ban đầu là kiểm kê hàng hóa để đi vào cuộc sống.

Ứng dụng

Các ứng dụng có thể của QR code:

  • Kiểm kê hàng hóa, thông tin sản phẩm
  • Thông tin cá nhân: trên card visit.
  • Lưu trữ URL: điện thoại chỉ việc đọc QR Code để lấy URL, sau đó tự động mở trình duyệt.
  • Feed to mobile.
  • [blah] ai biết xin bổ sung.

Ở Việt Nam

Điều kiện cần:

  • Ở Việt Nam, mobile đã phổ biến tới tận các vùng quê xa xôi hẻo lánh nhất. Mà mobbiille bây giờ hầu hết đều được trang bị camera, tối thiểu cũng là 1.3MP trở lên.
  • Việc viết ứng dụng cho mobile để giải mã QR Code là vô cùng đơn giản.
  • Giá truy cập internet từ mobile ở VN đang ngày càng rẻ hơn. Việc dùng mobile để sử dụng các ứng dụng web phổ biến (mail, chat, search, ...) không còn xa lạ.

Các điều kiện cần đều đã thỏa mãn.

Điều kiện đủ:

Liệu việc áp dụng QR Code có mang lại hiệu quả rõ rệt hay không?

Test

Chương trình tạo QR code:

Một số chương trình đọc QR code:

  • Cho PC.
  • Kaywa Reader (Series 60 và các máy có support Java). Đã test trên Nokia 3230 có camera 1.3MP, chưa đọc đúng lần nào. Có lẽ Reader này cần camera độ phân giải cao hơn.
  • Quickmark QR Code Reader (Cho Pocket-PC phones, Windows Mobile Smartphones, Symbian Series 60). Đã test trên Nokia 3230 có camera 1.3MP, khá nhanh, chính xác.

Comments

ngocdaothanh.myopenid.com 174
over 4 years ago

Hình như ở Việt Nam đã có, gọi là mã vạch 2 chiều?

phananhvu.myopenid.com 125
over 4 years ago

Ở VN có dùng rồi. Ví dụ điển hình là có người dùng QR code để mã hóa ghi chú về nội dung sách, tóm tắt, ... :D

 

Không biết ở Nhật ai là người tiên phong ứng dụng QR Code nhỉ? Chỉnh phủ, doanh nghiệp, ... ? Để phổ biến thì có lẽ chính phủ phải ra tay.

umbalaconmeogia.myopenid.com 1
over 4 years ago

Các máy mobile đời mới ở Nhật bây giờ đều đã trang bị thêm ColorCodeReader (http://www.colorzip.co.jp/ja/)

ngocdaothanh.myopenid.com 174
over 4 years ago

Ồ, thêm màu sắc nữa thì chắc chứa được nhiều dữ liệu hơn. Tiên phong cho mã vạch 2 chiều chắc lại là các doanh nghiệp kinh doanh băng đĩa{#emotions_dlg.sealed}

phananhvu.myopenid.com 125
over 4 years ago

Test trên Nokia 3230 có camera độ phân giải 1.3MP thì Quickmark QR Code Reader đọc tốt còn Kaywa Reader thì không. Có lẽ thằng Kaywa đòi camera độ phân giải cao hơn.

umbalaconmeogia.myopenid.com 1
over 4 years ago

Mình không tìm hiểu các chương trình mà phananhvu đã sử dụng nên không có ý kiến, nhưng với kinh nghiệm của mình trong việc giải mã QR code thì độ phân giải càng cao chỉ càng tổ tốn thời gian và memory xử lý ảnh (cái này rất quan trọng đối với mình khi viết chương trình giải mã QR code) :)

Ở Nhật, các máy của Docomo và KDDI có lẽ đều có chip riêng cho việc này nên việc giải mã QR code cực kỳ nhanh, vừa lia camera qua một cái, hình ảnh QR code còn chưa kịp hiện lên màn hình thì đã giải mã xong. Camera khi chụp hình QR code cũng chuyển về mode có độ phân giải thấp hơn so với khi sử dụng chụp ảnh bình thường.

QR code chỉ là một loại trong rất nhiều loại mã vạch 2 chiều.

phananhvu.myopenid.com 125
over 4 years ago

Nhanh như thế thì có lẽ có chip riêng để xử lí rồi. Mình dùng Nokia 3230 test cái Quickmark QR Code Reader thì phải căn ke để cho cái QR Code nó nằm lọt thỏm trong khung hình chữ nhật mới được.

Không biết bạn umbalaconmeogia.myopenid.com đã bao giờ viết chương trình giải mã QR Code chưa? Coe thể chia sẻ kinh nghiệm được không ạ?

otaku-2r.myopenid.com 2
over 4 years ago

Cái này nghe cậu quảng cáo từ hồi xửa hồi xưa, tớ thì chưa thấy ở đâu có cái này (VN) mà toàn lấy làm avatar {#emotions_dlg.frown}. Chắc vì barcode vẫn còn rất phổ biến trên thế giới, chưa ai muốn đổi.

VN tiên phong làm được tốt, mỗi tội ai dùng ai mua thôi {#emotions_dlg.money_mouth}

umbalaconmeogia.myopenid.com 1
over 4 years ago

Mình cũng chưa bao giờ viết chương trình giải mã QR code. Hồi xưa mình viết chương trình đọc QR code cho mobile, sử dụng cái này ( http://sourceforge.jp/forum/forum.php?forum_id=7252 ). Project của mình đứt giữa chừng nên về sau không quan tâm đến chuyện giải mã QR code nữa {#emotions_dlg.smile}

Viết cho mobile (của Nhật, Hàn) dùng J2ME nên rất điên đầu: Mỗi hãng cung cấp một device profile khác nhau, Java spec bảo có tính năng này nhưng profile của nó thực ra lại không  có  tính năng đó. Ngoài ra thì khi viết cho mobile không nên bắt chước cách coding của ruby programmer {#emotions_dlg.sealed}: đừng có viết nhiều method nhỏ nhỏ quá :D. Với những method 2, 3 dòng mà được sử dụng nhiều, gõ code trực tiếp thay vì sử dụng method có thể làm tăng tốc độ lên rất nhiều lần.


Theo suy nghĩ của mình thì việc đưa QR code ra ứng dụng phổ biến phải do doanh nghiệp làm, chứ không phải chính phủ.

Bổ sung thêm là hiện nay, người ta đã sắp triển khai các giá trị gia tăng trên QR code rồi. Chẳng hạn như QR code kết hợp với DNA authentication để chống hàng giả.

phananhvu.myopenid.com 125
over 4 years ago

Mình cũng chưa bao giờ viết chương trình giải mã QR code. Hồi xưa mình viết chương trình đọc QR code cho mobile, sử dụng cái này ( http://sourceforge.jp/forum/forum.php?forum_id=7252 ). Project của mình đứt giữa chừng nên về sau không quan tâm đến chuyện giải mã QR code nữa {#emotions_dlg.smile}

Search qua thì thấy có cái này. Last release là tháng 12 năm ngoái, không biết đã chìm xuồng chưa nhưng TODO list còn dài lắm :D

 

Ngoài ra thì khi viết cho mobile không nên bắt chước cách coding của ruby programmer {#emotions_dlg.sealed}: đừng có viết nhiều method nhỏ nhỏ quá :D. Với những method 2, 3 dòng mà được sử dụng nhiều, gõ code trực tiếp thay vì sử dụng method có thể làm tăng tốc độ lên rất nhiều lần.

Lí do là để giảm kích thước stack thì phải? Hồi xưa dùng viết iAppli, mình cũng nhớ là phải giảm số parameter truyền vào method, tạo ít class, class càng nhỏ càng tốt, rồi gì gì đó nữa nhỉ {#emotions_dlg.yell}

 

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content