Javascript 如何将伺服值设置为python变量的限制

Javascript 如何将伺服值设置为python变量的限制,javascript,jquery,python,Javascript,Jquery,Python,我通过我的web应用程序控制伺服电机。我有两个按钮,左边和右边。当每一个按钮都被点击时,伺服应根据按钮稍微向左或向右转动。我正在使用jQuery.post()函数发布到python函数turnCamera。 我的问题如下: 如何确保每次调用该函数时不会超过伺服值的限制,并且无需重置m的值?根据我的脚本,我认为每次调用m时,它的值都将重置为1500,这将导致伺服仅转到2个位置!空档位置(90度)为1500。m的最小值和最大值分别为500和2500。任何超出该范围的值都会对我的伺服系统造成伤害。 另

我通过我的web应用程序控制伺服电机。我有两个按钮,左边和右边。当每一个按钮都被点击时,伺服应根据按钮稍微向左或向右转动。我正在使用jQuery
.post()
函数发布到python函数
turnCamera
。 我的问题如下:

如何确保每次调用该函数时不会超过伺服值的限制,并且无需重置
m
的值?根据我的脚本,我认为每次调用
m
时,它的值都将重置为1500,这将导致伺服仅转到2个位置!空档位置(90度)为1500。
m
的最小值和最大值分别为500和2500。任何超出该范围的值都会对我的伺服系统造成伤害。 另外,python真的会这样运行吗?如何查看打印的输出?我使用的
done
功能正确吗

以下是我的HTML和jQuery的一部分:

<script>
    $(document).ready(function(){

        $('#left_button').click(function(){
            $.post('cameraservo.py/turnCamera', {direction:"left"}).done(function (reply) {
                $('#camerapos').html(reply)});
        });
        $('#right_button').click(function(){
            $.post('cameraservo.py/turnCamera', {direction:"right"}).done(function (reply) {
                $('#camerapos').html(reply)});
        });
    });
</script>

 <div id="control_button">
    <img src="button_left.png" id="left_button" height="50" width="50">
    <img src="button_right.png" id="right_button" height="50" width="50">
 </div>

$(文档).ready(函数(){
$(“#左按钮”)。单击(函数(){
$.post('cameraservo.py/turnCamera',{direction:“left”}).done(函数(回复){
$('#camerapos').html(回复)});
});
$(“#右键”)。单击(函数(){
$.post('cameraservo.py/turnCamera',{direction:“right”}).done(函数(回复){
$('#camerapos').html(回复)});
});
});
我的Python代码:

def turnCamera (self, **data):

import pigpio
import time

# import serial
# def servo_control(command):
    # serialport= serial.Serial ("/dev/ttyACM0", 9600, timeout=0.5)
    # serialport.write(command)
    # return serialport.readlines(1)

servos=[4]
key = data['direction']

m=1500 #what to do with this??
while (m >= 500 and m <= 2500):
    if key="left":
        m=m+100
    else if key="right":
        m=m-100

pigpio.start()

pigpio.set_servo_pulsewidth(servos[0], m) 
print("Servo {} {} micro pulses".format(servos[0], key, m))
time.sleep(1)

pigpio.stop()
def turnCamera(自身,**数据):
进口pigpio
导入时间
#导入序列号
#def伺服控制(命令):
#serialport=serial.serial(“/dev/ttyACM0”,9600,超时=0.5)
#serialport.write(命令)
#返回serialport.readlines(1)
伺服=[4]
键=数据[“方向”]
m=1500#这怎么办??

当(m>=500和m时,你有两个不相关的问题。它们也应该是关于stackoverflow的独立问题。怎么不相关?你是指URL部分?好的,我将删除它。谢谢。