Hello all,
I would like to design an IoT system which is able to send data with MQTT to AWS cloud.
From my understanding of the MQTT examples, I need to provided to the coreMQTT a transport interface. I have seen in examples that I could use TCP either in plaintext (for testing) or with TLS.
In my system, I want to transfer data to the cloud using a WIFI module (implemented on the PCB because no native WIFI on the MCU) and AT commands. These AT commands implement already a kind of TCP stack.
[MCU] <—AT commands with UART —> [ESP] <—WIFI—>[Cloud]
My question is the following :
Do I need to use a transport layer implementation using the FreeRTOS-Plus-TCP library or can I replaced the use of this library by an interface with my AT command driver ?
Schematically, I must choose between
- UserApp > coreMQTT > transport layer > FreeRTOS-Plus-TCP > AT commands
- UserApp > coreMQTT > transport layer > AT commands
I have the feeling without certitude that the TCP library has been developped with Ethernet physical interface in mind but it is not the solution towards I want to go.
For all of this reason I think I should go for the second option but maybe an experienced perspective would clarify the problem.
Thanks all for the answers.