2017-10-09 97 views
-1

我正在使用Python,Adafruit_BBIO用于GPIO和PWM,Flask和BeagleBone Black。借助所有这些工具和信息,我一直在关注“BeagleBone入门”一书(Richardson,2014)。RE:如何让Flask使用GPIO引脚通过BeagleBone Black在Linux上更改LED亮度?

考虑到这一点,这里是从文本我的软件:

from flask import Flask, render_template 
app = Flask(__name__) 
import Adafruit_BBIO.GPIO as GPIO 
import Adafruit_BBIO.PWM as PWM 

PWM.start("P8_13", 0.0) 

@app.route("/") 
def hello(): 
    if GPIO.input("P8_11"): 
     doorStatus = "open" 
    else: 
     doorStatus = "closed" 
    templateData = { 
     'doorStatus': doorStatus, 
    } 
    return render_template('main-door.html', **templateData) 

@app.route('/ledLevel/<level>') 
def pin_state(level): 
    PWM.set_duty_cycle("P8_13", float(level)) 
    return "LED level set to " + "." 

if __name__ == "__main__": 
    app.run(host='192.168.7.2', port=5000, debug=True) 

所以...我有:

瓶:v0.12.2 的Python:v2.7.13

我正在使用Debian Distro,Stretch中的4.9.x内核。

这是我打印出来的信息。运行软件时出现错误:

Image of Issue

终端进入调试器在线。我检查在线调试器,上面的链接是生成的。

Seth

P.S. NameError:未定义全局名称P8_11。

+0

有什么不清楚这个错误?你已经写了一个你没有在任何地方定义过的变量'P8_11'的名字。你是否想要传递字符串“P8_11”? – davidism

+0

你好...对不起。是的,这是我的特定电路板的一串“P8_11”。 –

+0

您在问题中提供的源代码与回溯中显示的摘录不匹配。 – duskwuff

回答

-1

BBB的功率限制。现在很多问题都与权力有关。如果选中

赛斯

+0

这没有任何意义的答案。功率限制不会导致这种类型的错误。 – duskwuff

+0

我得到它的工作。谢谢你的投票。 –

0
from flask import Flask, render_template 
app = Flask(__name__) 
import Adafruit_BBIO.GPIO as GPIO 
import Adafruit_BBIO.PWM as PWM 

GPIO.setup("P8_19", GPIO.OUT) 
PWM.start("P8_11", 0.0) 

@app.route("/") 
def hello(): 
    if GPIO.input("P8_19"): 
     doorStatus = "open" 
    else: 
     doorStatus = "closed" 
    templateData = { 
     'doorStatus': doorStatus, 
    } 
    return render_template('main-door.html', **templateData) 

@app.route('/ledLevel/<level>') 
def pin_state(level): 
    PWM.set_duty_cycle("P8_11", float(level)) 
    return "LED level set to " + "." 

if __name__ == "__main__": 
    app.run(host='192.168.7.2', port=5000, debug=True) 

这个更新的软件应该工作。我没有听到足够的在线调试器。

Seth

P.S.如果您需要额外支持Adafruit_BBIO,请查询https://github.com/adafruit/adafruit-beaglebone-io-python

+0

我将软件上的P8_针脚编号顶起来。它实际上是倒退的。 GPIO.setup是GPIO.setup(“P8_11”,GPIO.OUT),PWM.start是PWM.start(“P8_19,0.0)。对不起。 –

0

Debad Stretch上的PWM引脚对Adafruit_BBIO有一个错误。

Seth

P.S.备份到内核4.4.x而不是使用内核4.9.x.

相关问题