কন্টেন্টে যান

Barcode Scanner Emulator

বারকোড স্ক্যানার কীভাবে কাজ করে

একটি বারকোড স্ক্যান তাৎক্ষণিক মনে হয়, কিন্তু ভৌত বারকোড এবং আপনার অ্যাপ্লিকেশনে পৌঁছানো অক্ষরের মাঝে চারটি আলাদা ধাপ থাকে। প্রতিটি ধাপ বুঝলে স্ক্যানার-সংক্রান্ত ত্রুটি নির্ণয় অনেক সহজ হয়।

একটি বারকোড স্ক্যানের চারটি ধাপ

1. আলোকসজ্জা ও ছবি ধারণ

লেজার স্ক্যানার বারকোডের ওপর একটি রশ্মি চালিয়ে প্রতিফলিত আলোর তীব্রতা মাপে। ইমেজ-ভিত্তিক স্ক্যানার (বেশিরভাগ আধুনিক হ্যান্ডহেল্ড স্ক্যানার ও ফোন ক্যামেরা) একটি ছোট CMOS সেন্সর দিয়ে বারকোডের 2D ছবি ধরে, যা কম রেজোলিউশনের ক্যামেরার মতো।

2. ডিকোডিং

অনবোর্ড ফার্মওয়্যার দাগের প্রস্থ (অথবা QR ও Data Matrix কোডের ক্ষেত্রে 2D ছবি) বিশ্লেষণ করে নির্দিষ্ট সিম্বোলজির অ্যালগরিদম দিয়ে সেগুলোকে মূল ডিজিটাল পেলোডে ডিকোড করে — Code 128, Code 39, EAN-13, QR ইত্যাদি। কোনো ডেটা আপনার কম্পিউটারে পৌঁছানোর আগেই এসব স্ক্যানারের ভিতরেই ঘটে।

3. যোগাযোগ

ডিকোড করা পেলোড হোস্ট কম্পিউটারে পাঠানো হয়। পরিবহন সাধারণত USB হয়, এবং ভোক্তা ও শিল্প স্ক্যানারের বিশাল অংশ নিজেদেরকে কাস্টম USB ক্লাস না হয়ে USB HID কীবোর্ড ডিভাইস হিসেবে অপারেটিং সিস্টেমের কাছে উপস্থাপন করে। কিছু স্ক্যানার USB সিরিয়াল (COM পোর্ট এমুলেশন) বা Bluetooth HID-এর মতো বিকল্প মোড সমর্থন করে, কিন্তু আজ বিক্রি হওয়া প্রায় প্রতিটি স্ক্যানারে কীবোর্ড এমুলেশন মোডই ডিফল্ট।

4. অ্যাপ্লিকেশন ইনপুট

স্ক্যানার কীবোর্ডের মতো কাজ করছে বলে অপারেটিং সিস্টেম পেলোডকে কী-ইভেন্টের ধারা হিসেবে সেই অ্যাপ্লিকেশনে পৌঁছে দেয় যার কাছে এখন কীবোর্ড ফোকাস আছে। আপনার অ্যাপ্লিকেশন কখনো সরাসরি স্ক্যানারের সঙ্গে কথা বলে না — এটি শুধু কীস্ট্রোক পায়, ঠিক যেন কেউ খুব দ্রুত টাইপ করেছে।

কেন বেশিরভাগ স্ক্যানার কীবোর্ডের মতো আচরণ করে

HID কীবোর্ড মোড প্রায় সব বাণিজ্যিক বারকোড স্ক্যানারের ডিফল্ট কনফিগারেশন, কারণ এতে কোনো ড্রাইভার ইনস্টল করতে হয় না। যে অপারেটিং সিস্টেম USB কীবোর্ড সমর্থন করে, সেটি বাক্স থেকে বের করেই স্ক্যানার সমর্থন করে।

USB কীবোর্ড এমুলেশন মানে স্ক্যানারের ফার্মওয়্যার প্রতিটি ডিকোড করা অক্ষরকে সেই USB HID কীকোডে ম্যাপ করে যা একটি কীবোর্ড সেই অক্ষরের জন্য পাঠাত, তারপর USB ইন্টারাপ্ট এন্ডপয়েন্টের ওপর সাধারণ HID কীবোর্ড রিপোর্ট পাঠায়।

পরীক্ষায় এটি কেন গুরুত্বপূর্ণ: অ্যাপ্লিকেশন স্তরে স্ক্যানারকে কীবোর্ড থেকে আলাদা করা যায় না, তাই ফোকাস করা ফিল্ডে দ্রুত টাইপ করে, অথবা কীবোর্ড ইভেন্ট পরীক্ষা করে এমন ব্রাউজার টুল ব্যবহার করে, স্ক্যানার-চালিত আচরণের বড় অংশ পরীক্ষা করা যায় (নিচের লিঙ্ক করা টুল দেখুন)।

ENTER ও TAB সাফিক্স

বেশিরভাগ স্ক্যানার ডিকোড করা পেলোডের পরে একটি সাফিক্স কীস্ট্রোক যোগ করতে কনফিগার করা থাকে, সবচেয়ে বেশি ENTER (ক্যারেজ রিটার্ন, 0x0D), কখনো TAB (0x09) বা কাস্টম সিকোয়েন্স। এতে গ্রহণকারী অ্যাপ্লিকেশন টাইমআউট ছাড়াই বুঝতে পারে স্ক্যান করা মান কোথায় শেষ — সাফিক্স একটি সাবমিট সংকেতের মতো কাজ করে, টেক্সট ফিল্ডে লেখার পর Enter চাপার মতো।

স্ক্যানারের সময়

একটি স্ক্যানার পুরো বারকোড পেলোড এক সেকেন্ডের অনেক কম সময়ে পাঠায়, প্রায়ই অক্ষরের মধ্যে কয়েক মিলিসেকেন্ডের ফাঁক থাকে। একই স্ট্রিং মানুষ টাইপ করলে কীস্ট্রোকের মধ্যে সাধারণত 100–300 মিলিসেকেন্ড বা তার বেশি ফাঁক থাকে। এই সময়ের পার্থক্যই অনেক POS ও ইনভেন্টরি অ্যাপ্লিকেশনের «স্ক্যানার শনাক্তকরণ»-এর ভিত্তি, যেগুলো অস্বাভাবিক দ্রুত ইনপুটের ঝলক এবং সঙ্গে সঙ্গে একটি সাফিক্স কী খোঁজে।

আপনার অ্যাপ্লিকেশনের জন্য এর অর্থ: স্ক্যানার ইনপুটকে হাতের টাইপিং থেকে আলাদা করতে চাইলে কীস্ট্রোকের মধ্যবর্তী সময় মাপুন, কোনো বিশেষ ফ্ল্যাগ খোঁজার চেষ্টা করবেন না, কারণ সাধারণ ব্রাউজার কীবোর্ড ইভেন্টে ইনপুটের উৎস সম্পর্কে কোনো তথ্য থাকে না।

নিজে চেষ্টা করুন

আসল বারকোড স্ক্যান করে ধরা মান, সময় এবং সাফিক্স শনাক্তকরণ রিয়েল টাইমে দেখতে বারকোড ইনপুট টেস্টার ব্যবহার করুন। কীবোর্ড ওয়েজের আচরণ আরও গভীরে জানতে HID কীবোর্ড ওয়েজ ব্যাখ্যা-তে যান।