رمز الإستجابة السريعة - QR Code
Ahmed AbuelfatehAhmed Abuelfateh

رمز الإستجابة السريعة - QR Code

ما هو كود رمز الإستجابة السريعة، مكونات رمز الـ QR Code، وإستخداماته، المعايير المستخدمة لإنشاء مولد رمز الإستجابة السريعة، كيف يتم تحويل البيانات إلى رمز QR Code، وكيف يتم قراءة رمز الإستجابة السريعة، أداة مجانية لتحويل البيانات إلى رمز QR Code

قبل التعرف على رمز الإستجابة السريعة يجب أن تعرف أن الـ QR Code هو أحد أنواع رموز الباركود، والباركود هو طريقة لتمثيل البيانات بشكل رمز قابل للقراءة الآلية (بواسطة الكاميرا أو أجهزة مخصصة لقراءة الباركود).

في رمز الباركود يتم تمثيل البيانات عن طريق التحكم في عرض الخطوط المتوازية وعرض المسافات بين هذه الخطوط، وبالتالي يعتبر هذا النوع من الباركود خطي أو Linear ويطلق علية أحيانا أحادي الأبعاد أو one-dimensional.

طريقة تمثيل البيانات في الباركود فرضت قيود على حجم البيانات التي يمكن تمثيلها في رمز واحد، ما أدى إلى إبتكار طرق أخرى جديدة لتمثيل البيانات على هيئة مصفوفة ثنائية الأبعاد two-dimensional، بما يتيح تمثيل حجم أكبر من البيانات في رمز واحد.

يوجد العديد من رموز الباركود ثنائية الأبعاد المتاحة للإستخدام في الوقت الحالي، منها على سبيل المثال Aztic Code و Maxi Code و PDF417 Code و HanXin Code و QR Code والعديد من الرموز الأخرى، ولكن يعد رمز الإستجابة السريعة QR Code هو الأشهر والأفضل بين هذه الرموز.

ما هو رمز الإستجابة السريعة - QR Code؟

رمز الإستجابة السريعة بالإنجليزية Quick Response Code وإختصارا يسمى QR Code، وهو عبارة عن نوع ثنائي الأبعاد من الباركود، تم إبتكاره في عام 1994 من قبل الشركة اليابانية دينسو ويف Denso Wave التابعة لشركة السيارات تويوتا، ليتم إستخدامه في خطوط إنتاج السيارات، حيث يتم طباعة البيانات الخاصة بكل قطعة من مكونات السيارة على القطعة على هيئة رمز QR Code حتى تتمكن الآلات الموجوده في خطوط الإنتاج من التعرف على القطعة.

قامت الشركة صاحبة براءة الإختراع بإتاحة الخوارزميات المستخدمة في إنشاء رمز الإستحابة السريعة للإستخدام العام دون المطالبة بحقوق الملكية الفكرية، ما أدى إلى الحاجة إلى وضع معايير ثابته لكي يتمكن المستخدمين لهذه التقنية من إنشاء وقراءة رمز الـ QR Code بشكل موحد، وتمت هذه الخطوة على عدة مراحل.

المعايير الخاصة برمز QR Code

قامت منظمة الرموز الدولية AIM بوضع المعيار الأصلي لرمز الإستجابة السريعة حيث تم وصفه في المعيار AIM ITS 97-001 International Symbology Specification - QR Code، ويتم الإشارة إلى هذا المعيار بالمعيار الأصلي أو QR Code Model 1.

في العام 2000 قامت منظمة المعايير الدولية ISO بوضع معيار آخر لرمز الإستجابة السريعة حيث تم وصفه في المعيار ISO/IEC 18004، ويشار إلى هذا المعيار بالموديل الثاني أو QR Code Model 2.

في العام 2015 قامت منظمة المعايير الدولية ISO بإضافة بعض التحسينات على المعيار ISO/IEC 18004، وقامت بوصف تلك التحسينات في المعيار ISO/IEC 18004:2015، وهذا المعيار هو المعمول به في الوقت الحالي، وهو متوافق مع المعيار السابق.

مكونات رمز الإستجابة السريعة - QR Code

رمز الإستجابة السريعة عبارة عن شكل مربع، يحتوي على مجموعة من النقاط أو المربعات الصغيرة تسمى بـ Modules، بحيث يتباين لون هذه المربعات بين لون فاتح وآخر داكن، عادة ما يكون اللون الأبيض هو اللون الفاتح والأسمر هو الداكن.

يوجد 40 قياس مختلف لرمز الـ QR Code يسمى كل قياس بـ Version حيث يبدأ بالقياس رقم 1 حتى القياس 40، ويتكون القياس رقم 1 من مربع مساحته 21x21 مربع صغير أو Module ويزيد القياس بأرعة مربعات في كل مرة حتى يصل إلى 177x177 Module للقياس رقم 40، كلما زاد القياس المستخدم كلما تمكنا من تشفير حجم أكبر من البيانات.

الخوارزميات المستخدمة في إنشاء رمز الإستجابة السريع تعتمد على خوارزمية Reed-Solomon لإكتشاف وتصحيح الأخطاء، وهي خوارزمية شهيرة تستخدم في تصحيح الأخطاء في العديد من المجالات حتى أنها تستخدم في وكالة ناسا لعلوم الفضاء لتصحيح الأخطاء الموجودة في البيانات المرسلة من وإلى المركبات الفضائية.

يدعم رمز الإستجابة السريعة تصحيح الأخطاء حتى أربع مراحل، حيث يتيح إستعادة حتى 30% من البيانات الخاطئة أو المفقودة، والتي تنتج عن تلف الرمز أثناء الطباعة أو عن طريق إضافة رموز دعائية للشركات على رمز الـ QR Code، وقد قمت بإستخدام هذه الخاصية لتصميم الصورة الموجوده في بداية المقال، فبالرغم من وجود شعارنا بداخل الرمز، وهناك أيضا بعض الكتابات الموجوده على الرمز إلا أنك إذا قمت بإستخدام أي برنامج قارئ لرمز الـ QR Code سوف تتمكن من فك تشفير الرمز بنجاح.

رمز الـ QR Code يتكون من ثلاثة أقسام رئيسية، الشكل التالي يوضح البنية الأساسية لمكونات رمز الإستجابة السريعة ومحتويات كل قسم

البنية الأساسية لرمز الإستجابة السريعة QR Code

منطقة البيانات المشفرة - Encoding Region

وهو جزء من الشكل المربع، يتم وضع البيانات بعد تشفيرها في هذا القسم، وهذا القسم موضح بالشكل السابق على هيئة Modules باللون الأسود، وهذا القسم بطبيعة الحال ينقسم إلى عدة أقسام فرعية، حيث يتم وضع البيانات في جزء منه، وجزء آخر يحتوي على البيانات الخاصة بتصحيح الأخطاء، وجزء يحتوي على معلومات خاصة بالرمز مثل الإصدار أو الـ Version المستخدم، وكل هذه البيانات يتم وضعها في رمز الإستجابة السريعة طبقا لخطوات محددة في المعيار.

منطقة أنماط الوظائف - Function Patterns

ويتكون هذا القسم من مجموعة من الأشكال أو الأنماط الثابته التي توجد في كل رموز الـ QR Code، وتتمثل هذه الأنماط في Finder Patterns, Separators, Timing Patterns, Alignment Patterns، وتم توضيح هذه الأنماط في الشكل السابق بمجموعة من الألوان المختلفة مع توضيح الإسم الخاص بكل نمط بنفس اللون الموضح به، ولكن بطبيعة الحال فإن هذه الأنماط تكون ملونه بنفس ألوان رمز الـ QR Code، ولكن تم تغيير الألوان في الشكل للتوضيح فقط.

المنطقة المحيطة - Quite Zone

وتتمثل هذه المنطقة في المربع المحيط بالشكل، حيث يجب أن يحتوي رمز الـ QR Code على منطقة محيطة بالرمز من الأربع إتجاهات، يكون عرض هذه المنطقة مساوي لعرض أربع مربعات صغيرة Modules على الأقل، ويكون لون هذه المربعات مساوي للون الفاتح المستخدم في الرمز، وهي المنطقة الملونه باللون الأبيض في الشكل السابق.

كيف يتم تحويل البيانات إلى رمز QR Code

عند إستخدام أي أداة لتوليد رمز الإستجابة السريعة فإنها تقوم بذلك عن طريق إتباع سبع خطوات أساسية، هذه الخطوات تم تحديدها في المواصفة المعيارية ISO/IEC 18004، كالتالي

1. تحليل البيانات - Data Analysis

في هذه الخطوة يتم تحديد نوع البيانات، سواء كانت رقمية أو نصية، وإذا كانت نصية يجب تحديد نوع اللغة والحروف المستخدمة، وفي هذه الخطوة أيضا يجب تحديد القياس المناسب لحجم البيانات وتحديد درجة تصحيح الخطأ المطلوبة.

وفي هذه الخطوة يمكن إضافة بعض البيانات الوصفية والتي تسمى بـ Meta Data، وذلك في حالة إستخدام رمز الـ QR Code لتأدية مهمة محددة، مثل عملية الإتصال بشبكة الـ Wifi أو إنشاء رمز يحتوي على بيانات الإتصال الخاصة بشخص للهاتف والمعروفه بـ Contact Information، وغيرها من الإستخدامات الخاصة.

2. تشفير البيانات - Data Encoding

في هذه المرحلة يتم تشفير البيانات بإجراء بعض العمليات الحسابية على القيم الممثلة للأحرف، طبقا للمعلومات التي تم تحديدها في الخطوة الأولى يتم تحديد الخوارزميات التي يتم تطبيقها لتشفير البيانات، وبنهاية هذه الخطوة نحصل على نص ثنائي، أو نص يحتوي على الأرقام إما صفر أو واحد.

3. حساب رموز تصحيح الخطأ - Error Correction Coding

في هذه المرحلة يتم تقسيم النص الثنائي الذي تم الحصول عليه من الخطوة الثانية، إلى مجموعات، هذه المجموعات تسمى بـ Blocks، كل واحدة من هذه المجموعات يتم تحويلها إلى معادلة رياضية خطية، أو Linear Polynomial، ثم يتم تطبيق خوارزمية Reed-Solomon على هذه المعادلة لنحصل منها على معادلة رياضية جديدة، وبتحويل هذه المعادلة مرة أخرى إلى نص ثنائي، نكون قد حصلنا على الرمز الخاص بتصحيح الخطأ.

4. بناء الرسالة النهائية - Structure Final Message

في هذه المرحلة يتم دمج محتويات الخطوة الثانية مع الخطوة الثالثة بطريقة التبادل، لنحصل منها على النص النهائي الذي سوف يتم وضعه في رمز الـ QR Code.

5. وضع الوحدات في مصفوفة - Module Placement in Matrix

في هذه المرحلة يتم إنشاء مصفوفة ثنائية الأبعاد أو الشكل المربع بالقياسات المناسبة، والتي تم تحديدها في الخطوة الأولى بإختيار قياس للرمز، ثم يتم وضع أنماط الوظائف أولا بداخل المصفوفة، وبعد ذلك يتم إضافة الرسالة النهائية التي تم الحصول عليها من المرحلة الرابعة.

ويتم إضافة هذه البيانات للمصفوفة عن طريق إضافة مربع صغير أو Module لكل حرف في النص، بحيث يكون اللون الفاتح ممثلا للرقم صفر، واللون الداكن ممثلا عن الرقم 1.

6. تحديد قناع للبيانات - Data Masking

في هذه المرحلة يتم تطبيق قناع أو Mask على البيانات، بحيث يتم التأكد من توازن توزيع اللون الفاتح والداكن بداخل الرمز، ويوجد 8 أقنعة متاحة يمكن تطبيقها على أي رمز إستجابة سريعة.

طبقا للمواصفة المعيارية فإنه يجب أن يتم إجراء بعض الإختبارات على كل رمز بعد تطبيق القناع، ثم يتم حساب عقوبات أو Penalties على كل قناع، ثم يتم إختيار القناع الذي حصل على أقل رقم من العقوبات، وهذه الخطوة مهمة جدا للحصول على رمز جيد يسهل قراءته بواسطة أي برنامج أو قارئ QR.

7. إضافة معلومات الرمز - Format and Version Information

في هذه المرحلة يتم إضافة معلومات عن القناع المستخدم، والإصدار الخاص بالرمز في مكانهم المحدد، وهي الخطوة الأخيرة للحصول على رمز إستجابة سريعة.

الحد الأقصى للبيانات في رمز الإستجابة السريعة

يتم تحديد حجم البيانات التي يمكن تشفيرها في رمز QR Code واحد بناء على القياس المستخدم، ودرجة تصحيح الخطأ، ونوع البيانات.

كلما زاد القياس الـ Version كلما زادت المساحة المتاحة لتشفير البيانات، وكلما زادت درجة تصحيح الخطأ كلما قلت المساحة المتاحة للبيانات.

يوجد مجموعة من خوارزميات التشفير المتاحة لإنشاء رمز الـ QR Code، حيث تتييح كل خوارزمية حجم محدد من البيانات التي يمكن إضافتها في كل قياس ودرجة تصحيح خطأ، فعلى سبيل المثال إذا إستخدمنا القياس 40 (وهو أكبر قياس) مع درجة تصحيح خطأ L (وهي أقل درجة لتصحيح الخطأ) نحصل على الحجم التالي

البيانات الرقمية من 0 إلى 9: يمكن تشفير 7089 رقم.

البيانات بالأحرف الإنجليزية الكبيرة مع الأرقام مع عدد محدد من الرموز الخاصة: يمكن تشفير 4296 حرف.

البيانات بمجموعة الأحرف الإنجليزية أو تحديدا الـ ASCCI: يمكن تشفير 2953 حرف.

البيانات بالأحرف اليابانية: يمكن تشفير 1817 حرف.

البيانات التي تحتوي على حروف عربية: يمكن تشفير 1476 حرف.

مميزات رمز الإستجابة السريعة QR Code

كما ذكرنا سابقا أنه يوجد العديد من الرموز ثنائية الأبعاد بخلاف رمز الـ QR Code، وذكرنا أيضا أنه الأكثر شهرة بينهم وأنه الأفضل، والتالي هي أهم مميزات رمز الـ QR Code

  • حجم البيانات التي يمكن تمثيلها في رمز واحد قد تصل إلى 7089 رمز، وهو أكبر من أي نوع آخر.
  • إمكانية قراءة الرمز من أي زاوية، فإذا قمت يقراءة الرمز رأسا على عقب، سوف تحصل على المحتوى الصحيح للبيانات بعد فك تشفيرها.
  • المقاومة للتلف، حيث يمكن قراءة رمز QR Code يحتوي على نسبة قد تصل إلى 30% من المحتويات التالفة، وذلك بفضل إستخدام خوارزمية تصحيح الخطأ.
  • يدعم تشفير العديد من اللغات بطريقة جيدة.
  • إمكانية طباعة الرمز بشكل مصغر، مع الحفاظ على إمكانية قراءة الرمز بشكل صحيح، مقارنه بالباركود العادي.

إستخدامات رمز الإستجابة السريعة

يستخدم رمز الإستجابة السريعة QR Code بشكل أساسي لتحويل أي نص من البيانات إلى رمز QR Code، وكما أشرنا من قبل أن الخطوة الأولى لإنشاء الرمز يمكن أن يتم إضافة بعض البيانات الوصفية للنص حتى يتمكن قارئ رمز الـ QR Code من أداء مهام محددة، والتالي بعض هذه الإستخدامات الخاصة

عنوان موقع - URL

حيث يمكن تشفير النص الذي يحتوي على عنوان الموقع إلكتروني، وعند قراءة الرمز يتم تشغيل المتصفح الإفتراضي للجهاز وفتح عنوان الموقع الإلكتروني بشكل مباشر، ويعد هذا الإستخدام هو الأشهر والأكثر تطبيقا في العديد من البرامج التي تستخدم رمز الإستجابة السريعة، حيث يمكن إستخدام هذه الإمكانية لإنشاء برامج تسجيل الحضور والإنصراف للطلبة في الجامعات.

الإتصال بشبكة الـ Wifi

هذه الإمكانية تتيح للمقاهي بشكل خاص إنشاء رمز QR Code يحتوي على معلومات شبكة الوايفاي، وبمجرد قراءة الرمز بإستخدام الهاتف الجوال يقوم قارئ الرمز بالإتصال بالشبكة مباشرة دون الحاجة لإختيار الشبكة وإدخال كلمة المرور.

جهات الإتصال Contact

تتيح هذه الإمكانية إضافة بيانات جهات الإتصال لرمز QR Code حيث يمكن طباعته على الكروت الشخصية أو نشرة عبر الوسائل الإلكترونية مثل شبكات التواصل الإجتماعي، وبمجرد قراءة الرمز بإستخدام الهاتف الجوال يتم إنشاء بيانات الإتصال والمعروفة بـ Contact بشكل أوتوماتيكي ويضيف البيانات في الخانات المخصصة لها، على سبيل المثال الإسم رقم الجوال والبريد الإلكتروني وغيرها من البيانات، مما يوفر الوقت اللازم لإنشاء الـ Contact، وتعتمد هذه الخاصية على البيانات الوصفية الخاصة بإنشاء vCard.

إستخدامات أخرى

يوجد العديد من البرامج التي تعتمد على رمز الإستجابة السريعة في إتمام مهامها، كما ذكرنا مثل برامج تسجيل الحضور والإنصراف وغيرها من البرامج الأخرى، بالإضافة إلى ذلك فإن رمز الإستجابة السريعة يتم طباعته على العديد من السلع الإستهلاكية، بحيث يحتوي على معلومات عن مكونات المتجات أو روابط لشرح كيفية إستخدام سلعة ما كما في الأجهزة الكهربائية الحديثة.

حتى أنه أصبح يستخدم في الحكومات بديلا عن السجلات، كما هو الحال في السجلات التجارية بالمملكة العربية السعودية، حيث يتم إنشاء هوية إلكترونية للمتجر عن طريق رمز الـ QR Code.

كيف يمكن قراءة رمز QR Code

لكي تتمكن من قراءة أو Scan لرمز QR Code فإنه يتوجب عليك تحميل أي من البرامج الخاصة بقراءة رمز الإستجابة السريعة، وذلك في حالة أن هاتفك الجوال لا يدعم هذه الخاصية بشكل تلقائي، ومن أشهر هذه البرامج Barcode Scanner.

كيفية إنشاء رمز إستجابة سريعة QR Code

لكي تتمكن من إنشاء رمز إستجابة سريعة، يمكنك إستخدام مولد رمز الإستجابة السريعة المجاني الخاص بنا، فقد تم برمجته ليطابق المواصفة المعيارية ISO/IEC 18004:2015، ويدعم إضافة البيانات الوصفية لمجموعة من الإستخدامات الخاصة.

كما يمكنك الحصول على الرمز بصيغة PNG أو بصيغة SVG.

5449

التعليقات

  • أضف تعليق جديد
  • رمز التحقق
  • ارسل لي إشعارات بالتعليقات التالية بواسطة البريد الإلكتروني.