एक वाक्य में
बारकोड मशीनों के लिए एक खास तरह का फ़ॉन्ट हैं, जो नंबरों और अक्षरों को लाइनों और स्पेस के पैटर्न में बदलते हैं जिसे लेजर स्कैनर से पढ़ा जा सकता है।
यह क्या समस्या हल करता है
1970 के किसी किराना स्टोर की कल्पना करें। हर एक चीज़ पर कीमत का टैग लगाना पड़ता है। चेकआउट पर, कैशियर को टैग ढूंढना पड़ता है, उसे पढ़ना पड़ता है, और फिर हाथ से कीमत को कैश रजिस्टर में डालना पड़ता है। यह धीमा, थकाऊ और "यह 3 था या 8?" जैसी गलतियों से भरा था। अगर स्टोर मैनेजर जानना चाहता है कि बीन्स के कितने कैन बिके, तो उसे दिन के अंत में शेल्फ पर उन्हें गिनना पड़ता है। यह एक लॉजिस्टिकल दुःस्वप्न था।
मूल समस्या एक भौतिक वस्तु को एक डिजिटल रिकॉर्ड से जोड़ने के लिए एक तेज़, सटीक और मानकीकृत तरीके की कमी थी।
इस समाधान की प्रेरणा 1940 के दशक में एन. जोसेफ वुडलैंड को मिली थी। वह चेकआउट प्रक्रिया को स्वचालित करने के बारे में सोच रहे थे और एक समुद्र तट पर बैठे हुए, उन्होंने रेत में मोर्स कोड के डॉट्स और डैश की नकल करते हुए रेखाएँ खींचीं। उन्होंने महसूस किया कि वह डॉट्स और डैश को नीचे की ओर खींचकर संकीर्ण और चौड़ी रेखाएँ बना सकते हैं, जिससे एक स्कैन करने योग्य कोड बन सकता है।
इस विचार को हकीकत में बदलने के लिए टेक्नोलॉजी—विशेष रूप से सस्ते लेजर और माइक्रोप्रोसेसर—को दशकों लग गए। अंतिम टुकड़ा मानकीकरण था। 1970 के दशक की शुरुआत में, किराना उद्योग के नेताओं के एक समूह ने एक ही मानक पर सहमति व्यक्त की: यूनिवर्सल प्रोडक्ट कोड (UPC)। पहला आधिकारिक बारकोड स्कैन 26 जून, 1974 को ओहियो के एक मार्श सुपरमार्केट में हुआ था। वह आइटम? Wrigley's Juicy Fruit गम का 10-पैक, जो अब स्मिथसोनियन इंस्टीट्यूशन में है।
बारकोड ने हाथ से डेटा एंट्री की समस्या को हल किया, जिससे रिटेल, लॉजिस्टिक्स, मैन्युफैक्चरिंग और हेल्थकेयर में क्रांति आ गई, और भौतिक दुनिया और कंप्यूटर सिस्टम के बीच एक बिजली-तेज़, लगभग त्रुटि-मुक्त पुल बन गया।
यह अंदर से कैसे काम करता है
पहली नज़र में, एक बारकोड बस बेतरतीब दिखने वाली काली धारियों का एक गुच्छा है। लेकिन वास्तव में यह एक अत्यधिक संरचित, सूचना-सघन प्रणाली है। आइए इसकी परतों को खोलते हैं।
एक बारकोड की शारीरिक रचना
अधिकांश एक-आयामी (1D) बारकोड एक सामान्य संरचना साझा करते हैं, चाहे विशिष्ट "सिम्बोलॉजी" (बारकोड के प्रकार के लिए तकनीकी शब्द) कुछ भी हो।
Quiet Zone (शांत क्षेत्र): यह बार के बाईं और दाईं ओर का खाली, बिना छपा हुआ क्षेत्र है। यह जगह की बर्बादी नहीं है! यह स्कैनर के लिए एक महत्वपूर्ण संकेत है जो कहता है, "अरे, एक बारकोड यहाँ शुरू/खत्म होने वाला है।" इसके बिना, स्कैनर पैकेज पर मौजूद अन्य टेक्स्ट या ग्राफिक्स से भ्रमित हो सकता है। इसे किसी गाने के शुरू होने से पहले की खामोशी की तरह समझें।
Start/Stop Characters (प्रारंभ/अंत कैरेक्टर): हर बारकोड बार और स्पेस के एक विशिष्ट पैटर्न से शुरू और खत्म होता है। ये एक XML एलिमेंट के ओपनिंग और क्लोजिंग टैग (
<data>...</data>) की तरह काम करते हैं। वे स्कैनर को बताते हैं कि वह किस तरह का बारकोड देख रहा है (सिम्बोलॉजी) और इसे किस दिशा में स्कैन किया जा रहा है, जिससे उलटा पढ़ने की भी अनुमति मिलती है।Data Characters (डेटा कैरेक्टर): यह पेलोड है, वास्तविक जानकारी जिसे आप एन्कोड कर रहे हैं। आपके डेटा का प्रत्येक कैरेक्टर (जैसे, 'A', '7', 'Z') काले बार और सफेद स्पेस के एक अनूठे पैटर्न द्वारा दर्शाया जाता है। इसकी खासियत यह है कि स्कैनर सिर्फ काली पट्टियों को नहीं देखता; यह बार और उनके बीच के स्पेस दोनों की चौड़ाई को मापता है।
Check Digit (चेक डिजिट): अधिकांश मजबूत बारकोड सिम्बोलॉजी में एक अंतिम कैरेक्टर शामिल होता है जो आपके डेटा का हिस्सा नहीं होता है। यह एक "चेक डिजिट" है, जिसकी गणना पिछले डेटा कैरेक्टर से एक विशिष्ट गणितीय एल्गोरिथ्म (अक्सर एक मॉड्यूलो ऑपरेशन) का उपयोग करके की जाती है। जब स्कैनर बारकोड पढ़ता है, तो वह वही गणना करता है और अपने परिणाम की तुलना चेक डिजिट से करता है। यदि वे मेल नहीं खाते हैं, तो यह जानता है कि पढ़ने में कोई त्रुटि हुई थी (शायद कोई धब्बा या प्रिंटिंग दोष) और स्कैन को अस्वीकार कर देता है। यह एक सरल, अंतर्निहित त्रुटि-सुधार प्रणाली है।
सिम्बोलॉजी: सभी धारियाँ एक जैसी नहीं होतीं
"बारकोड" एक सामान्य शब्द है। डेटा को बार में बदलने के विशिष्ट नियमों को एक सिम्बोलॉजी द्वारा परिभाषित किया जाता है। दर्जनों हैं, लेकिन कुछ ही परिदृश्य पर हावी हैं।
| सिम्बोलॉजी | प्रकार | उपयोग का मामला | रोचक तथ्य |
|---|---|---|---|
| UPC-A | केवल न्यूमेरिक | उत्तरी अमेरिका में खुदरा उत्पाद। | पहला अंक उत्पाद के प्रकार को दर्शाता है (जैसे, मानक वस्तुओं के लिए 0, मांस जैसे यादृच्छिक वजन वाली वस्तुओं के लिए 2)। |
| EAN-13 | केवल न्यूमेरिक | उत्तरी अमेरिका के बाहर खुदरा उत्पाद। | UPC-A का एक सुपरसेट; 13वां अंक एक देश/सिस्टम उपसर्ग है। एक UPC कोड बस एक EAN कोड है जिसमें शुरुआत में '0' होता है। |
| Code 39 | अल्फ़ान्यूमेरिक | आंतरिक लॉजिस्टिक्स, एसेट टैग, औद्योगिक उपयोग। | पहले अल्फ़ान्यूमेरिक बारकोड में से एक। यह सरल है लेकिन बहुत सघन नहीं है (अपने द्वारा रखे गए डेटा के लिए बहुत अधिक जगह लेता है)। |
| Code 128 | फुल ASCII | आधुनिक वर्कहॉर्स। शिपिंग, लॉजिस्टिक्स, हेल्थकेयर। | अत्यधिक सघन और एक ही बारकोड के भीतर तीन अलग-अलग कैरेक्टर सेट (न्यूमेरिक, अपर-केस, फुल ASCII) के बीच चतुराई से स्विच करके सभी 128 ASCII कैरेक्टर को एन्कोड कर सकता है। |
डेटा से बार तक: एन्कोडिंग प्रक्रिया
आइए Flow1 डेटा के लिए एक Code 128 बारकोड बनाने की कल्पना करें।
- सिम्बोलॉजी चुनें: हम इसकी अल्फ़ान्यूमेरिक क्षमता के लिए Code 128 चुनते हैं।
- स्टार्ट कैरेक्टर: प्रक्रिया Code 128 "Start B" कैरेक्टर से शुरू होती है, जो यह संकेत देता है कि निम्नलिखित डेटा मानक अपर-केस अक्षर और संख्याएँ हैं।
- डेटा एन्कोड करें: एनकोडर Code 128 स्पेक में प्रत्येक कैरेक्टर के लिए पैटर्न देखता है।
Fबार-स्पेस-बार-स्पेस-स्पेस-बारजैसे पैटर्न में बदल जाता है (यह एक सरलीकरण है)।lअपने अनूठे पैटर्न में बदल जाता है।oअपने पैटर्न में बदल जाता है।wअपने पैटर्न में बदल जाता है।1अपने पैटर्न में बदल जाता है।
- चेक डिजिट की गणना करें: स्टार्ट कैरेक्टर और डेटा कैरेक्टर के मानों पर एक भारित मॉड्यूलो-103 एल्गोरिथ्म चलाया जाता है। मान लीजिए कि इस गणना का परिणाम
72आता है, जो कैरेक्टरHसे मेल खाता है। - इकट्ठा करें: प्रस्तुत किया जाने वाला अंतिम अनुक्रम है:
[Start B] [F] [l] [o] [w] [1] [H] [Stop]। - रेंडर करें: सॉफ्टवेयर आवश्यक शांत क्षेत्रों सहित पूरा पैटर्न बनाता है। मौलिक इकाई "मॉड्यूल" या "X-डायमेंशन" है, जो सबसे संकरी पट्टी की चौड़ाई है। अन्य सभी बार और स्पेस इस चौड़ाई के पूर्णांक गुणज होते हैं। यह सुनिश्चित करने के लिए एक उच्च-रिज़ॉल्यूशन प्रिंटर आवश्यक है कि ये चौड़ाई अनुपात पूरी तरह से बने रहें।
वास्तविक दुनिया की कहानियाँ
वेयरहाउस की उथल-पुथल
एक तेजी से बढ़ती ई-कॉमर्स कंपनी अपनी ही सफलता में डूब रही थी। वेयरहाउस में अराजकता थी। पिकर्स एक मुद्रित कागज की सूची का उपयोग करके अलमारियों से आइटम उठाते थे। कभी-कभी वे "Super-Widget 5000 Pro" के बजाय "Super-Widget 5000" उठा लेते थे। शिपिंग में गलतियाँ आम थीं, और इन्वेंट्री की गिनती एक सप्ताह तक चलने वाला, "सभी को काम पर लगा देने वाला" दुःस्वप्न था जो कभी भी वास्तविकता से मेल नहीं खाता था। समाधान एक टॉप-टू-बॉटम बारकोड कार्यान्वयन था। हर शेल्फ लोकेशन पर एक Code 39 लेबल लगा। हर उत्पाद को उसके अद्वितीय SKU के साथ एक Code 128 लेबल मिला। पिकर्स को हैंडहेल्ड स्कैनर दिए गए। अब, एक ऑर्डर आता है, स्कैनर उन्हें Aisle 17, Bay 3, Shelf 2 पर जाने के लिए कहता है। वे यह पुष्टि करने के लिए शेल्फ को स्कैन करते हैं कि वे सही जगह पर हैं, फिर उत्पाद को उठाते समय उसे स्कैन करते हैं। सिस्टम वास्तविक समय में पुष्टि करता है कि यह सही आइटम है। इन्वेंट्री अब लगातार सटीक है, और शिपिंग त्रुटियों में 95% से अधिक की गिरावट आई है।
सबक: बारकोड ऑटोमेशन की भाषा हैं, जो अराजक भौतिक स्थानों को क्वेरी करने योग्य, मशीन-प्रबंधित डेटाबेस में बदल देते हैं।
कॉन्फ्रेंस बैज की तबाही
एक डेवलपर कॉन्फ्रेंस का आयोजक लंबी चेक-इन लाइनों से तंग आ गया था। कर्मचारियों को एक स्प्रेडशीट पर प्रत्येक सहभागी का नाम ढूंढना पड़ता था, उन्हें चेक करना होता था, और उन्हें एक बैज देना होता था। यह धीमा और अवैयक्तिक था। अपने अगले कार्यक्रम के लिए, उन्होंने अपने पंजीकरण प्रणाली में एक बारकोड जनरेटर को एकीकृत किया। जब एक सहभागी ने पंजीकरण किया, तो सिस्टम ने एक अद्वितीय आईडी उत्पन्न की और उस आईडी को एन्कोड करने वाले Code 128 बारकोड के साथ एक टिकट बनाया। कार्यक्रम में, उपस्थित लोगों ने बस अपना फोन या एक प्रिंटआउट प्रस्तुत किया। एक साधारण USB स्कैनर वाले स्टाफ सदस्य ने कोड को स्कैन किया। बीप। सिस्टम ने तुरंत सहभागी के रिकॉर्ड को खींच लिया, मौके पर ही उनका बैज प्रिंट किया, और उन्हें चेक-इन के रूप में चिह्नित किया। पूरी प्रक्रिया में प्रति व्यक्ति पांच सेकंड से भी कम समय लगा।
सबक: बारकोड एक व्यक्ति और एक डिजिटल रिकॉर्ड के बीच अस्थायी, डिस्पोजेबल लिंक बनाने के लिए एकदम सही हैं, जो एक्सेस कंट्रोल और इवेंट मैनेजमेंट को सुव्यवस्थित करते हैं।
रोगी सुरक्षा नेट
एक अस्पताल में, गलत दवा या गलत खुराक देने के दुखद परिणाम हो सकते हैं। इसका मुकाबला करने के लिए, एक अस्पताल ने "क्लोज्ड-लूप मेडिकेशन एडमिनिस्ट्रेशन" प्रणाली लागू की। प्रत्येक रोगी एक कलाईबैंड पहनता है जिसमें उनकी अद्वितीय रोगी आईडी को एन्कोड करने वाला एक बारकोड होता है। हर दवा, एक IV बैग से लेकर एक ब्लिस्टर पैक में एक गोली तक, एक बारकोड के साथ लेबल की जाती है जिसमें उसका National Drug Code और लॉट नंबर होता है। कोई भी दवा देने से पहले, नर्स अपने आईडी बैज, रोगी के कलाईबैंड, और दवा को स्कैन करती है। सिस्टम मिलीसेकंड में सब कुछ क्रॉस-रेफरेंस करता है। यह "पांच अधिकारों" की पुष्टि करता है: सही मरीज, सही दवा, सही खुराक, सही तरीका, और सही समय। अगर कुछ भी गलत है—अगर यह गलत मरीज है, या मरीज को एलर्जी है, या खुराक गलत है—तो सिस्टम एक ज़ोरदार चेतावनी दिखाता है।
सबक: महत्वपूर्ण प्रणालियों में, बारकोड सत्यापन की एक शक्तिशाली, स्वचालित परत प्रदान करते हैं जो मानवीय त्रुटि की संभावना को समाप्त करता है।
आम गलतियाँ और जाल
- शांत क्षेत्र को अनदेखा करना: बारकोड को अन्य टेक्स्ट या लेबल के किनारे से बिल्कुल सटाकर प्रिंट करना। स्कैनर को कोड की शुरुआत और अंत को पहचानने के लिए दोनों तरफ उस खाली जगह की आवश्यकता होती है। इसके बिना, स्कैन रुक-रुक कर या पूरी तरह से विफल हो जाएंगे।
- काम के लिए गलत सिम्बोलॉजी का उपयोग: अक्षरों और प्रतीकों को UPC/EAN जैसे केवल-न्यूमेरिक बारकोड में एन्कोड करने का प्रयास करना। जनरेटर एक त्रुटि देगा, लेकिन यदि आप अपना स्वयं का सिस्टम बना रहे हैं, तो आपको अपनी चुनी हुई सिम्बोलॉजी की सीमाओं को जानना होगा।
- इसे बहुत छोटा बनाना: एक छोटी सी जगह में फिट करने के लिए बारकोड को सिकोड़ना एक अच्छा विचार लगता है जब तक कि कुछ भी इसे पढ़ न सके। स्कैनर के लेजर को सबसे संकीर्ण बार और स्पेस को अलग करने में सक्षम होना चाहिए। एक न्यूनतम आकार होता है, जिसे X-डायमेंशन के रूप में जाना जाता है, जिसके नीचे एक बारकोड अपठनीय हो जाता है।
- खराब कंट्रास्ट या बुरे रंग: क्लासिक सफेद पर काला एक कारण से स्वर्ण मानक है। स्कैनर लाल बत्ती का उपयोग करते हैं, जिसका अर्थ है कि वे लाल स्याही को सफेद के रूप में देखते हैं। लाल पृष्ठभूमि पर एक काला बारकोड प्रभावी रूप से अदृश्य है। आपको बार और स्पेस के बीच उच्च कंट्रास्ट की आवश्यकता है, इसलिए सफेद, पीले, या नारंगी पर नीला या काला सबसे अच्छा काम करता है।
- चेक डिजिट को भूल जाना: कुछ सिस्टम जो बारकोड का उपभोग करते हैं, उन्हें एक वैध चेक डिजिट की आवश्यकता होती है। यदि आप एक ऐसी सिम्बोलॉजी से बारकोड उत्पन्न करते हैं जो आमतौर पर एक का उपयोग करती है (जैसे Code 128 या UPC) लेकिन इसे छोड़ देते हैं, तो ये सिस्टम स्कैन को अस्वीकार कर देंगे।
यह आपके रडार पर क्यों होना चाहिए
एक डेवलपर के रूप में, आपको बारकोड के बारे में तब सोचना चाहिए जब भी आपको किसी भौतिक चीज़ और डेटा के एक टुकड़े के बीच एक लिंक बनाने की आवश्यकता हो।
- इन्वेंटरी और एसेट ट्रैकिंग: कंपनी के लैपटॉप, वेयरहाउस स्टॉक, या किराये के उपकरणों को ट्रैक करने के लिए एक सिस्टम बना रहे हैं? प्रत्येक आइटम पर एक बारकोड आपका प्रवेश बिंदु है।
- ई-कॉमर्स और लॉजिस्टिक्स: शिपिंग लेबल बना रहे हैं? लेबल पर वह बड़ा, जटिल ब्लॉक एक Code 128 या इसी तरह का उच्च-घनत्व वाला बारकोड है जिसमें ट्रैकिंग जानकारी होती है।
- इवेंट मैनेजमेंट: एक कॉन्सर्ट, कॉन्फ्रेंस, या मूवी के लिए टिकट बना रहे हैं? प्रत्येक टिकट पर एक अद्वितीय बारकोड वह तरीका है जिससे आप प्रवेश को मान्य करेंगे और डुप्लिकेट को रोकेंगे।
- प्रिंट और वेब को जोड़ना: आप किसी उत्पाद की पैकेजिंग पर एक बारकोड लगा सकते हैं जो उसके समर्थन पृष्ठ के URL, एक अद्वितीय छूट कोड, या एक उत्पाद पंजीकरण पहचानकर्ता को एन्कोड करता है।
मूल रूप से, जब भी आप किसी को किसी भौतिक वस्तु से एक सीरियल नंबर या एक आईडी को कंप्यूटर में हाथ से टाइप करते हुए देखते हैं, तो आपके दिमाग में एक छोटा अलार्म बजना चाहिए: "यहाँ बारकोड काम आ सकता है।"
और गहराई में जाएं
- Barcode on Wikipedia - इतिहास, शब्दावली और सिम्बोलॉजी के सामान्य अवलोकन के लिए निश्चित शुरुआती बिंदु।
- GS1 General Specifications - UPC/EAN के पीछे के मानक संगठन से विशाल, आधिकारिक बाइबिल। यह सघन लेकिन आधिकारिक है।
- Code 128 on Wikipedia - आज उपयोग में आने वाले सबसे बहुमुखी 1D बारकोड की तकनीकी संरचना में एक गहरा गोता।
- Code 39 on Wikipedia - एक पुरानी लेकिन अभी भी प्रासंगिक और समझने में आसान अल्फ़ान्यूमेरिक सिम्बोलॉजी का एक अच्छा स्पष्टीकरण।
- Anatomy of a Barcode - शांत क्षेत्रों और चेक डिजिट्स सहित, बारकोड के विभिन्न भागों के लिए एक स्पष्ट, सचित्र गाइड।