Využití knihovny pro serializaci dat v embedded systémech - Slavov, Jan (Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2023)
Tato diplomová práce se zabývá možnostmi využití serializačních knihoven pro komunikaci s embedded systémy. Serializace dat je proces, který převádí datové objekty uspořádané do složitých datových struktur na datový proud bytů. Takto serializovaná data je možné jednoduše přenášet mezi zařízeními, či ukládat. Serializace zároveň umožňuje přenos dat mezi aplikacemi na různých platformách i psaných různými programovacími jazyky. Jde tedy o platformně i jazykově neutrální přenos dat. Také řeší kompatibilitu při aktualizaci zpráv. Tato práce se bude zabývat především binární serializací, neboť je časově méně náročná a výsledné zprávy mají menší velikost. V této práci bude popsána práce s následujícími knihovnami pro serializaci dat: Flatbuffer, Protocol Buffer, Cap’n Proto. Tyto knihovny budou dále mezi sebou porovnány a z výsledků bude vybrána jedna knihovna. Pro tuto knihovnu je zde navržena demonstrační úloha. Ta bude realizována ve dvou verzích. První verze bude využívat vybranou knihovnu a druhá můj vlastní způsob serializace dat. Oba přístupy budou na konci této práce mezi sebou porovnány.

This diploma thesis deals with the possibilities of using serialization libraries for communication with embedded systems. Data serialization is a process that converts data objects organized into complex data structures into a stream of bytes. Data serialized in this way can be easily transferred between devices or stored. At the same time, serialization enables the platform to transfer data in a programing language-neutral manner. Also addresses compatibility when updating messages. This work will primarily deal with binary serialization, as it is less time-consuming and the resulting messages are smaller in size. This work will describe work with the following libraries for data serialization: Flatbuffer, Protocol Buffer, Cap'n Proto. These libraries will then be compared with each other and one library will be selected from the results. A demonstration task is designed for this library. It will be implemented in two versions. The first version will use the selected library and the second will use my own method of data serialization. Both approaches will be compared with each other at the end of this thesis.
Using the library for data serialization in embedded system
Keywords: embedded system; knihovna pro multiplatformní serializaci dat; serializace; komunikace; programování; C++; Flatbuffer; Protocol Buffer; Cap’n Proto; Raspberry Pi Pico; embedded system; cross platform serialization library; serialization; communication; programming; C++; Flatbuffer; Protocol Buffer; Cap’n Proto; Raspberry Pi Pico