微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的源中的数值 0 不允许我在网页上拥有服务器?

如何解决为什么我的源中的数值 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 举报,一经查实,本站将立刻删除。