我有一个运行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/