构建Web服务器
在这一部分中,我们将开始构建将在Raspberry Pi上运行的Web服务器,并将接收命令以控制RC汽车。
使用的框架
我们将使用Bottle用于Python的轻量级网络框架。
这是我第一次使用Python构建Web服务器,这是一个非常肯定的体验。
使用Botter.py,您需要的只是:
-
创建一个文件,我将其命名为
server.py
。 -
创建一个路线。
-
并运行服务器。
运行服务器所需的最小代码是:
from bottle import route, run
@route('/')
def index():
return "Hello world"
run(host='localhost', port=8080)
要让同一网络上的其他设备连接到服务器,我们将将最后一行更改为run(host='0.0.0.0', port=8080)
就是这样,服务器正在运行,可以从同一网络中的其他设备访问。
创建路线
路线可以用不同的方式实现,但是为简单起见,我们将使用六个路线:
-
控制前轮的树路由:
/right
,/left
和center
。 -
控制后轮的树路由:
/forward/<speed>
,backward/<speed>
和/stop
。我们在拖车的第一条路线中使用通配符<speed>
,以使路线动态并改变汽车的速度。速度是一个可以从0变为100的INT,我将解释如何在下一个部分中使用它。
server.py的代码为:
from bottle import post, route, run
@route("/")
def index():
return "RC Car Server"
@route("/right")
def right():
return "Car turning right"
@route("/left")
def left():
return "Car turning left"
@route("/center")
def center():
return "Car turning center"
@route("/forward/<speed>")
def forward(speed):
return "Car running froward at speed : " + speed
@route("/backward/<speed>")
def backward(speed):
return "Car running backward at speed : " + speed
@route("/stop")
def stop():
return "Car stopped, the speed is : 0"
run(host="0.0.0.0", port=8080)
那就是服务器,我们将在接下来的部分中进行改进