
Nanopb ansi C में लिखा गया एक छोटे कोड-आकार वाला प्रोटोकॉल बफ़र्स कार्यान्वयन है। यह विशेष रूप से माइक्रोकंट्रोलर में उपयोग के लिए उपयुक्त है, लेकिन किसी भी मेमोरी प्रतिबंधित सिस्टम में फिट बैठता है।
nanopb लाइब्रेरी का उपयोग करने के लिए, आपको दो काम करने होंगे:
शुरू करने का सबसे आसान तरीका "examples/simple" में प्रोजेक्ट का अध्ययन करना है। इसमें एक Makefile है, जो अधिकांश Linux सिस्टम पर सीधे काम करना चाहिए। हालाँकि, किसी भी अन्य प्रकार की बिल्ड प्रणाली के लिए, उस फ़ोल्डर में README.txt में दिए गए मैन्युअल चरण देखें।
nanopb जनरेटर Google के स्वयं के protoc कंपाइलर के लिए एक प्लगइन के रूप में कार्यान्वित किया गया है। इसका लाभ यह है कि .proto फ़ाइलों के बुनियादी पार्सिंग को फिर से लागू करने की कोई आवश्यकता नहीं है। हालाँकि, इसका अर्थ यह है कि जनरेटर चलाने के लिए आपको Google की protobuf लाइब्रेरी की आवश्यकता है।
यदि आपने nanopb के लिए एक बाइनरी पैकेज डाउनलोड किया है (Windows, Linux या Mac OS X संस्करण), तो 'protoc' बाइनरी 'generator-bin' फ़ोल्डर में शामिल है। इस स्थिति में, आप शुरू करने के लिए तैयार हैं। बस यह कमांड चलाएँ:
generator-bin/protoc --nanopb_out=. myprotocol.proto
हालाँकि, यदि आप git चेकआउट या एक सादा स्रोत वितरण उपयोग कर रहे हैं, तो आपको protoc और Google की protobuf लाइब्रेरी का अपना संस्करण प्रदान करना होगा। Linux पर, आवश्यक पैकेज protobuf-compiler और python-protobuf हैं। Windows पर, आप Google की protobuf लाइब्रेरी को स्रोत से बना सकते हैं या उसके किसी बाइनरी वितरण का उपयोग कर सकते हैं। किसी भी स्थिति में, यदि आप एक अलग protoc का उपयोग करते हैं, तो आपको nanopb जनरेटर का पथ मैन्युअल रूप से देना होगा:
protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
यदि आप nanopb कोर का आगे विकास करना चाहते हैं, या अपने कंपाइलर और प्लेटफ़ॉर्म का उपयोग करके इसकी कार्यक्षमता सत्यापित करना चाहते हैं, तो आप परीक्षण सूट चलाना चाहेंगे। परीक्षण सूट के लिए बिल्ड नियम Scons का उपयोग करके कार्यान्वित किए गए हैं, इसलिए आपको उसे स्थापित करना होगा। परीक्षण चलाने के लिए:
cd tests
scons
यह विभिन्न परीक्षण मामलों की प्रगति दिखाएगा। यदि आउटपुट किसी त्रुटि पर समाप्त नहीं होता है, तो परीक्षण मामले सफल रहे।
नोट: Mac OS X डिफ़ॉल्ट रूप से 'clang' को 'gcc' के रूप में उपनामित करता है, जबकि वास्तव में gcc के समान कमांड लाइन विकल्पों का समर्थन नहीं करता है। Mac OS X पर परीक्षण चलाने के लिए, उपयोग करें: "scons CC=clang CXX=clang"। इसी तरह का उपयोग किसी भी प्लेटफ़ॉर्म पर विभिन्न कंपाइलरों के साथ परीक्षण चलाने के लिए किया जा सकता है।