Mar*_*her 5 gprs at-command esp8266
我使用 AT 命令与 ESP8266 的 Ai-Thinker A9G 芯片进行通信,作为 GPS 跟踪器单元的一部分。一开始工作正常,然后在成功发送 7 或 8 后 HTTPS 请求开始失败。然而,发出 HTTP 请求仍然没问题。
当 HTTP 请求工作正常时,什么可能导致 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
Run Code Online (Sandbox Code Playgroud)
然后每 N 分钟发布一次位置,如下:
AT+HTTPPOST="https://<URL>","application/x-www-form-urlencoded","arg1=val1&arg2=val2&..."
Run Code Online (Sandbox Code Playgroud)
前 7 或 8 次有效,之后所有 HTTPS 请求都会失败,并显示以下消息(完全按照从 A9G 芯片发送的方式复制,包括固件的拼写错误):
+CME ERROR: parameters are invalid
failure, pelase check your network or certificate!
Run Code Online (Sandbox Code Playgroud)
命令开始失败后,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
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
CGDCONT- 没有变化。AT+CGACT=0,1,AT+CGATT=0然后AT+CGREG=0重新启用它 - 没有变化。AT+HTTPGET请求而不是HTTPPOST- 没有改变。令人烦恼的是,A9/A9G 芯片的文档资料很少。其中大部分内容是中文 PDF 格式,无法很好地与谷歌翻译配合使用。这些是我发现的最有用的链接,可以将我上面的内容拼凑起来:
最后我联系了芯片制造商,解释了我遇到的问题,并建议固件中可能存在错误。他们回应并确认了情况确实如此,并表示该问题不太可能很快得到解决:
\n\n\n你好马克,
\n是的,我们现在发现很多A9G模块的问题反馈,包括你所说的,但现在我们没有足够的工程师来支持这个问题。
\n如果你有很大的数量要求,我只能尝试推。
\n此致,
\n- 海外团队
\n\xe6\xb7\xb1\xe5\x9c\xb3\xe5\xb8\x82\xe5\xae\x89\xe4\xbf\xa1\xe5\x8f\xaf\xe7\xa7\x91\xe6\x8a\x80\xe6 \x9c\x89\xe9\x99\x90\xe5\x85\xac\xe5\x8f\xb8
\n深圳市安信科科技有限公司
\n
我将其发布为答案而不是评论,因为它直接回答了我原始帖子顶部的主要问题:“当 HTTP 请求工作正常时,什么可能导致 HTTPS 请求在前 7 个或 8 个之后失败? ”。答:固件损坏。我最好的猜测是在分配和取消分配内存以处理 TLS 交换时出现错误,但这可能还很遥远。
\n对于遇到此问题的其他人,您有以下几种选择:
\n| 归档时间: |
|
| 查看次数: |
2091 次 |
| 最近记录: |