python - 如何修复树莓派中的 IOError?
问题描述
Traceback (most recent call last):
File "RoomCheck.py", line 4, in <module>
from grove_rgb_lcd import *
File "build/bdist.linux-armv7l/egg/grove_rgb_lcd.py", line 33, in <module>
...skip
会生成这些错误。
我还附上了错误捕获:
代码:
from flask import Flask
from flask import render_template
from grovepi import *
from grove_rgb_lcd import *
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
app = Flask(__name__)
@app.route("/read/<port>")
def readGpio(port):
try:
GPIO.setup(int(port), GPIO.IN)
if GPIO.input(int(port)) == True:
AHour = 0
AMin = 0
BHour =0
BMin = 0
A_Check = 0
B_Check = 0
if port == 4:
if A_Check == 0:
A_Check = 1
setRGB(0,128,64)
setRGB(0,255,0)
setText("A goes out")
res = "A_Check is" + A_Check +"\n" + "B_Check is" +
B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
else:
A_Check = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("A cames in")
AHour = 0
AMin = 0
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
elif port ==17:
AHour += 1
if AHour > 24:
AHour = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("A : " + AHour + "H" + AMin + "M")
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
elif port ==27:
AMin += 5
if AMin>60:
AMin = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("A : " + AHour + "H" + AMin + "M")
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
elif port ==23:
if B_Check == 0:
B_Check = 1
setRGB(0,128,64)
setRGB(0,255,0)
setText("B goes out")
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
else:
B_Check = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("B cames in")
BHour = 0
BMin = 0
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
elif port ==24:
BHour += 1
if BHour > 24:
BHour = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("B : " + BHour + "H" + BMin + "M")
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
elif port ==25:
BMin += 5
if BMin>60:
BMin = 0
setRGB(0,128,64)
setRGB(0,255,0)
setText("B : " + BHour + "H" + BMin + "M")
res = "A_Check is" + A_Check +"\n" + "B_Check is" + B_Check +"\n" + "A : " + AHour + "H" + AMin + "M" +"\n" + "B : " + BHour + "H" + BMin + "M"
except:
res = "Read error from GPIO " + port + "."
templateData = {
'title' : 'Check our RoomMate',
'res' : res
}
return render_template('gpio.html', **templateData)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8888, debug=True)
解决方案
推荐阅读
- excel - 针对具有字符串数据的列(Excel、VBA、宏)循环和扫描例如 200 个字符串的列表
- android - 构建 Ionic React android 应用程序后卡在白屏
- sitefinity - 如何将我的代码集成到 sitefinity 项目中
- c - 我能做些什么来解决这个问题?
- r - 在双循环中在 R 中创建数据框
- jenkins - How to download latest artifact from nexus using jenkins pipeline?
- c# - 从 C# 中的 TTF 文件中获取字形名称
- c# - 使用 SetParameterValue 将空日期传递给水晶报表参数
- git - 与 Visual Studio (2017)、小团队、多个项目集成的源代码控制的最佳选择是什么?
- c# - 获取.Net Core 3.1 单文件可执行版本号