SIM5320E-具有大数据的POST请求很慢

时间:2019-05-07 08:55:52

标签: http raspberry-pi iot

我已经使用树莓和sim5320E模块构建了一个原型。目标是使用此3G模块通过HTTP发送大量数据(〜100Kb)。

我已遵循SIM5320的AT命令集第16.5(HTTPS)节中指定的说明: https://cdn-shop.adafruit.com/datasheets/SIMCOM_SIM5320_ATC_EN_V2.02.pdf

它运行正常,但速度较慢。

根据我对文档的了解(以及从测试中看到的),必须将要发送的数据分成最大4096字节的块。

必须使用命令AT + CHTTPSSEND将每个块发送到所谓的“发送缓冲区”。

我们不时要使用AT + CHTTPSSEND检查发送缓冲区的缓存中是否有太多数据吗?命令。

最后一个AT + CHTTPSSEND命令将提交所有正在发送的数据。

我的问题是,每个AT + CHTTPSSEND大约需要10秒才能完成,这意味着我的HTTP请求将需要大约250秒才能完成。

有人知道什么可能导致这种缓慢吗?

以下是一些说明问题的代码:

    def send_chunk(self, chunk):

        # Send chunk
        self._send('CHTTPSSEND={}'.format(len(chunk)), wait_for=">")
        self._send_raw(chunk.encode())

        # Check how much data is left in the sending buffer
        # Wait for this data to be under 3Kb
        data_left = 3001
        while data_left > 3000:
            response = self._send('CHTTPSSEND?', wait_for="+CHTTPSSEND:")
            data_left = int(response.strip().split(" ")[1])
            time.sleep(2)

这是我得到的日志:

>> AT+CHTTPSSEND=4096     -> This commands takes ~10 seconds
<< >
>> Sending chunk of data
<< OK
>> AT+CHTTPSSEND?
<< +CHTTPSSEND: 0

0 个答案:

没有答案