我正在使用Rappberry 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机器人)发送命令时,卡在了一个功能上。例如,如果我想使用功能“ Forward”,即使下一个请求为“ turnleft”,它也将继续前进。如果我仅使用if语句,但是我希望我的机器人不断执行功能,直到我想使用其他功能,它就会起作用。功能Forward,TurnLeft,TurnRight,BasePosition中没有循环。