0

我正在使用通过 Raspberry Pi 上的 HTTPRequestHandler 从 android 应用程序发送的命令来控制机器人。

class RequestHandler_httpd(BaseHTTPRequestHandler):   
  def do_GET(self):
    global Request
    messagetosend = bytes('x',"utf")
    self.send_response(200)
    self.send_header('Content-Type', 'text/plain')
    self.send_header('Content-Length', len(messagetosend))
    self.end_headers()
    self.wfile.write(messagetosend)
    Request = self.requestline
    Request = Request[5 : int(len(Request)-9)]
    print(Request)
    global hight, speed, sleep
    while Request == 'forward':
        Forward()
    while Request == 'turnleft':
        TurnLeft()
    while Request == 'turnright':
        TurnRight()
    while Request == 'base':
        BasePosition()
    return

我的问题是,当我从手机发送基本上是 ip:port/x 的命令时,机器人会卡在一个功能上。例如,如果我想使用“前进”功能,即使下一个请求是“左转”,它也会继续前进。如果我只使用 if 语句,它就可以工作,但我希望我的机器人不断执行功能,直到我想使用不同的功能。Forward、TurnLeft、TurnRight、BasePosition 函数中没有循环。

4

0 回答 0