在micropython中使用多种方法的asyncio

时间:2018-02-01 16:01:47

标签: python-3.x python-asyncio micropython

当我运行以下代码时,它会运行并打印("倾听,将您的APP连接到http://192.168.4.1:8080/")并等待请求作为Web服务器。在Web服务器模式下,我希望LED闪烁,这就是我应用const char[5]的原因。

但是,除非它收到任何请求(激活Web服务器中的asyncio循环),否则LED不会响应。我尝试了很多方法,但在Web服务器模式下我无法找到切换LED的方法。您可以在下面的代码中看到有关While True:的评论:

await asyncio.sleep(20)

1 个答案:

答案 0 :(得分:2)

您的webServer异步功能并非真正异步,因为它使用阻止IO 。您至少需要将套接字设置为非阻塞模式并使用套接字操作provided by asyncio,或者甚至更好地使用asyncio.start_server来实现异步网络服务器。

请参阅asyncio文档或this answer例如。