I used `protoc --encode` (and `--decode`) to do something similar.
Didn't send it over HTTP but piped it to MQTT or serial ports.
Unfortunately, those options are poorly documented, so it took me some time to figure that out.
Unfortunately, those options are poorly documented, so it took me some time to figure that out.