custom transport to carry MQTT over CAN/TWAI
Posted: Thu Sep 14, 2023 9:15 pm
Hi!
In short: I'll need a custom transport to carry MQTT, which is not TCP-based. Is that doable? If yes, how could I do that, in broad strokes?
I have a work project that uses MQTT in an ESP32. That works well over Ethernet. They now need the MQTT to be carried over CAN Bus. The "other side" has not been decided yet but will likely be some application on a regular computer that translates from CAN frames to a direct localhost connection to an MQTT broker (or perhaps generic IP network). There will be layers on top of CAN, probably ISO-TP, likely UDS. I don't know yet what they'll come up with.
In any case, I'll probably need to establish an MQTT connection over a custom transport.
I've browsed the source in `esp-idf` and `esp-mqtt`. I see mention of `esp_transport_*` but at least one of those resides in `esp_transport_internal.h`. Sounds to me like I can't use that.
In short: I'll need a custom transport to carry MQTT, which is not TCP-based. Is that doable? If yes, how could I do that, in broad strokes?
I have a work project that uses MQTT in an ESP32. That works well over Ethernet. They now need the MQTT to be carried over CAN Bus. The "other side" has not been decided yet but will likely be some application on a regular computer that translates from CAN frames to a direct localhost connection to an MQTT broker (or perhaps generic IP network). There will be layers on top of CAN, probably ISO-TP, likely UDS. I don't know yet what they'll come up with.
In any case, I'll probably need to establish an MQTT connection over a custom transport.
I've browsed the source in `esp-idf` and `esp-mqtt`. I see mention of `esp_transport_*` but at least one of those resides in `esp_transport_internal.h`. Sounds to me like I can't use that.