
Leichte Implementierung von Protocol Buffers in ANSI C für Mikrocontroller und speicherbeschränkte eingebettete Systeme, die eine effiziente Serialisierung und Deserialisierung strukturierter Daten ermöglicht.
Nanopb ist eine platzsparende Implementierung von Protocol Buffers in ANSI C. Sie eignet sich besonders für den Einsatz in Mikrocontrollern, passt aber in jedes speicherbegrenzte System.
Um die nanopb-Bibliothek zu verwenden, müssen Sie zwei Dinge tun:
Der einfachste Einstieg ist, sich das Projekt in "examples/simple" anzusehen. Es enthält ein Makefile, das unter den meisten Linux-Systemen direkt funktionieren sollte. Für jede andere Art von Build-System finden Sie die manuellen Schritte in der README.txt in diesem Ordner.
Der nanopb-Generator ist als Plugin für Googles eigenen protoc-Compiler implementiert. Dies hat den Vorteil, dass das grundlegende Parsen von .proto-Dateien nicht neu implementiert werden muss. Es bedeutet jedoch, dass Sie die Google-Protobuf-Bibliothek benötigen, um den Generator auszuführen.
Wenn Sie ein Binärpaket für nanopb heruntergeladen haben (entweder Windows-, Linux- oder Mac-OS-X-Version), ist die 'protoc'-Binärdatei im Ordner 'generator-bin' enthalten. In diesem Fall können Sie sofort loslegen. Führen Sie einfach diesen Befehl aus:
generator-bin/protoc --nanopb_out=. myprotocol.proto
Wenn Sie jedoch einen Git-Checkout oder eine reine Quellverteilung verwenden, müssen Sie Ihre eigene Version von protoc und die Google-Protobuf-Bibliothek bereitstellen. Unter Linux sind die erforderlichen Pakete protobuf-compiler und python-protobuf. Unter Windows können Sie entweder Googles Protobuf-Bibliothek aus dem Quellcode erstellen oder eine der Binärdistributionen davon verwenden. In beiden Fällen müssen Sie, wenn Sie einen separaten protoc verwenden, den Pfad zum nanopb-Generator manuell angeben:
protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
Wenn Sie die weitere Entwicklung des nanopb-Kerns durchführen oder seine Funktionalität mit Ihrem Compiler und Ihrer Plattform überprüfen möchten, sollten Sie die Testsammlung ausführen. Die Build-Regeln für die Testsammlung sind mit Scons implementiert, daher müssen Sie dieses installiert haben. Um die Tests auszuführen:
cd tests
scons
Dies zeigt den Fortschritt verschiedener Testfälle an. Wenn die Ausgabe nicht mit einem Fehler endet, waren die Testfälle erfolgreich.
Hinweis: Mac OS X legt standardmäßig 'clang' als 'gcc' fest, unterstützt aber nicht dieselben Befehlszeilenoptionen wie gcc. Um Tests unter Mac OS X auszuführen, verwenden Sie: "scons CC=clang CXX=clang". Auf die gleiche Weise können Tests mit verschiedenen Compilern auf jeder Plattform ausgeführt werden.