ESP32 MQTT Paket size
ESP32 MQTT Paket size
Hello all,
I have a mqtt applecation using esp32 board.
I have 2 questions:
1) In which document can I find information about the MTU WIFI size of an ESP32? I have googled that and in the other forums they say 1500 Byte but I cant find the Information in the datasheet or in a specific document.
2) The maximum mqtt message size is 256 MB that means we can send 256 MB messages with mqtt but at the same time we are limited by the MTU size so that we can max send 1500 Byte messages. Do I understand this correctly?
Thanks in advance
regards
msawaf
I have a mqtt applecation using esp32 board.
I have 2 questions:
1) In which document can I find information about the MTU WIFI size of an ESP32? I have googled that and in the other forums they say 1500 Byte but I cant find the Information in the datasheet or in a specific document.
2) The maximum mqtt message size is 256 MB that means we can send 256 MB messages with mqtt but at the same time we are limited by the MTU size so that we can max send 1500 Byte messages. Do I understand this correctly?
Thanks in advance
regards
msawaf
Re: ESP32 MQTT Paket size
Yes. Note you can send packets larger than 1500 bytes, they'll simply get sent in chunks of 1500 bytes and reassembled automatically on the other side.
Re: ESP32 MQTT Paket size
so no data will be lost right?Yes. Note you can send packets larger than 1500 bytes, they'll simply get sent in chunks of 1500 bytes and reassembled automatically on the other side.
But I think getting the data in chunks and reassembled the data will slow dow the speed connection is that right?
Re: ESP32 MQTT Paket size
No data will be lost. Not sure what you compare the speed to when you say 'will slow down the speed'... there's no way to get a greater MTU as it's a property of the WiFi protocol, not specifically of the ESP32.
Re: ESP32 MQTT Paket size
I have not found this to be the case. If my MQTT packet size is larger than MTU, the transmission fails.
Am I missing something as this is what I really want?
Am I missing something as this is what I really want?
Re: ESP32 MQTT Paket size
Could be that fragmenting and reassembly is somehow disabled in the LWIP config, you could check menuconfig to see if that is the case.
-
MicroController
- Posts: 2661
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: ESP32 MQTT Paket size
1. "fails" = what? Any error code/message?If my MQTT packet size is larger than MTU, the transmission fails.
2. What maximum acceptable MQTT packet size does the server announce?
Re: ESP32 MQTT Paket size
I am having a strange problem. From the doc:Yes. Note you can send packets larger than 1500 bytes, they'll simply get sent in chunks of 1500 bytes and reassembled automatically on the other side.
ForMQTT_EVENT_DATA: The client has received a publish message. The event data contains: message ID, name of the topic it was published to, received data and its length. For data that exceeds the internal buffer, multiple MQTT_EVENT_DATA events are posted and current_data_offset and total_data_len from event data updated to keep track of the fragmented message.
esp_mqtt5_connection_property_config_t.maximum_packet_size I set 2 MB. Then why do I get:
mqtt5_client: Connect maximum_packet_size property is over buffer_size(4096), Please first change it
Because I thought esp_mqtt_client_config_t.buffer.size was the internal buffer (that I set to 4KB)
Edit: Created this issue ticket: https://github.com/espressif/esp-mqtt/issues/319
-
MicroController
- Posts: 2661
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: ESP32 MQTT Paket size
You can set the "buffer size" via esp_mqtt_client_init() (esp_mqtt_client_config_t::buffer::size).
Re: ESP32 MQTT Paket size
Thats correct, but messages to be received can be larger than the buffer defined in esp_mqtt_client_init.You can set the "buffer size" via esp_mqtt_client_init() (esp_mqtt_client_config_t::buffer::size).
Who is online
Users browsing this forum: Applebot, Baidu [Spider], trendictionbot and 5 guests
