我正在尝试让RPi3机械手接受来自Web和触摸屏/键盘界面的命令。我有一个处理键盘的脚本,并且正在寻找我在Python中拥有的当前脚本以进行扩展以接受来自Web的实时输入。以及试图弄清楚如何将数据发送到脚本。
下面有更多详细信息,但这是基本问题。
我使用树莓派和3个arduinos创建了机器人,这些arduinos控制DC电动机和伺服器以使机器人移动。该程序是用Python编写的,并从命令行运行。运行时:
这一切都完美。现在我要扩展它。我想保持此功能不变并添加一个Web界面,以便可以从任何位置进行控制。我尝试了几种不同的方法,但均未成功。我已经安装了apache,并且可以为页面提供服务,我可以在页面上获取数据,但是我不知道如何获取将数据发送到正在运行的arduino脚本的网页。我的问题源于机器人控制脚本需要独立于网页运行的事实。我现在仍然希望通过键盘输入相同的内容,但是我也希望它接受来自网页的数据。如果每次我都从网页调用Bot控制器,则每次都需要重新建立端口连接,这最多需要20秒...
我在考虑,如果我创建一个侦听脚本,我可以让网站调用侦听器,该侦听器将仅运行以从Web接收数据并将其传递给机器人控制器并返回。但是我不确定该怎么做,或者这是否是最好的方法。
我看过websockets,CGI / wsgi,Flask,编写文件和JSON,但我似乎无法将它们全部串在一起。
如果在不合适的地方或之前已经回答过,请提前表示歉意。另外,我没有包含任何代码,因为唯一的可靠代码是机器人控制器。我希望有一些真正专业知识的人可以帮助我解决这个问题。
先谢谢 KenV
答案 0 :(得分:0)
我想说Flask是您最好的选择。有关如何使用它的简单示例:
from my_robot_stuff import move_forward
@app.route('/move_forward')
def move_forward_flask():
move_forward()
return redirect('/')
您的html将带有一个按钮,指示前进,指向mysite.com/move_forward。 flask将对其进行处理,运行代码,然后重定向回根目录。