I've got a device with multiple sensors that publishes each sensor reading separately to topics like
device1-id/sensor1-id = 10.2 device1-id/sensor2-id = 15.5 [...]
We feed it to AWS IoT using Amazon AWS IoT SDK, i.e.
mqtt_params.qos = QOS1; mqtt_params.payload = payload; mqtt_params.payloadLen = payload_len; rc = aws_iot_mqtt_publish(&client, topic, topic_len, &mqtt_params);
Each call generates a separate TCP packet and a separate response from AWS MQTT broker. The problem is that some of our nodes are on a very slow network and waiting for ACK after every packet delays the publishing.
Is there any way to bundle all the sensor readings together, to a single TCP packet, while publishing them into separate topics and keeping the QOS=1?