我有一个运行MicroPython的NodeMCU ESP8266开发板。我在ESP8266上运行一个Web服务器。这是我基于这些板之一的第一个物联网项目。

下面是代码片段。

这是在main.py中执行的。时不时地,由于某种原因导致代码崩溃(也许基于计时和请求)。当main.py退出时,无论出于何种原因,我都会回到python CLI。

我希望这种情况发生时(如果没有更好的方法)将主板重置。

重新启动/重置ESP8266的最佳方法是什么?

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(addr)
s.listen(5)
print('listening on', addr)

while True:
    cl, addr = s.accept()
    print('client connected from', addr)
    cl_file = cl.makefile('rwb', 0)
    print("Request:")
    while True:
        line = cl_file.readline()
        print("Line:" , line)
        if not line or line == b'\r\n':
            print("breaking")
            break
        if line == b'GET /active HTTP/1.1\r\n':

最佳答案

您可以从 bootstrap 或main.py执行代码(该代码应位于main.py->其他文件之外)。如果退出,则应执行以下代码,这可能会触发重置。

您可能必须先捕获错误。

我希望我能帮上忙

关于iot - main.py崩溃后,如何重设ESP8266 MicroPython?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42605717/

10-12 03:21