我试图完成的工作流程如下。
- 有与一群范围滑块元件的一个jQuery移动UI。 每一个是用于控制不同的功能。
- 当用户移动并释放这些滑块中的任何一个,应该触发一个jQuery事件,使得AJAX调用(我不在乎,如果它使用JSON,XML,POST等 - 最快最好)
- Ajax调用包含什么滑盖信息很感动,以及它的新值(例如:ID = slider1,值= 215)
- Ajax的执行在CGI bin中读取ID和值,并且控制部分硬件经由串行连接到我树莓PI(覆盆子PI也运行的网络服务器)一个Python脚本。
我有一帮滑块的一个jQuery UI。 每个滑块的代码如下所示:
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<div class="rgbw_label"><label for="red_slider">
Red:
</label></div>
<input type="range" id="red_slider" name="red_slider" value="0" min="0" max="255" data-highlight="true" />
</fieldset>
</div>
需要有一些相关的JQuery的,做这样的事情:
$(document).ready(function () {
$.ajax({
type: "POST",
url: "cgi-bin/command.py",
success: function (msg)
{
alert("Data Saved: " + msg);
}
});
});
显然,两个主要的东西都改一下JS。 首先,它需要当滑块被释放(未在页面加载)来执行,和第二它需要实际滑块的值传递给Python脚本一些如何。 我把它像这样只是为了测试。 当我加载该页面,此测试仪Python脚本被正确地执行,并且连接到树莓裨一些硬件是否正常控制。 我知道我应该使用slidestop事件 ,但我不能得到它的工作。 我也不能确定什么是对一些变量发送到python脚本的最佳方式。
我的python脚本是这样的,就是现在!#在/ usr / bin中/蟒蛇
import cgi
import serial
ser = serial.Serial('/dev/ttyUSB0', 57600)
ser.write("Hello, this is a command!\n") # write a string
ser.close()
因此,它不找任何类型的输入数据,它只是被调用,并写入一些串行数据。 它应该能够从AJAX调用接收数据,并据此调整其接收到的信息的串行编程命令。 我需要帮助获得该信息,到我可以工作变量。 我想我也应该传回一些“我做完了”的消息回给JavaScript调用函数。
我期待着这人可能有或高层次的问题,或方式来解决,我已经在这里列出更具体的问题,任何见解。
谢谢!