使用Raspberry Pi控制RC汽车(第2部分:Web服务器)
#初学者 #python #raspberrypi #unity3d

构建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/leftcenter

  • 控制后轮的树路由:/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)

那就是服务器,我们将在接下来的部分中进行改进