
Implementazione leggera di Protocol Buffers in ANSI C per microcontrollori e sistemi embedded con memoria limitata, consentendo una serializzazione e deserializzazione efficiente di dati strutturati.
Nanopb è un'implementazione di Protocol Buffers di piccole dimensioni in ansi C. È particolarmente adatta per l'uso in microcontrollori, ma si adatta a qualsiasi sistema con memoria limitata.
Per utilizzare la libreria nanopb, è necessario fare due cose:
Il modo più semplice per iniziare è studiare il progetto in "examples/simple". Contiene un Makefile, che dovrebbe funzionare direttamente sulla maggior parte dei sistemi Linux. Tuttavia, per qualsiasi altro tipo di sistema di build, consultare i passaggi manuali in README.txt in quella cartella.
Il generatore nanopb è implementato come plugin per il compilatore protoc di Google. Questo ha il vantaggio che non è necessario reimplementare l'analisi di base dei file .proto. Tuttavia, significa che è necessaria la libreria protobuf di Google per eseguire il generatore.
Se hai scaricato un pacchetto binario per nanopb (versione Windows, Linux o Mac OS X), il binario 'protoc' è incluso nella cartella 'generator-bin'. In questo caso sei pronto per iniziare. Basta eseguire questo comando:
generator-bin/protoc --nanopb_out=. myprotocol.proto
Tuttavia, se stai utilizzando un checkout git o una distribuzione sorgente semplice, devi fornire la tua versione di protoc e la libreria protobuf di Google. Su Linux, i pacchetti necessari sono protobuf-compiler e python-protobuf. Su Windows, puoi compilare la libreria protobuf di Google dal sorgente o utilizzare una delle distribuzioni binarie. In entrambi i casi, se usi un protoc separato, devi fornire manualmente il percorso al generatore nanopb:
protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
Se vuoi sviluppare ulteriormente il core di nanopb, o verificarne la funzionalità usando il tuo compilatore e piattaforma, vorrai eseguire la suite di test. Le regole di build per la suite di test sono implementate usando Scons, quindi devi averlo installato. Per eseguire i test:
cd tests
scons
Questo mostrerà il progresso di vari casi di test. Se l'output non termina con un errore, i casi di test hanno avuto successo.
Nota: Mac OS X per impostazione predefinita alias 'clang' come 'gcc', pur non supportando effettivamente le stesse opzioni della riga di comando di gcc. Per eseguire i test su Mac OS X, usa: "scons CC=clang CXX=clang". Lo stesso metodo può essere usato per eseguire test con diversi compilatori su qualsiasi piattaforma.