OVMS3-idf/components/protocomm/proto
Anurag Kar 84f094453b Examples : Added provisioning examples, tests and client tool.
* BLE and softAP provisioning examples added along with tests.
* An application specific example added for demonstrating custom provisioning scheme.
* tools/esp_prov/esp_prov.py can be used as a provisioning client for SoftAP, BLE and CLI based transports.

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
..
constants.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
makefile Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
README.md Examples : Added provisioning examples, tests and client tool. 2018-10-02 19:07:28 +05:30
sec0.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
sec1.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30
session.proto Protocomm : Added component core for protocol communication 2018-10-02 19:07:28 +05:30

Protobuf files for implementing protocol communication packets

Protocomm uses Google Protobuf for language, transport and architecture agnostic protocol communication. These proto files define the protocomm packet structure, separated across multiple files:

  • contants.proto - Defines the "Status" structure for conveying the success or failure of a single protocomm transaction
  • sec0.proto - Defines the Security0 Command and Response packet structures
  • sec1.proto - Defines the Security1 Command and Response packet structures
  • session.proto - Defines the protocomm transacion packets for session establishment which internally has a Security packet as payload

Note : These proto files are not automatically compiled during the build process.

Run "make" (Optional) to generate the respective C and Python files. The generated C files are used by protocomm itself to create, delete and manipulate transaction packets. The generated Python files can be used by python based applications for implementing client side interface to protocomm layer.

Compilation requires protoc (Protobuf Compiler) and protoc-c (Protobuf C Compiler) installed. Since the generated files are to remain the same, as long as the proto files are not modified, therefore the generated files are already available under "protocomm/proto-c" and "protocomm/python" directories, and thus running make (and installing the Protobuf compilers) is optional.