作为全球定位系统跟踪器的一部分,我使用AT命令与来自A9G的Ai-Thinker ESP8266芯片进行通信。它可以正常工作,然后HTTPS请求在成功发送7或8之后开始失败。但是,发出HTTP请求仍然很好。
是什么导致HTTPS请求在HTTPS请求正常工作的前7或8之后失败?
细节..。
当单元启动时,我使用以下方法来建立GPRS连接:
AT+CGREG=1
> OK
AT+CGATT=1
> +CGATT:1
> OK
AT+CGDCONT=1,"IP","data.uk" // APN for 1pmobile
> OK
AT+CGACT=1,1
> OK
AT+CGACT?
> +CGACT: 1, 1
> OK然后每N分钟发布一次位置,如下所示:
AT+HTTPPOST="https://<URL>","application/x-www-form-urlencoded","arg1=val1&arg2=val2&..."这可以在前7或8次工作,之后所有HTTPS请求都会出现以下消息失败(完全按照从A9G芯片发送的方式复制,包括固件的拼写错误):
+CME ERROR: parameters are invalid
failure, pelase check your network or certificate!在HTTPPOST命令开始失败后,我尝试了以下状态检查,但一切都表明芯片处于良好状态,并且仍然在线:
AT+CIPSTATUS
> +CIPSTATUS:
> STATE:IP INITIAL
AT+CGACT?
> +CGACT: 1, 1
> OK
AT+CGREG?
> +CGREG: 1, 1
> OK
AT+CGDCONT?
> +CGDCONT:1,"IP","data.uk","<IP address>",0,0
> OK我也试过:
CGDCONT中指定的APN -没有更改。AT+CGACT=0,1,AT+CGATT=0,AT+CGREG=0关闭网络连接,然后重新启用它-没有变化.AT+HTTPGET请求而不是HTTPPOST --没有改变。令人烦恼的是,A9/A9G芯片的文档很少。其中很大一部分是用中文的PDF格式编写的,与谷歌翻译没有很好的关系。这些是我发现的最有用的链接,可以把上面的内容拼凑在一起:
发布于 2021-08-14 12:59:19
最后,我联系了芯片制造商,解释了我遇到的问题,并建议固件中可能有错误。他们作出了答复并确认了这一情况,并表示不太可能很快解决:
你好马克 是的,我们现在发现了许多A9G模块的问题反馈,包括on,但是现在我们没有足够的工程师来支持这个问题。 只有当你有大量的需求时,我才能试着推。 我向你问好,
我将此作为回答而不是评论,因为它直接回答了我最初文章顶部的主要问题:“当HTTP请求正常工作时,是什么原因导致HTTPS请求在最初的7或8之后失败?”回答:坏固件。我最好的猜测是,在分配和取消分配内存以处理TLS交换时会出现错误,但这可能是远远不够的。
对于遇到此问题的其他任何人,您有几种选择:
https://stackoverflow.com/questions/68612918
复制相似问题