如何解决为什么我的源中的数值 0 不允许我在网页上拥有服务器?
首先...
#!/usr/bin/python3
from flask import Flask,render_template
import Adafruit_BBIO.GPIO as GPIO
import Adafruit_BBIO.PWM as PWM
from time import sleep
class Motors:
def __init__(self,dir_pin,pwm_pin,pwm_freq):
self.dir_pin = dir_pin
self.pwm_pin = pwm_pin
self.value = 0
PWM.start(pwm_pin,pwm_freq)
GPIO.setup(dir_pin,GPIO.OUT)
def set(self,value):
if value == self.value:
return
assert -100 <= value <= 100
if (value < 0) != (self.value < 0):
# changing direction
PWM.set_duty_cycle(self.pwm_pin,0)
GPIO.output(self.dir_pin,value < 0)
PWM.set_duty_cycle(self.pwm_pin,abs(value))
self.value = value
motor1 = Motors(dir_pin="P8_18",pwm_pin="P9_16",pwm_freq=1500)
motor2 = Motors(dir_pin="P8_16",pwm_pin="P9_14",pwm_freq=1500)
motor3 = Motors(dir_pin="P8_14",pwm_pin="P8_13",pwm_freq=1500)
motor4 = Motors(dir_pin="P8_26",pwm_pin="P8_19",pwm_freq=1500)
def set_motorOne(v1):
motor1.set(v1)
def set_motorTwo(v2):
motor2.set(v2)
def set_motorThree(v3):
motor3.set(v3)
def set_motorFour(v4):
motor4.set(v4)
app = Flask(__name__)
@app.route("/")
def homepage(title="homepage"):
return render_template("BootGoOne.html",title=title)
def add_motors_routeOne(state,v1):
@app.route("/" + state,endpoint=state)
def handlerOne():
set_motorOne(v1)
return homepage(title=state)
add_motors_routeOne('0',0)
add_motors_routeOne('10',10)
add_motors_routeOne('20',20)
add_motors_routeOne('30',30)
add_motors_routeOne('40',40)
add_motors_routeOne('50',50)
add_motors_routeOne('60',60)
add_motors_routeOne('70',70)
add_motors_routeOne('80',80)
add_motors_routeOne('90',90)
add_motors_routeOne('100',100)
add_motors_routeOne('-4',-4)
add_motors_routeOne('-10',-10)
add_motors_routeOne('-20',-20)
add_motors_routeOne('-30',-30)
add_motors_routeOne('-40',-40)
add_motors_routeOne('-50',-50)
add_motors_routeOne('-60',-60)
add_motors_routeOne('-70',-70)
add_motors_routeOne('-80',-80)
add_motors_routeOne('-90',-90)
add_motors_routeOne('-100',-100)
def add_motors_routeTwo(state,v2):
@app.route("/" + state,endpoint=state)
def handlerTwo():
set_motorTwo(v2)
return homepage(title=state)
add_motors_routeTwo('1',1)
add_motors_routeTwo('11',11)
add_motors_routeTwo('21',21)
add_motors_routeTwo('31',31)
add_motors_routeTwo('41',41)
add_motors_routeTwo('51',51)
add_motors_routeTwo('61',61)
add_motors_routeTwo('71',71)
add_motors_routeTwo('81',81)
add_motors_routeTwo('91',91)
add_motors_routeTwo('-1',-1)
add_motors_routeTwo('-11',-11)
add_motors_routeTwo('-21',-21)
add_motors_routeTwo('-31',-31)
add_motors_routeTwo('-41',-41)
add_motors_routeTwo('-51',-51)
add_motors_routeTwo('-61',-61)
add_motors_routeTwo('-71',-71)
add_motors_routeTwo('-81',-81)
add_motors_routeTwo('-91',-91)
看看哪里 add_motors_routeOne
的值为 0,add_motors_routeTwo
的值为 1?
好吧,该字段中的值 1 只是因为我无法确切地找出服务器通过错误代码 500 拒绝访问我的 .py 文件的原因。
因此,我将值 1 放在上面列出的第二个电机字段中。
...
这允许服务器停止拒绝我的请求。我可以使用 0 以外的其他值停止电机,但有问题的线路和/或引脚不会变低。
因此,我无法停止或取消 Linux SBC (BBBW),因为值 0 不在其各自的位置。
即使在负值中包含 add_motors_routeOne
、0 或任何其他类似的值,也会导致我的服务器运行“按钮”方面来控制电机的问题。
...
如果您在来源中看到我忽略的问题,请提供某种证据或相关信息。这可以使这个机器人恢复生机,并在调用禁用时禁用 pin。
解决方法
GPIO.output("Px_xx",GPIO.LOW) 对电机起到了作用。
因此,我在源中应用了 GPIO 引脚并将它们称为低电平或关闭。这奏效了。所以,现在一切正常,我失去了积分。是的!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。