【Maixpy】maixpy发起GET请求,有时r.text运行时间较长(已解决)

2021-03-281.7万
AI 快速预览详细 收起
本文介绍了在使用Maixpy通过巴法云物联网平台连接小爱控制时,遇到的r.text运行时间较长的问题。通过串口调试发现,问题出在urequests.request方法未接收到完整的响应。为了解决这个问题,建议确保网络稳定并检查响应完整性。这样可以避免r.text执行时间过长,确保K210能够及时响应小爱同学的消息。


【背景描述】
想通过巴法云物联网平台连接小爱控制maixpy
【问题描述】
while循环代码如下,功能主要为request发起GET请求,然后根据解析返回的结果来控制灯
【Maixpy】maixpy发起GET请求,有时r.text运行时间较长(已解决)图1
但是循环中,有时程序会一直卡在r.text的执行上(不会卡死,过一段时间还是可以继续跑下去),想问一下该怎么解决或者优化这个问题,不然手机端
小爱同学发送消息后,K210这里不能及时接受到消息,卡在r.text好一会儿,给人一种延时的感觉。
【问题尝试解决】
1.大佬鼠说是网络问题,重新调试,我百度了下解决方法,很多说是在request中加个最大时间timeout参数,但是urequest中没有timeout这个参数
2.使用串口慢慢调试,不断发送
>>>r = urequests.request(method=method,url=url)
>>>r.text

结果有时可以很流畅的运行出结果,有时会卡在r.text运行上好一会,应该是网络问题
3.使用串口先发送
>>>r = urequests.request(method=method,url=url)
然后疯狂重复发送
>>>r.text
结果发现r.text都可以很快运行好,所以卡在r.text,应该是出在r = urequests.request(method=method,url=url)还没有接受到完整的response造成的

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
Sipeed-大佬鼠
Sipeed-大佬鼠
问题不出在这些经过封装的库,你想知道为什么会卡就去关注 socket 这个对象,并设置超时配置,改成非阻塞socket,想要优化这个接口,建议先在电脑上学习 Python3 的 socket 非阻塞用法。
- 没有更多了 -