从Javascript发布变量值并用Python读取它们(UV4L、WebRTC、Raspberrypi3)

从Javascript发布变量值并用Python读取它们(UV4L、WebRTC、Raspberrypi3),javascript,python,raspberry-pi,raspberry-pi3,uv4l,Javascript,Python,Raspberry Pi,Raspberry Pi3,Uv4l,我正在从事一个项目,我们计划通过一个基于web的应用程序控制一辆漫游车。我在树莓皮上使用UV4L及其模块。我已经很好地设置了流媒体端,但现在我正在尝试将数据发送回Pi 我已经把这个放进了演示网页 我想做的是获取这个操纵杆产生的X和Y值,并将其发送回Pi,让它打印这些值。我一直试图这样做的方式是将X和Y值转换为JSON,并用Python读取JSON。我对编程比较陌生,已经陷入众所周知的深渊 我试着使用另一个例子,我在另一个例子中发现,这是我在代码中制作的: var xhr=new-XMLHttpR

我正在从事一个项目,我们计划通过一个基于web的应用程序控制一辆漫游车。我在树莓皮上使用UV4L及其模块。我已经很好地设置了流媒体端,但现在我正在尝试将数据发送回Pi

我已经把这个放进了演示网页

我想做的是获取这个操纵杆产生的X和Y值,并将其发送回Pi,让它打印这些值。我一直试图这样做的方式是将X和Y值转换为JSON,并用Python读取JSON。我对编程比较陌生,已经陷入众所周知的深渊

我试着使用另一个例子,我在另一个例子中发现,这是我在代码中制作的:

var xhr=new-XMLHttpRequest();
var url=“webappurl”;
xhr.open(“POST”,url,true);
setRequestHeader(“内容类型”、“json”);
xhr.onload=函数(){
如果(xhr.readyState==4&&xhr.status==200){
var json=json.parse(xhr.responseText);
log(json.x+,“+json.y);
}
};
var data=JSON.stringify({x,y});
发送(数据);
然后,我在Python端执行了以下操作:

import requests
import simplejson
r = requests.get('webappurl')
c = r.content
j = simplejson.loads(c)
print(j)
我一直面临的问题是,我在网上找到的每件事都有不同的建议,我无法在其他人的项目中找到我可以用于我们的目的的东西,或者有适应的知识,我需要让它尽可能直接/简单

我的印象是,操纵杆可能已经内置了可用于触发或post的功能/变量

任何关于这方面的最佳方法或正确代码的建议都将不胜感激-我也有可用的WebRTC数据通道,但我不知道是否需要使用它们来实现这一点

我还想知道是否有办法通过websocket发送变量值并使用python解析websocket


感谢您的时间,

因为您正在开发一个web应用程序,所以使用WebRTC似乎很自然。UV4L支持双向音频、视频和数据通道。这是数据通道在UV4L端的工作方式


此外,作为示例,您可以从uv4l服务器上的/stream/WebRTC URL获取的内置WebRTC演示页面肯定嵌入了一些使用客户端数据通道的javascript代码。您也可以在另一个演示web应用程序中找到一些代码。

我正在使用演示web应用程序,我遇到的问题是发布任何东西我在网页上添加了一个新东西,我尝试复制脚本,但实际上只是为了点击按钮和内置的Open CV,我尝试获取变量值并将其发送回pi。我认为通过数据通道发布数据的关键部分是在演示应用程序中的signaling.js文件中。很容易删除所有内容如果你不需要剩下的东西。