I enjoyed working with probor, which is a protocol built on top of CBOR data format. I managed to turn JSON to CBOR on one side of a TCP socket, and decode it back to JSON on the other side (using serde_json). I failed, however, transporting that CBOR data over MQTT (using the oh-so-complex mqtt-rs).