代码之家  ›  专栏  ›  技术社区  ›  kishoreanand

Telit GSM/GPRS调制解调器HE910,AT#HTTPRCV给出错误

  •  1
  • kishoreanand  · 技术社区  · 9 年前

    我在项目中使用Telit调制解调器HE910: 在+CGMR 12.00.004

    好啊

    我正在通过无线方式实现固件更新,为此我需要从http链接下载固件。为了实现这一点,我使用AT#SD命令拨打了一个套接字,然后使用http一次下载512字节的文件,因为我的UART缓冲区限制。这工作正常,但下载文件需要太长时间。

    现在我正在尝试使用Telit HTTP客户端使用AT命令下载其他方法:

    在#HTTPCFG=0,“XXXXXXX”,80,0,,,0120,1

    AT#HTTPQRY=0,0,“/ud/myfirmware.hhex” 好啊

    HTTPRING:0200,“应用程序/八位字节流”,2083

    现在,如果我运行AT#HTTPRCV=0,我将获得固件数据:

    在#HTTPRCV=0 <<&书信电报;:100000000c500002fc600002dc600002bc6000072 :1000100029C6000027C6000025C6000023C6000030 :1000200021C600001FC600001DC600001BC6000040。。。。。。。。。。。。。。。

    但这对我的UART缓冲区来说太大了。 根据数据表,我可以使用AT#HTTPRCV命令部分下载,但当我执行以下命令时,我会收到错误:

    在#HTTPRCV=0,64时 +CME错误:4

    根据数据表: 描述 AT$HTTPRCV AT命令用于从远程服务器接收HTTP数据。

    AT#HTTPRCV=[,]--一次读取的最大字节数范围:0,64-1500(默认值为0,表示无限大)

    有人能帮我吗?

    1 回复  |  直到 9 年前
        1
  •  1
  •   allenster    9 年前

    我在运行12.00.614的Telit UL865-EUD时遇到了同样的问题。固件似乎不支持手册中说明的配置(CME ERROR 4表示不支持操作)。

    如果尝试AT#HTTPCFG=?,您将看到报告的参数也不包括AT命令手册中描述的pktsize变量。

    使用HTTPRCV的最佳方法是处理来自Telit的rcv缓冲区的数据,即<=300字节大小的块。